X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Ftools%2Fnetconf-cli%2FREADME_ODL;fp=opendaylight%2Fnetconf%2Ftools%2Fnetconf-cli%2FREADME_ODL;h=0000000000000000000000000000000000000000;hp=3a15454df9d837d2f3d68ee4aeda2df2635a3e70;hb=9ba2b4eca79bcc0e78099b133296801c8d45a6c4;hpb=b2e81149739c87f0ecc2ce7f06448d7a5d3162b8 diff --git a/opendaylight/netconf/tools/netconf-cli/README_ODL b/opendaylight/netconf/tools/netconf-cli/README_ODL deleted file mode 100644 index 3a15454df9..0000000000 --- a/opendaylight/netconf/tools/netconf-cli/README_ODL +++ /dev/null @@ -1,154 +0,0 @@ -This file contains ODL controller specific examples: - -1A. Connecting to ODL controller automatically: - a. Make sure ODL controller is running on your or any other accessible device - b. Start the cli using this command (in folder controller/opendaylight/netconf/netconf-cli/target/): - java -jar netconf-cli-0.2.5-SNAPSHOT-executable.jar --server localhost --port 1830 --username admin --password admin - c. The cli will start up in aprox. 20 seconds (Schema download might take some time on the first connection, subsequent attempts should take less time) - d. You should see the list of commands avaliable in the controller e.g.: - add-flow(sal-flow) add-group(sal-group) - add-meter(sal-meter) begin-transaction(sal-remote) - cancel-commit(ietf-netconf) cancel-toast(toaster) - clear-toasts-made(toaster-provider-impl) close(netconf-cli) - close-session(ietf-netconf) commit(ietf-netconf) - connect(netconf-cli) copy-config(ietf-netconf) - create-data-change-event-subscription(sal-remote) .... - - -1B. Connecting to ODL from the CLI: - a. Make sure ODL controller is running on your or any other accessible device - b. Start the cli using this command (in folder controller/opendaylight/netconf/netconf-cli/target/): - java -jar netconf-cli-0.2.5-SNAPSHOT-executable.jar - c. The cli will start app right away (few seconds) - d. You should see only the basic commands e.g. connect, close, help, disconnect - e. Type connect, hit TAB, hit ENTER - f. Cli will ask for connect arguments: [address-name, address-port, user-name, user-password] - g. Address-name - The cli will ask what type of address you want to provide (domain-name or ip-address). This is caused by the yang model for connect command, the address-name is of type ietf-inet-types:host, which is a union of domain-name and ip-address. - Submit "domain-name" (TAB can be used for autocompete) - Now you need to provide value, submit "localhost" (TAB can be used for autocomplete, as "localhost" is the default value) - h. Address-port - Submit 1830 (default port for netconf SSH server in ODL) - i. User-name - Submit "admin" - j. User-password - Submit "admin" - k. The connection will be up in aprox. 20 seconds (Schema download might take some time on the first connection, subsequent attempts should take less time) - l. You should see the list of commands available in the controller - - -2. Disconnecting from ODL in the CLI - a. Execute scenario 1A or 1B - b. Type "disconn", hit TAB, hit Enter - c. You should see the following output: - status Connection disconnected - d. Use TAB to see available commands, only local commands are present now - e. Now you can use the connect command(as in 1B) to connect again - - -3. Using help command - a. Help command can be executed in connected as well as disconnected state - b. Type "help", hit TAB, hit Enter - c. You should see the help conent containing the list of all available commands with description for each of them e.g. - commands { - commands [id=close(netconf-cli)] { - id close(netconf-cli) - description Close the whole cli - } - commands [id=help(netconf-cli)] { - id help(netconf-cli) - description Display help - } - commands [id=disconnect(netconf-cli)] { - id disconnect(netconf-cli) - description Disconnect from a netconf device that is currently connected - } - commands [id=connect(netconf-cli)] { - id connect(netconf-cli) - description Connect to a remote netconf device, if not connected yet. Connection initialization is blocking and might take some time, depending on amount of yang schemas in remote device. - } - } - - -4. Executing get-config command (get-config(ietf-netconf)) - a. Execute scenario 1A or 1B - b. Type "get-config", hit TAB, hit Enter - c. Cli will ask for get-config arguments: [filter, source] - d. Filter - Submit "skip" (This will ignore the filter attribute, ODL does not support filtering at this moment, but will be supported in near future) - e. Source - You have to choose from candidate, running, startup. Submit running. - f. You should see the whole configuration of the ODL e.g.: - data { - modules { - module { - module [name=toaster-provider-impl] { - name toaster-provider-impl - type (urn:opendaylight:params:xml:ns:yang:controller:config:toaster-provider:impl?revision=2014-01-31)toaster-provider-impl - choice configuration (toaster-provider-impl) { - ... - - -5. Executing get command (get(ietf-netconf)) - a. Execute scenario 1A or 1B - b. Type "get(", hit TAB, hit Enter - c. Cli will ask for get arguments: [filter] - d. Filter - Submit "skip" (This will ignore the filter attribute, ODL does not support filtering at this moment, but will be supported in near future) - f. You should see the whole data-tree of the ODL - - -6. Executing edit-config command (edit-config(ietf-netconf)) - a. Execute scenario 1A or 1B - b. Type "edit", hit TAB, hit Enter - c. Cli will ask for edit-config arguments: [default-operation, edit-content, error-option, target, test-option] - d. Config - Config contains the data to be edited - 1. First you have to specify a path pointing to a concrete data node. Use TAB to help with autocomplete. - Submit "modules(config)/module(config)/" - Module node is of type list and now you have to construct a whole new list entry for the module list. - 2. The cli will ask for these nodes: [configuration, name, type] - Name - Submit any name e.g. newModule - Type - For Type you have to pick from available module types in the ODL, hit TAB for hints - Submit "threadfactory-naming(threadpool-impl)" to create a new instance of threadfactory in the ODL. - Configuration - For configuration you have to pick from available module types again - Submit "threadfactory-naming" to match previous module type - The cli will now ask for threadfactory-naming specific configuration: [prefix] - Prefix - Submit any string - - The cli will now if you want to create another module entry. - Submit "N". - e. Default-operation - Submit "skip" to skip or pick from available e.g. merge, replace etc. - f. Error-option - Submit "skip" to skip option. - g. Config-target - This is a choice between running and candidate. Submit candidate to edit configuration only in the candidate datastore. - h. Test-option - Submit "skip" to skip option. - i. You should see OK response - j. You can check the candidate datastore change by executing get-config command as in scenario 4, but pick candidate as the source. - k. You should see this module in the output: - module [name=newModule] { - name newModule - type (urn:opendaylight:params:xml:ns:yang:controller:threadpool:impl?revision=2013-04-05)threadfactory-naming - choice configuration (threadfactory-naming) { - name-prefix prefix - } - } - - -7. Commiting changes from candidate to running datastore - a. Execute scenario 6. - b. Type commit, hit TAB, hit Enter - c. Cli will ask for commit arguments: [confirm-timeout, confirmed, persist, persist-id]. We will skip all these arguments since they are not supported in ODL. Cli should be able to detect this and not ask for them. This is a TODO, by supporting feature/if-feature detection in the CLI. - d. Confirm-timeout - Skip - e. Confirmed - N - f. Persist - Skip - g. Persist-id - Skip - h. You should see OK response - i. You can check the candidate datastore change by executing get-config command as in scenario 4.