Adding ONOS Segment Routing CLI files to new repo
diff --git a/cli/desc/version200/vcenter.py b/cli/desc/version200/vcenter.py
new file mode 100755
index 0000000..f71eafd
--- /dev/null
+++ b/cli/desc/version200/vcenter.py
@@ -0,0 +1,549 @@
+#
+# Copyright (c) 2013 Big Switch Networks, Inc.
+#
+# Licensed under the Eclipse Public License, Version 1.0 (the
+# "License"); you may not use this file except in compliance with the
+# License. You may obtain a copy of the License at
+#
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+#
+
+# (c) in 2012 by Big Switch Networks - All rights reserved
+#
+# vCenter commands
+#
+"""
+import os
+VCENTER_COMMAND_DESCRIPTION = {
+ 'name' : 'vcenter',
+ #'no-help' : 'Remove vcenter configuration',
+ 'mode' : 'config*',
+ 'feature' : 'experimental',
+ 'command-type' : 'config-submode',
+ 'short-help' : 'Enter vcenter submode, configure vcenter details',
+ 'doc' : 'vcenter|vcenter',
+ 'doc-example' : 'vcenter|vcenter-example',
+ 'obj-type' : 'vcenter',
+ 'parent-field' : None,
+ 'current-mode-obj-id' : None,
+ 'submode-name' : 'config-vcenter',
+ # 'parent-id' : 'vcenter-name',
+ 'args' : (
+ { 'field' : 'vcenter-name',
+ 'type' : 'identifier',
+ 'completion' : 'complete-object-field',
+ 'syntax-help' : 'Enter a vcenter name',
+ }
+ ),
+ 'action': 'push-mode-stack',
+ 'no-action': (
+ {
+ 'proc' : 'confirm',
+ 'prompt' : "Deleting a vcenter will cause vcenter" \
+ " DVS's to also be deleted, continue (y or yes)? "
+ },
+ {
+ 'proc' : 'delete-objects',
+ }
+ )
+}
+
+
+SHOW_VCENTER_COMMAND_DESCRIPTION = {
+ 'name' : 'show',
+ 'mode' : 'login',
+ 'feature' : 'experimental',
+ 'short-help' : 'Show vcenter configurations',
+ 'doc' : 'vcenter|show',
+ 'doc-example' : 'vcenter|show-example',
+ 'obj-type' : 'vcenter',
+ 'command-type' : 'display-table',
+
+ 'args' : (
+ 'vcenter',
+ )
+}
+
+
+SHOW_VCENTER_NAME_COMMAND_DESCRIPTION = {
+ 'name' : 'show',
+ 'mode' : 'login',
+ 'feature' : 'experimental',
+ 'short-help' : 'Show vcenter description by name',
+ 'doc' : 'vcenter|show-name',
+ 'doc-example' : 'vcenter|show-name-example',
+ 'obj-type' : 'vcenter',
+ 'command-type' : 'display-table',
+ 'args' : (
+ 'vcenter',
+ {
+ 'choices' : (
+ {
+ 'field' : 'vcenter-name',
+ 'type' : 'identifier',
+ },
+ {
+ 'field' : 'vcenter-name',
+ 'type' : 'enum',
+ 'values' : 'all',
+ 'completion' : 'complete-object-field',
+ },
+ )
+ },
+ {
+ 'optional' : True,
+ 'choices' : (
+ {
+ 'field' : 'dvs',
+ 'type' : 'enum',
+ 'values' : 'dvs',
+ 'obj-type' : 'dvs',
+ 'action' : 'display-table',
+ 'short-help' : 'Select dvs for display',
+ 'doc' : 'vcenter|show-name-dvs',
+ },
+ {
+ 'field' : 'dvs-port-group',
+ 'type' : 'enum',
+ 'values' : 'dvs-port-group',
+ 'obj-type' : 'dvs-port-group',
+ 'action' : 'display-table',
+ 'short-help' : 'Select dvs-port-group for display',
+ 'doc' : 'vcenter|show-name-dvs-port-group',
+ },
+ {
+ 'field' : 'status',
+ 'type' : 'enum',
+ 'values' : 'status',
+ 'action' : 'display-rest',
+ 'url' : 'vcenter/status/%(vcenter-name)s/',
+ 'format' : 'vcenter-status',
+ 'detail' : 'details',
+ 'short-help' : 'Display vcenter active state',
+ 'doc' : 'vcenter|show-vcenter-status',
+ },
+ {
+ 'field' : 'detail',
+ 'type' : 'enum',
+ 'values' : 'details',
+ }
+ )
+ }
+ )
+}
+
+
+SHOW_VCENTER_NAME_STATUS_COMMAND_DESCRIPTION = {
+ 'name' : 'show',
+ 'mode' : 'login',
+ 'feature' : 'experimental',
+ 'short-help' : 'Show vcenter operational status by name',
+ 'doc' : 'vcenter|show-vcenter-dvs-status',
+ 'doc-example' : 'vcenter|show-vcenter-dvs-status-example',
+ 'obj-type' : 'vcenter',
+ 'command-type' : 'display-rest',
+ 'args' : (
+ 'vcenter',
+ {
+ 'field' : 'vcenter-name',
+ 'type' : 'identifier',
+ 'completion' : 'complete-object-field',
+ },
+ {
+ 'field' : 'dvs-name',
+ 'tag' : 'dvs',
+ 'obj-type' : 'dvs',
+ 'completion' : 'complete-object-field',
+ },
+ {
+ 'field' : 'status',
+ 'type' : 'enum',
+ 'values' : 'status',
+ 'url' : 'vcenter/status/%(vcenter-name)s/%(dvs-name)s',
+ 'format' : 'vcenter-dvs-status',
+ 'detail' : 'details',
+ 'action' : 'display-rest',
+
+ },
+ )
+}
+
+VCENTER_IP_ADDRESS_COMMAND_DESCRIPTION = {
+ 'name' : 'ip',
+ 'mode' : 'config-vcenter',
+ 'short-help' : 'Associate ip address for vcenter connection',
+ 'doc' : 'vcenter|ip',
+ 'doc-example' : 'vcenter|ip-example',
+ 'command-type' : 'config',
+ 'no-supported' : True,
+ 'fields' : [ 'ip' ], # for field reset
+ 'args' : {
+ 'choices' : (
+ (
+ 'address',
+ {
+ 'field' : 'ip',
+ 'type' : 'ip-address-not-mask',
+ 'optional-for-no' : True,
+ 'syntax-help' : 'Enter an IP Address',
+ },
+ ),
+ )
+ }
+}
+
+VCENTER_PORT_COMMAND_DESCRIPTION = {
+ 'name' : 'port',
+ 'short-help' : 'Associate http port for vcenter connection',
+ 'doc' : 'vcenter|port',
+ 'doc-example' : 'vcenter|port-example',
+ 'command-type' : 'config',
+ 'mode' : 'config-vcenter',
+ 'no-supported' : False,
+ 'args' : (
+ {
+ 'field' : 'port',
+ 'type' : 'integer',
+ 'syntax-help' : 'Enter an http port number',
+ 'optional-for-no' : True,
+ }
+ )
+}
+
+VCENTER_DVS_COMMAND_DESCRIPTION = {
+ 'name' : 'dvs',
+ 'mode' : 'config-vcenter*',
+ 'command-type' : 'config-submode',
+ 'parent-field' : 'vcenter-name',
+ 'obj-type' : 'dvs',
+ 'no-supported' : True,
+ 'submode-name' : 'config-vcenter-dvs',
+ 'short-help' : 'Enter vcenter-dvs submode, describe port groups',
+ 'doc' : 'vcenter|dvs',
+ 'doc-example' : 'vcenter|dvs-example',
+ 'args' : (
+ {
+ 'field' : 'datacenter',
+ 'tag' : 'datacenter-name',
+ 'type' : 'string',
+ 'completion' : 'complete-object-field',
+ 'syntax-help' : 'Enter the vcenter datacenter name',
+ },
+ {
+ 'field' : 'dvs-name',
+ 'tag' : 'dvs-name',
+ 'type' : 'string',
+ 'completion' : 'complete-object-field',
+ 'syntax-help' : 'Enter the vcenter dvs name',
+ },
+ {
+ 'field' : 'switch-class',
+ 'tag' : 'switch-class',
+ 'type' : 'string',
+ 'optional' : True,
+ 'optional-for-no': True,
+ 'completion' : 'complete-object-field',
+ 'syntax-help' : 'Enter vmware',
+ },
+ ),
+}
+
+SHOW_DVS_COMMAND_DESCRIPTION = {
+ 'name' : 'show',
+ 'feature' : 'experimental',
+ 'mode' : 'login',
+ 'short-help' : 'Show vcenter dvs details',
+ 'doc' : 'vcenter|show-dvs',
+ 'doc-example' : 'vcenter|show-dvs-example',
+ 'obj-type' : 'dvs',
+ 'command-type' : 'display-table',
+ 'args' : (
+ 'dvs',
+ {
+ 'field' : 'vcenter',
+ 'tag' : 'vcenter',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ {
+ 'field' : 'datacenter',
+ 'tag' : 'datacenter',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ {
+ 'field' : 'dvs',
+ 'tag' : 'dvs',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ )
+}
+
+VCENTER_PORTGROUP_COMMAND_DESCRIPTION = {
+ 'name' : 'portgroup',
+ 'mode' : 'config-vcenter-dvs',
+ 'short-help' : 'Describe dvs portgroup',
+ 'doc' : 'vcenter|dvs-portgroup',
+ 'doc-example' : 'vcenter|dvs-portgroup-example',
+ 'command-type' : 'config-object',
+ 'parent-field' : 'dvs-name',
+ 'obj-type' : 'dvs-port-group',
+ 'no-supported' : True,
+ 'args' : (
+ {
+ 'field' : 'portgroup-name',
+ 'syntax-help' : 'Enter the vcenter portgroup name for the associated dvs',
+ 'optional-for-no' : True
+ }
+ )
+}
+
+
+SHOW_DVS_PORT_GROUP_COMMAND_DESCRIPTION = {
+ 'name' : 'show',
+ 'feature' : 'experimental',
+ 'mode' : 'login',
+ 'short-help' : 'Show vcenter dvs port-group details',
+ 'doc' : 'vcenter|show-dvs-port-group',
+ 'doc-example' : 'vcenter|show-dvs-port-group-example',
+ 'obj-type' : 'dvs-port-group',
+ 'command-type' : 'display-table',
+ 'no-supported' : True,
+ 'args' : (
+ 'dvs-port-group',
+ {
+ 'field' : 'vcenter',
+ 'tag' : 'vcenter',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ {
+ 'field' : 'datacenter',
+ 'tag' : 'datacenter',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ {
+ 'field' : 'dvs',
+ 'tag' : 'dvs',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ {
+ 'field' : 'portgroup',
+ 'tag' : 'portgroup',
+ 'optional' : True,
+ 'type' : 'string',
+ },
+ )
+}
+
+VCENTER_USERNAME_COMMAND_DESCRIPTION = {
+ 'name' : 'username',
+ 'mode' : 'config-vcenter',
+ 'short-help' : 'Configure vcenter username for login',
+ 'doc' : 'vcenter|username',
+ 'doc-example' : 'vcenter|username-example',
+ 'command-type' : 'config',
+ 'fields' : [ 'username' ], # for field reset
+ 'no-supported' : True,
+ 'args' : (
+ {
+ 'field' : 'username',
+ 'type' : 'string',
+ 'syntax-help' : 'Enter the vcenter login username',
+ 'optional-for-no' : True,
+ }
+ )
+}
+
+VCENTER_PASSWORD_COMMAND_DESCRIPTION = {
+ 'name' : 'password',
+ 'mode' : 'config-vcenter',
+ 'command-type' : 'config',
+ 'short-help' : 'Configure vcenter password for login',
+ 'doc' : 'vcenter|password',
+ 'doc-example' : 'vcenter|password-example',
+ 'fields' : [ 'password' ], # for field reset
+ 'no-supported' : True,
+ 'args' : (
+ {
+ 'field' : 'password',
+ 'type' : 'string',
+ 'syntax-help' : 'Enter the vcenter login password',
+ 'optional-for-no' : True,
+ }
+ )
+}
+
+VCENTER_CONNECT_COMMAND_DESCRIPTION = {
+ 'name' : 'connect',
+ 'mode' : 'config-vcenter',
+ 'short-help' : 'Enable vcenter connect',
+ 'doc' : 'vcenter|connect',
+ 'doc-example' : 'vcenter|connect-example',
+ 'command-type' : 'config',
+ 'syntax-help' : 'Enter to attempt a vcenter connect',
+ # 'data' : {'connect' : True },
+ 'args' : (),
+ 'action': (
+ {
+ 'proc' : 'write-fields',
+ 'data' : {'connect' : True}
+ },
+ ),
+ 'no-action': (
+ {
+ 'proc' : 'reset-fields',
+ 'fields' : [ 'connect' ]
+ }
+ )
+}
+
+
+#
+# FORMATS
+#
+
+import fmtcnv
+
+
+VCENTER_FORMAT = {
+ 'vcenter' : {
+ 'field-orderings' : {
+ 'default' : [
+ 'Idx',
+ 'vcenter-name',
+ 'ip', 'port',
+ 'username', 'password',
+ 'connect',
+ ]
+ },
+ 'fields' : {
+ 'ip' : {
+ },
+ 'port' : {
+ },
+ 'username' : {
+ },
+ 'password' : {
+ },
+ 'connect' : {
+ },
+ }
+ },
+}
+
+
+VCENTER_STATUS_FORMAT = {
+ 'vcenter-status' : {
+ 'field-orderings' : {
+ 'default' : [
+ 'Idx',
+ 'vcenter',
+ 'Status',
+ 'DvsList',
+ ],
+ 'details' : [
+ 'vcenter',
+ 'Status',
+ 'VCenterError',
+ 'DvsList',
+ ]
+ },
+
+ 'fields' : {
+ 'vcenter' : { 'verbose-name' : 'VCenter'
+ },
+ 'Status' : { 'verbose-name' : 'Status'
+ },
+ 'VCenterError' : { 'verbose-name' : 'VCenter error'
+ },
+ 'DvsList' : { 'verbose-name' : 'Dvses',
+ }
+ },
+ },
+}
+
+
+VCENTER_DVS_STATUS_FORMAT = {
+ 'vcenter-dvs-status' : {
+ 'field-orderings' : {
+ 'default' : [
+ 'Idx',
+ 'vcenter',
+ 'dataCenter',
+ 'dvs',
+ 'portgroups',
+ ],
+ },
+
+ 'fields' : {
+ 'vcenter' : { 'verbose-name' : 'VCenter'
+ },
+ 'dvs' : { 'verbose-name' : 'Dvs Name',
+ },
+ 'dataCenter' : { 'verbose-name' : 'Data Center',
+ },
+ 'portgroups' : { 'verbose-name' : 'Port Groups Active',
+ },
+ }
+ },
+}
+
+VCENTER_DVS_FORMAT = {
+ 'dvs' : {
+ 'show-this' : [
+ [ 'dvs', 'default' ],
+ [ 'dvs-port-group', 'scoped' ]
+ ],
+
+ 'field-orderings' : {
+ 'default' : [ 'vcenter-name',
+ 'datacenter',
+ 'dvs-name',
+ 'switch-class',
+ ]
+ },
+ 'fields' : {
+ 'vcenter-name' : {
+ },
+ 'datacenter' : {
+ },
+ 'dvs-name' : {
+ },
+ 'switch-class' : {
+ },
+ }
+ },
+}
+
+
+VCENTER_DVS_PORT_GROUP_FORMAT = {
+ 'dvs-port-group' : {
+ 'field-orderings' : {
+ 'default' : [ 'vcenter-name',
+ 'datacenter',
+ 'dvs-name',
+ 'portgroup-name'
+ ],
+ 'scoped' : [ 'portgroup-name'
+ ],
+ },
+ 'fields' : {
+ 'dvs-name' : {
+ },
+ 'portgroup-name' : {
+ },
+ },
+
+ },
+}
+"""
\ No newline at end of file