Changes between Version 5 and Version 6 of FlowVisor


Ignore:
Timestamp:
11/28/12 09:28:05 (11 years ago)
Author:
Josh Smift
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FlowVisor

    v5 v6  
    4343Since most of our !FlowVisor instances are managed by FOAM, when we upgrade !FlowVisor, we typically just test FOAM to make sure that everything still works as expected.
    4444
    45 == Useful fvctl commands ==
     45== Useful commands ==
    4646
    47 Here are some useful fvctl commands; run these on the system that runs the !FlowVisor you want to configure, with the fvadmin password in /etc/flowvisor/fvpasswd.
     47Here are some useful fvctl and fvconfig commands; run these on the system that runs the !FlowVisor you want to configure, with the fvadmin password in /etc/flowvisor/fvpasswd.
    4848
    49 == Show the flowspace ==
     49NOTE that fvctl can only be run when !FlowVisor is ''running'', and fvconfig can only be run when !FlowVisor is '''not running'''.
     50
     51=== Dump the database to a JSON file ===
     52
     53{{{
     54fvctl --passwd-file=/etc/flowvisor/fvpasswd dumpConfig /tmp/config.json
     55}}}
     56
     57This creates a JSON version of the !FlowVisor DB, including state (like slice and flowspace rule information) and configuration settings.
     58
     59The last argument is the output file to use, and can be something other than /tmp/config.json, as long as it's writable by the 'flowvisor' user.
     60
     61=== Load a JSON file into the DB ===
     62
     63NOTE that fvconfig can only be run when !FlowVisor is '''not running'''.
     64
     65NOTE that this completely and irrevocably overwrites your existing !FlowVisor database! Use with caution.
     66
     67{{{
     68sudo -u flowvisor fvconfig load ~flowvisor/config.json
     69}}}
     70
     71The last argument is the input file to use, and can be something other than /tmp/config.json, as long as it's readable by the 'flowvisor' user.
     72
     73=== Change a configuration parameter ===
     74
     75Most configuration parameters can only be changed by dumping the DB, editing the resulting JSON file, and loading the changed file into the DB, which requires you to stop and restart !FlowVisor, causing an outage. https://github.com/OPENNETWORKINGLAB/flowvisor/issues/89 is tracking the task of making it possible to modify all configuration parameters via fvctl.
     76
     77Meanwhile, to (for example) turn on checkpointing, you can do this sequence:
     78
     79{{{
     80fvctl --passwd-file=/etc/flowvisor/fvpasswd dumpConfig ~flowvisor/config.json
     81sudo service flowvisor stop
     82sudo -u flowvisor sed -i -e 's/"checkpointing": true/"checkpointing": true/' ~flowvisor/config.json
     83sudo -u flowvisor fvconfig load ~flowvisor/config.json
     84sudo service flowvisor start
     85}}}
     86
     87=== Show the flowspace ===
    5088
    5189{{{
     
    5391}}}
    5492
    55 == Show the slices ==
     93=== Show the slices ===
    5694
    5795{{{
     
    5997}}}
    6098
    61 == Get info about a slice ==
     99=== Get info about a slice ===
    62100
    63101{{{
     
    67105Replace 'default' with the slice you want info about.
    68106
    69 == Show the controller for every slice ==
     107=== Show the controller for every slice ===
    70108
    71109{{{
     
    73111}}}
    74112
    75 == Remove all existing flowspace entries ==
     113=== Remove all existing flowspace entries ===
    76114
    77115{{{
     
    79117}}}
    80118
    81 == Remove flowspace entries matching a pattern ==
     119=== Remove flowspace entries matching a pattern ===
    82120
    83121The first of the two 'for' lines just echoes what it's going to do, the second actually does it.
     
    91129Replace the pattern after "fvpattern=" with a regexp that you want to match.
    92130
    93 == Remove all existing slices ==
     131=== Remove all existing slices ===
    94132
    95133{{{
     
    97135}}}
    98136
    99 == Create one slice and one flowspace rule ==
     137=== Create one slice and one flowspace rule ===
    100138
    101139{{{