opConfig CLI tool
opConfig has some features only available through the command line tool, located at <omk_dir>/bin/opconfig-cli.exe.
Information on what commands are supported is printed when no options are specified. All options support debug=true for debug output and debug=9 for verbose output.
opConfig cli has to be run as root.
Listed below are the possible options for the act=X
argument:
Discover
Tests a single given node (argument node=nodeX) and attempts to determine its Transport and Credential Set configuration. The node must already have a Personality set.
./opconfig-cli.pl act=discover node=NAME debug=1
Test_connect
opconfig-cli can be used to test connections to help debug situations that don't make any sense.
An example of how it can be used:
bin/opconfig-cli.pl act=test_connect host=192.168.88.254 transport=Telnet personality=ios username=testuser password=testpass
The options for transport and personality are given above.
It is also possible to test an existing connection from the connections.nmis file by specifying node=node_name , if any options are specified on the command line along with the node they will override the settings loaded from the connections.nmis file.
command="some command" can also be specified to test the output of a specific command.
run_command_sets, Running commands on devices
This command will run all applicable command sets for all nodes (by default).
Options:
- nodes=node1,node2,etc -- only command sets that apply to the specified nodes will be run.
- names=command_set1,command_set2,etc – only run the specified command sets (and of course only for nodes matching the command sets' criteria)
- tags=tag1,tag2,etc – The candidate commands are filtered by the tags specified. If one or more tags given on the command line is present in the list of a command's tags, then the command will be run.
./opconfig-cli.pl act=run_command_sets node=NODE_NAME debug=9 names=Check_Disk_Usage_home
get_command_output, Get the last output from a command for a node
Requires node=node_name command="command name" and returns output collected from the last run of this command
./opconfig-cli.pl act=get_command_output node=NODE_NAME command="show configuration"
find_command_revisions, Get the revisions of a command
Requires the node name and returns a list of the commands a revisions for a node.
./opconfig-cli.pl act=find_command_revisions node=NODENAME
Expected output:
Node Command Revision mynode top -n 3 -d 5 -M -b 1 mynode top -a -n 1 -M 1 mynode vmstat 1 10 2 mynode pvdisplay 1 mynode ps -ef 1 mynode lvdisplay 1 mynode df 2 mynode chkconfig 1 mynode disk usage /homee 0
diff_command_outputs, Diff two revisions
Shows the diff from the output of 2 revisions of stored output (does not run them, only queries). The command line would look similar to get_command_output with the edition of revision_1= and revision_2=
./opconfig-cli.pl act=diff_command_outputs node=NODENAME command="disk usage /home" revision_1=2 revision_2=3
purge options
By default opConfig does not remove old revisions from the database; if you run many non-change-detecting commands (or encounter frequent changes in your commands' outputs) then this will likely make the GUI unwieldy (e.g. the revision drop down menus will become very large). The revisions can be removed with the command line option:
./opconfig-cli.pl act=purge_revisions node=NODE_NAME debug=9
There is also an option to remove indices:
./opconfig-cli.pl act=purge_indices
More information about puge opConfig data can be found here.
Config sets
As mentioned above opConfig lets you organise whatever commands you'd like it to run into an arbitrary number of groups which we call command sets.
There are several cli options to manage config sets:
./opconfig-cli.pl act=list_configsets ./opconfig-cli.pl act=import_configset file=/tmp/configset_test1.json ./opconfig-cli.pl act=export_configset name=test1 ./opconfig-cli.pl act=disable_configset name=test1 ./opconfig-cli.pl act=enable_configset name=test1 revision=1 ./opconfig-cli.pl act=push_configset name=test1 node=NODE_NAME
You can read more information of the config sets in the user manual.
Queue
The opConfig queue has jobs scheduled to be run in order. There are some cli options to check the queue list of the scheduled jobs or remove a job from the queue:
./opconfig-cli.pl act=list_queue with_ids=1 ./opconfig-cli.pl act=remove_queued id=5e42a04b2b181345a5069093
list_policies, import_policy, export_policy; update_config_status, export_config_status and check_compliance
These operations are documented on the separate page about Compliance Management.
./opconfig-cli.pl act=export_policy name=cisco file=/tmp/policies2.txt ./opconfig-cli.pl act=import_policy name=cisco file=/tmp/policies2.txt ./opconfig-cli.pl act=list_policies ./opconfig-cli.pl act=export_config_status node=NODENAME file=/tmp/configstatus.txt ./opconfig-cli.pl act=update_config_status node=NODENAME force=1 ./opconfig-cli.pl act=check_compliance name=cisco node=NODENAME debug=1
Credential sets
Credential sets can also be managed from opConfig version 4.3.2.
All the operations are defined in the following guide.
Refresh OS Info
As part of Discovering OS Info, you can refresh the information of OS's for nodes in the "Node and IP information", "Node reports" and Node pages with the opConfig CLI tool:
# Refresh OS Info for all nodes ./opconfig-cli.pl act=refresh_os_info # Refresh OS Info for a particular node ./opconfig-cli.pl act=refresh_os_info node=node_name # Refresh OS Info for only newly imported/created nodes ./opconfig-cli.pl act=refresh_os_info only_new=y
Create Compliance Report
Generate a compliance report, in csv format, which shows compliance to Compliance Policies.
# Command to create compliance report ./opconfig-cli.pl act=create_compliance_report file=/tmp/all_nodes_compliance.csv