How to reset opFlow - opFlowSP

The opFlow CLI provides methods to reset the database.

Stop the relevant services:

service opflowd stop
service omkd stop

Drop and Prime the Database

By default, all opFlow data is stored in a database named 'flows', this is configurable and opCommon.nmis has this setting which defines the dbname used 'opflow_db_name' => "flows".

NOTE about DB size: when re-creating the database using opflow-cli, the following config variables will be used to determine how large to make the collections 'opflow_db_conversations_collection_size' => '16106127360' (15G), 'opflow_db_flows_collection_size' => 5368709120 (5G).  These can be changed or overridden on the CLI by specifying usepercent=NN, which calculates the size the db will use based off of the percentage of of disk specified.

There are two options to clean up database data.

  1. Remove all data, start from scratch. (See note above regarding db size)

    # drop and re-create with correct size
    /usr/local/omk/bin/opflow-cli.pl act=setup-db drop=true
    # add auth to new db
    /usr/local/omk/bin/setup_mongodb.pl

  2. Drop flow/conversation data, keep all other data.

    1. First Back up data to keep

      # Replace the username and password appropriately
      mongodump -u opUserRW -p op42flow42 -d flows -c customapps -o .
      mongodump -u opUserRW -p op42flow42 -d flows -c endpoints -o .
      mongodump -u opUserRW -p op42flow42 -d flows -c filters -o .
      mongodump -u opUserRW -p op42flow42 -d flows -c iana -o .
      mongodump -u opUserRW -p op42flow42 -d flows -c report_data -o .
    2. Drop the database and re-create it. (See note above regarding db size)

      # drop and re-create with correct size
      /usr/local/omk/bin/opflow-cli.pl act=setup-db drop=true
      # add auth to new db
      /usr/local/omk/bin/setup_mongodb.pl
    3. Restore data 

      /usr/local/mongodb/bin/mongorestore -u opUserRW -p op42flow42 -d flows -c customapps customapps.bson
      /usr/local/mongodb/bin/mongorestore -u opUserRW -p op42flow42 -d flows -c endpoints endpoints.bson
      /usr/local/mongodb/bin/mongorestore -u opUserRW -p op42flow42 -d flows -c filters filters.bson
      /usr/local/mongodb/bin/mongorestore -u opUserRW -p op42flow42 -d flows -c iana iana.bson
      /usr/local/mongodb/bin/mongorestore -u opUserRW -p op42flow42 -d flows -c report_data report_data.bson

Last step

Start all daemons back up. 

service opflowd start
service omkd start