diff --git a/cli/desc/version200/controller_node.py b/cli/desc/version200/controller_node.py
new file mode 100755
index 0000000..4c71c5b
--- /dev/null
+++ b/cli/desc/version200/controller_node.py
@@ -0,0 +1,1078 @@
+#
+# 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.
+#
+
+import command
+import fmtcnv
+"""
+CONTROLLER_NODE_FORMAT = {
+    'controller-node' : {
+        'field-orderings' : {
+            'default'       : [
+                             'Idx',
+                             'alias',
+                             'me',
+                             'ha-role',
+                             'change-date-time',
+                             'change-description',
+                             'status',
+                             'uptime',
+                             'errors'
+                             #'domain-lookups-enabled',
+                             #'logging-enabled',
+                            ],
+            'brief'   :      [
+                             'Idx',
+                             'alias',
+                             'me',
+                             'ha-role',
+                             'change-date-time',
+                             'change-description',
+                             'status',
+                             'uptime',
+                             'errors',
+                            ],
+            'details' :    [
+                             'Idx',
+                             'alias',
+                             'id',
+                             'me',
+                             'ha-role',
+                             'change-date-time',
+                             'change-description',
+                             'status',
+                             'uptime',
+                             'errors',
+                             'domain-lookups-enabled', 'domain-name-servers',
+                             'domain-name', 'default-gateway',
+                             'ntp-server', 'time-zone',
+                             'logging-enabled', 'logging-server',
+                            ],
+            'without-vns' : [
+                             'Idx',
+                             'id',
+                             'me',
+                             'alias',
+                             'ha-role',
+                             'change-date-time',
+                             'change-description',
+                             'uptime',
+                             'domain-lookups-enabled', 'domain-name-servers',
+                             'domain-name', 'default-gateway',
+                             'ntp-server', 'time-zone',
+                             'logging-enabled', 'logging-server', 'logging-level',
+                            ]
+            },
+        'fields': {
+            'id'                     : {
+                                          'verbose-name' : 'Controller ID',
+                                       },
+            'me'                     : {
+                                          'verbose-name' : '@',
+                                          'formatter' : fmtcnv.controller_node_me,
+                                          'entry-formatter' : fmtcnv.controller_node_me_entry
+                                       },
+            'domain-lookups-enabled' : {
+                                          'verbose-name' : 'DNS',
+                                          'formatter' : fmtcnv.replace_boolean_with_enable_disable,
+                                       },
+            'domain-name-servers'    : {
+                                          'verbose-name' : 'DNS Servers',
+                                         'formatter' : fmtcnv.print_domain_name_servers,
+                                         'entry-formatter' : fmtcnv.print_all_domain_name_servers,
+                                       },
+            'domain-name'            : {
+                                       },
+            'default-gateway'        : {
+                                       },
+            'ntp-server'             : {
+                                       },
+            'time-zone'              : {
+                                       },
+            'logging-enabled'        : { 'verbose-name' : 'Logging',
+                                         'formatter' : fmtcnv.replace_boolean_with_enable_disable,
+                                       },
+            'logging-server'         : {
+                                       },
+            'logging-level'          : {
+                                       },
+            'ha-role'                : {
+                                         'verbose-name' : 'HA Role',
+                                       },
+            'change-date-time'       : {
+                                         'verbose-name' : 'HA Last Change Time',
+                                         'formatter' : fmtcnv.print_time_since_utc_timestr,
+                                       },
+            'change-description'     : {
+                                         'verbose-name' : 'HA Change Reason',
+                                       },
+            'uptime'                 : {
+                                         'verbose-name' : 'Uptime',
+                                         'formatter'    : fmtcnv.print_timesince_msec_since
+                                       },
+            },
+        },
+}
+
+controller_node_show_actions = (
+    {
+        'proc'     : 'query-table',
+    },
+    {
+        'proc'         : 'join-table',
+        'obj-type'     : 'controller-alias',
+        'key'          : 'controller',
+        'join-field'   : 'id', # field in queried items
+    },
+    {
+        'proc'       : 'join-rest',
+        'url'        : 'system/controller',
+        'rest-type'  : 'dict-with-id',
+        'key'        : 'id',
+        'join-field' : 'id',
+        'add-field'  : 'me',
+    },
+    # need a description mechanism to join ha-role, which
+    # needs to send urls to controller-node interfaces 
+    # ie: the rest actions alwaus use the local controller
+    # (uptime has the same issue)
+    {
+        'proc'       : 'display',
+        'format'     : 'controller-node',
+    },
+),
+
+
+CONTROLLER_NODE_SHOW_COMMAND_DESCRIPTION = {
+    'name'         : 'show',
+    'obj-type'     : 'controller-node',
+    'mode'         : 'login',
+    'command-type' : 'display-table',
+    'all-help'     : 'Show controller node information',
+    'short-help'   : 'Show controller nodes summaries',
+    'doc'          : 'controller|show',
+    'args'         : (
+         {
+            'token'  : 'controller-node',
+            'action' : controller_node_show_actions,
+         }
+    ),
+}
+CONTROLLER_NODE_INTERFACE_FORMAT = {
+    'controller-interface' : {
+        'field-orderings': {
+            'default' : ['Idx',
+                         'controller',
+                         'type',
+                         'number',
+                         'mode',
+                         'ip',
+                         'discovered-ip',
+                         'netmask',
+                         'mac',
+                         'firewall']
+            },
+        'fields' : {
+            'controller'    : {
+                                'formatter' : fmtcnv.replace_controller_node_with_alias,
+                              },
+            'number'        : {
+                              },
+            'ifname'        : {
+                                'formatter' : lambda i, data: '%s%s' % (data['type'],
+                                                                        data['number'])
+                              },
+            'ip'            : {
+                              },
+            'discovered-ip' : { 'verbose-name' : 'Found IP',
+                              },
+            'mode'          : {
+                              },
+            'netmask'       : {
+                              },
+            'type'          : {
+                              },
+            'firewall'      : {
+                                'verbose-name' : 'Firewall',
+                              },
+            }
+        },
+}
+
+
+CONTROLLER_NODE_SUMMARY_FORMAT = {
+        'controller-summary' : {
+            'field-orderings' : {
+                'default' : [
+                              '# inter-switch links',
+                              '# hosts',
+                              '# attachment points',
+                              '# IP Addresses',
+                              '# VNSes',
+                              '# Access Control Lists',
+                              '# VNS Interfaces with ACL applied',
+                              '# VNS Interfaces',
+                ]
+            },
+
+            'fields' : {
+                '# Access Control Lists'            : { 'verbose-name' : 'Access Control Lists'
+                                                      },
+                '# VNS Interfaces'                  : { 'verbose-name' : 'VNS Interfaces'
+                                                      },
+                '# hosts'                           : { 'verbose-name' : 'Hosts'
+                                                      },
+                '# VNSes'                           : { 'verbose-name' : 'VNSesx'
+                                                      },
+                '# attachment points'               : { 'verbose-name' : 'Attachment Points'
+                                                      },
+                '# inter-switch links'              : { 'verbose-name' : 'Links'
+                                                      },
+                '# IP Addresses'                    : { 'verbose-name' : 'Ip Addresses'
+                                                      },
+                '# VNS Interfaces with ACL applied' : { 'verbose-name' : 'VNS If with Acl Applied'
+                                                      },
+            },
+        },
+}
+
+
+COTROLLER_NODE_SWITCHES_FORMAT = {
+    'controller-switches' : {
+        'field-orderings' : {
+            'default'     : [
+                'Idx', 'dpid',
+            ],
+        },
+        'fields' : {
+            'dpid' : { 'primary_key' : True,
+                       'verbose-name': 'Connected Switches',
+                       'formatter' : fmtcnv.print_switch_and_alias }
+            }
+        },
+
+}
+
+
+CONTROLLER_NODE_FIREWALL_RULE_FORMAT = {
+    'firewall-rule' : {
+
+       'field-orderings': {
+         'default' : ['Idx',
+                      'controller',
+                      'type',
+                      'number',
+                      'src-ip',
+                      'vrrp-ip',
+                      'port',
+                      'proto',
+                      'rule']
+        },
+        'fields' : {
+
+            'controller' : {
+                            'formatter' : fmtcnv.replace_controller_node_with_alias,
+                           },
+            'interface'  : {
+                           },
+            'port'       : {
+                           },
+            'proto'      : {
+                           },
+            'rule'       : {
+                             'verbose-name' : 'Firewall Rule'
+                           },
+            }
+       },
+}
+
+
+def controller_completion_add_localhost(completions, prefix):
+    if completions == None:
+        completions = {}
+    if not 'localhost ' in completions and 'localhost'.startswith(prefix) :
+        completions['localhost '] = 'Select currently logged in controller'
+
+
+command.add_completion('controller-add-localhost', controller_completion_add_localhost,
+                      {'kwargs': { 'completions' : '$completions',
+                                   'prefix'      : '$text',
+                      }})
+
+CONTROLLER_NODE_SHOW_ID_COMMAND_DESCRIPTION = {
+    'name'         : 'show',
+    'obj-type'     : 'controller-node',
+    'mode'         : 'login',
+    'short-help'   : 'Show controller-node associated details by name',
+    'no-supported' : False,
+    'action'       : controller_node_show_actions,
+    'doc'          : 'controller|show-details',
+    'args'         : (
+        'controller-node',
+        {
+            'choices' : (
+                {
+                    'field'        : 'id',
+                    'type'         : 'identifier',
+                    'completion'   : [
+                                      'complete-object-field',
+                                      'controller-add-localhost',
+                                     ],
+                    'data-handler' : 'alias-to-value',
+                    'action'       : controller_node_show_actions,
+                    'doc'          : 'controller|show-id',
+                },
+                {
+                    'token'        : 'all',
+                    'doc'          : 'reserved|all',
+                }
+            ),
+
+        },
+        {
+            'optional' : True,
+            'choices' : (
+                {
+                   'token'      : 'interfaces',
+                   'obj-type'   : 'controller-interface',
+                   'action'     : 'display-table',
+                   'short-help' : 'Show network interface information for controller node',
+                   'doc'        : 'controller|show-interfaces',
+                },
+                {
+                   'token'      : 'firewall',
+                   'obj-type'   : 'firewall-rule',
+                   'action'     : 'display-table',
+                   'short-help' : 'Show firewall rules for controller node',
+                   'doc'        : 'controller|show-firewall',
+                },
+                {
+                   'token'      : 'summary',
+                   'action'     : 'display-rest',
+                   'url'        : 'controller/summary',
+                   'rest-type'  : 'dict',
+                   'format'     : 'controller-summary',
+                   'short-help' : 'Show a summary of configuration for controller node',
+                   'doc'        : 'controller|show-summary',
+                },
+                {
+                   'token'      : 'switches',
+                   'action'     : 'display-rest',
+                   'url'        : 'controller/stats/switches',
+                   'format'     : 'controller-switches',
+                   'short-help' : 'Show switches connected to controller node',
+                   'doc'        : 'controller|show-switches',
+                },
+                {
+                   'token'      : 'alias',
+                   'action'     : 'display-table',
+                   'obj-type'   : 'controller-alias',
+                   'short-help' : 'Show the alias for controller node',
+                   'doc'        : 'controller|show-alias',
+                },
+            )
+        },
+        {
+            'optional' : True,
+            'field'    : 'detail',
+            'type'     : 'enum',
+            'values'   : ('details','brief'),
+            'doc'      : 'controller|show-detail',
+        }
+    ),
+}
+
+CONTROLLER_NODE_SHOW_STATS_COMMAND_DESCRIPTION = {
+    'name'         : 'show',
+    'obj-type'     : 'controller-node',
+    'mode'         : 'login',
+    'short-help'   : 'Show statistics for a given controller node',
+    'command-type' : 'display-table',
+    'doc'          : 'show-stats',
+    'args'         : (
+        'controller-node',
+        {
+            'choices' : (
+                {
+                    'field'        : 'id',
+                    'type'         : 'identifier',
+                    'completion'   : [
+                                       'complete-object-field',
+                                       'controller-add-localhost',
+                                     ],
+                    'action'       : 'display-table',
+                    'data-handler' : 'alias-to-value',
+                    'doc'          : 'controller|id',
+                },
+                {
+                    'field'        : 'id',
+                    'type'         : 'enum',
+                    'values'       : 'all',
+                    'doc'          : 'reserved|all',
+                }
+            ),
+       },
+       {
+          'field'     : 'stats',
+          'type'      : 'enum',
+          'values'    : 'stats',
+          'obj-type'  : 'controller-stats',
+          'action'    : 'legacy-cli',
+       },
+    ),
+}
+
+CONTROLLER_NODE_SHOW_OBJECT_STATS_COMMAND_DESCRIPTION = {
+    'name'         : 'show',
+    'obj-type'     : 'controller-node',
+    'mode'         : 'login',
+    'short-help'   : 'Show detailed controller-node related statistics',
+    'command-type' : 'display-table',
+    'args'         : (
+        'controller-node',
+        {
+            'choices' : (
+                {
+                    'field'        : 'id',
+                    'type'         : 'identifier',
+                    'completion'   : [
+                                       'complete-object-field',
+                                       'controller-add-localhost',
+                                     ],
+                    'action'       : 'display-table',
+                    'data-handler' : 'alias-to-value',
+                },
+                {
+                    'field'        : 'id',
+                    'type'         : 'enum',
+                    'values'       : 'all',
+                    'doc'          : 'reserved|all',
+                }
+            ),
+       },
+       {
+          'field'     : 'stats',
+          'type'      : 'enum',
+          'values'    : 'stats',
+          'obj-type'  : 'controller-stats',
+          'action'    : 'legacy-cli',
+       },
+       {
+          'field'     : 'stats-type',
+          'type'      : 'enum',
+          'values'    : (
+                            'cpu-user',
+                            'disk-root',
+                            'mem-used',
+                            'mem-free',
+                            'cli-cpu',
+                            'database-cpu',
+                            'swap-used', 
+                            'disk-boot', 
+                            'statd-cpu', 
+                            'cpu-system', 
+                            'cpu-idle', 
+                            'apache-cpu', 
+                            'cpu-nice', 
+                            'disk-log', 
+                            'sdnplatform-cpu'
+                        ),
+          'doc'       : 'controller|show-stats-type',
+       },
+       {
+          'field'     : 'start-time',
+          'tag'       : 'start-time',
+          'type'      : 'string',
+          'short-help'   : 'Start time for displaying the stats',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-start-time',
+       },
+       {
+          'field'     : 'end-time',
+          'tag'       : 'end-time',
+          'type'      : 'string',
+          'short-help'   : 'End time for displaying the stats',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-end-time',
+       },
+       {
+          'field'     : 'duration',
+          'tag'       : 'duration',
+          'type'      : 'string',
+          'short-help'   : 'Duration from the start or end for displaying the stats',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-duration',
+       },
+       {
+          'field'     : 'sample-interval',
+          'tag'       : 'sample-interval',
+          'type'      : 'integer',
+          'short-help'   : 'Spacing between sampling windows',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-sample-interval',
+       },
+       {
+          'field'     : 'sample-count',
+          'tag'       : 'sample-count',
+          'type'      : 'integer',
+          'short-help'   : 'Number of samples to show',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-sample-count',
+       },
+       {
+          'field'     : 'sample-window',
+          'tag'       : 'sample-window',
+          'type'      : 'integer',
+          'optional'  : True,
+          'short-help'   : 'Number of raw sample values to average around each down-sampled data point',
+          'doc'       : 'controller|show-stats-sample-window',
+       },
+       {
+          'field'     : 'data-format',
+          'tag'       : 'data-format',
+          'type'      : 'enum',
+          'values'    : ('value', 'rate'),
+          'short-help'   : 'Whether to display as a raw value or rate',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-data-format',
+       },
+       {
+          'field'     : 'display',
+          'tag'       : 'display',
+          'type'      : 'enum',
+          'values'    : ('latest-value',
+                         'graph',
+                         'table',
+                        ),
+          'short-help'   : 'Display the latest value, a graph, or a table',
+          'optional'  : True,
+          'doc'       : 'controller|show-stats-display',
+       },
+   ),
+}
+
+CONTROLLER_INTERFACES_SHOW_COMMAND_DESCRIPTION = {
+    'name'         : 'show',
+    'obj-type'     : 'controller-interface',
+    'short-help'   : 'Show controller-node associated interfaces',
+    'mode'         : 'config-controller',
+    'command-type' : 'display-table',
+    'scoped'       : True, # entries displayed filtered by pushed obj id
+    'doc'          : 'controller|show-interfaces',
+    'args'         : (
+        'interfaces',
+        {
+           'field'     : 'type',
+           'tag'       : 'type',
+           'type'      : 'string',
+           'optional'  : True,
+           'doc'       : 'controller|show-interfaces-type',
+        },
+        {
+           'field'    : 'number',
+           'tag'      : 'number',
+           'type'     : 'integer',
+           'optional' : True,
+           'doc'       : 'controller|show-interfaces-number',
+        },
+    )
+}
+
+
+CONTROLLER_NODE_SUBMODE_COMMAND_DESCRIPTION = {
+    'name'                : 'controller-node',
+    'obj-type'            : 'controller-node',
+    'mode'                : 'config*',
+    'short-help'          : 'Enter configuration submode for controller-nodes',
+    'no-supported'        : False,          # don't allow removal of controller-nodes
+    # 'create'            : False,         # don't allow creation of new controller-nodes
+    'command-type'        : 'config-submode',
+    'parent-field'        : None,
+    'current-mode-obj-id' : None,
+    'submode-name'        : 'config-controller',
+    'doc'                 : 'controller|controller-node',
+    'doc-example'         : 'controller|controller-node-example',
+    'args'                : (
+         {
+             'field'           : 'id',
+             'type'            : 'identifier',
+             'completion'      : [
+                                    'complete-alias-choice',
+                                    'controller-add-localhost',
+                                 ],
+             'data-handler'    : 'alias-to-value',
+             'optional-for-no' : False,
+             'doc'             : 'controller|controller-node-name',
+         }
+    )
+}
+
+
+CONTROLLER_NODE_ALIAS_COMMAND_DESCRIPTION = {
+    'name'         : 'controller-alias',
+    'mode'         : 'config-controller',
+    'short-help'   : 'Attach alias to controller',
+    'command-type' : 'manage-alias',
+    'obj-type'     : 'controller-alias',
+    'scoped'       : True,
+    'reserved'     : 'localhost',
+    'doc'          : 'controller|alias',
+    'args'         : (
+        {
+            'field'           : 'alias',
+            'optional-for-no' : True,
+            'completion'      : 'complete-object-field',
+            'doc'             : 'controller|alias-name',
+            'action'          : (
+                {
+                    'proc'    : 'create-alias',
+                },
+                {
+                    'proc'    : 'prompt-update',
+                },
+            ),
+            'no-action'       : (
+                {
+                    'proc'    : 'delete-alias',
+                },
+                {
+                    'proc'    : 'prompt-update',
+                },
+            )
+        }
+    )
+}
+
+
+CONTROLLER_NODE_INTERFACE_COMMAND_DESCRIPTION = {
+    'name'        : 'interface',
+    'new-style'   : True,
+    'mode'        : 'config-controller*',
+    'short-help'  : 'Enter interface submode, configure controller interface',
+    'command-type': 'config-submode',
+    'submode-name': 'config-controller-if',
+    'obj-type': 'controller-interface',
+    'parent-field': 'controller',
+    'doc'         : 'controller|interface',
+    'args': (
+        {
+            'field'       : 'type',
+            'help-name'   : 'interface-type',
+            'type'        : 'enum',
+            'values'      : ('Ethernet',),
+            'syntax-help' : 'Enter the interface type (e.g. Ethernet)',
+            'doc'         : 'controller|interface-type',
+        },
+        {
+            'field'       : 'number',
+            'help-name'   : 'interface-number',
+            'base-type'   : 'integer',
+            'range'       : (0,1000000),
+            #'completion' : 'complete-object-field',
+            'syntax-help' : 'Enter the interface number, a small non-negative number (e.g. 0 or 1)',
+            'doc'         : 'controller|interface-number',
+        }
+    ),
+    'no-action': ('begin-default-gateway-check', 'delete-objects', 'end-default-gateway-check'),
+}
+
+CONTROLLER_NODE_DOMAIN_NAME_SERVER_FORMAT = {
+    'controller-domain-name-server' : {
+        'field-orderings': {
+            'default' : ['Idx', 'id', 'controller', 'priority', 'ip']
+            },
+        'fields' : {
+            'ip'                : {
+                                  },
+            'controller'        : {
+                                   'formatter' : fmtcnv.replace_controller_node_with_alias,
+                                  },
+            }
+        },
+}
+
+CONTROLLER_IP_COMMAND_DESCRIPTION = {
+    'name'       : 'ip',
+    'mode'       : 'config-controller',
+    'short-help' : 'Associate dns, default gateway with the controller node',
+    'doc'        : 'controller|ip',
+    'args'       : {
+        'choices': (
+            {
+                'command-type': 'config',
+                'obj-type': 'controller-node',
+                'doc': 'controller|ip-domain',
+                'args': (
+                    'domain',
+                    {
+                        'choices': (
+                            {
+                                'field'     : 'domain-lookups-enabled',
+                                'token'     : 'lookup',
+                                'type'      : 'boolean',
+                                'doc'       : 'controller|ip-domain-lookups',
+                                'no-action' : {
+                                    'proc'  : 'write-fields',
+                                    'data'  : { 
+                                                 'domain-lookups-enabled' : False,
+                                              },
+                                },
+                            },
+                            {
+                                'field': 'domain-name',
+                                'tag': 'name',
+                                'type': 'domain-name',
+                                'syntax-help': "Enter the network's domain name",
+                                'default-for-no': 'xyz.com',
+                                'doc': 'controller|ip-domain-name',
+                            },
+                        ),
+                     },
+                 ),
+            },
+            (
+            {
+                'command-type': 'config-object',
+                'obj-type': 'controller-domain-name-server',
+                'parent-field': 'controller',
+                'doc': 'controller|ip-name-server',
+                'args': (
+                    {
+                        'tag'             : 'name-server',
+                        'field'           : 'ip',
+                        'type'            : 'ip-address-not-mask',
+                        'syntax-help'     : 'Enter the IP address of the domain name server',
+                        'doc'             : 'controller|ip-name-server-value',
+                    },
+                ),
+            },
+            ),
+            {
+                'field': 'default-gateway',
+                'command-type': 'config-with-default-gateway-check',
+                'obj-type': 'controller-node',
+                'doc': 'controller|ip-default-gateway',
+                'args': {
+                    'tag': 'default-gateway',
+                    'field': 'default-gateway',
+                    'type': 'ip-address-not-mask',
+                    'syntax-help': 'Enter the IP address of the default gateway',
+                    'default-for-no': '10.10.10.10',
+                    'doc': 'controller|ip-default-gateway-value',
+                },
+            },
+        ),
+    },
+}
+
+INTERFACE_IP_COMMAND_DESCRIPTION = {
+    'name'         : 'ip',
+    'mode'         : 'config-controller-if',
+    'command-type' : 'config-with-default-gateway-check',
+    'obj-type'     : 'controller-interface',
+    'short-help'   : 'Associate ip address with interface',
+    'doc'          : 'controller|ip',
+    'args'         : {
+        'choices'  : (
+            {
+                'fields': ('ip', 'netmask'),
+                'doc': 'controller|ip-address',
+                'args': (
+                    'address',
+                    {
+                        'choices': (
+                            (
+                                {
+                                    'field': 'ip',
+                                    'help-name': 'ip-address',
+                                    'type': 'ip-address-not-mask',
+                                    'syntax-help': 'Enter an IP or CIDR address',
+                                    'default-for-no' : '10.10.10.10',
+                                    'doc': 'controller|ip-address-value',
+                                },
+                                {
+                                    'field': 'netmask',
+                                    'type': 'netmask',
+                                    'syntax-help': 'Enter a netmask',
+                                    'default-for-no' : '0.0.0.0',
+                                    'doc': 'controller|ip-address-netmask',
+                                }
+                            ),
+                            {
+                                'field': 'cidr',
+                                'help-name': 'cidr-address',
+                                'type': 'cidr-range',
+                                'data-handler': 'split-cidr-data',
+                                'completion-text': None,
+                                'dest-ip': 'ip',
+                                'dest-mask': 'mask',
+                                'doc': 'controller|ip-address-cidr',
+                            }
+                        )
+                    },
+                ),
+            },
+            {
+                'args': {
+                    'tag': 'mode',
+                    'field': 'mode',
+                    'type': 'enum',
+                    'values': ('dhcp', 'static'),
+                    'syntax-help': 'Enter the IP address configuration mode, either "dhcp" or "static"',
+                    'default-for-no': 'static',
+                    'doc': 'controller|ip-mode',
+                },
+            },
+        ),
+     }
+}
+
+NTP_COMMAND_DESCRIPTION = {
+    'name'        : 'ntp',
+    'mode'        : 'config-controller',
+    'short-help'  : 'Configure ntp for controller-node',
+    'command-type': 'config',
+    'obj-type'    : 'controller-node',
+    'doc'         : 'controller|ntp',
+    'doc-example' : 'controller|ntp-example',
+    'args': {
+        'tag'         : 'server',
+        'field'       : 'ntp-server',
+        'type'        : 'ip-address-or-domain-name',
+        'syntax-help' : 'Enter the IP address or domain name of the NTP server',
+        'short-help'  : 'Configure the NTP server name',
+        'default-for-no': 'xyz.com',
+        'completion' : 'complete-object-field',
+        'doc'        : 'controller|ntp-server',
+    }
+}
+
+LOGGING_COMMAND_DESCRIPTION = {
+    'name'        : 'logging',
+    'short-help'  : 'Configure logging (syslog) for controller-node',
+    'mode'        : 'config-controller',
+    'command-type': 'config',
+    'obj-type'    : 'controller-node',
+    'doc'         : 'controller|logging',
+    'doc-example' : 'controller|logging-example',
+    'args': {
+        'choices': (
+            {
+                'field'      : 'logging-enabled',
+                'token'      : 'on',
+                'type'       : 'boolean',
+                'short-help' : 'Enable remote logging',
+                'doc'        : 'controller|logging-enable',
+            },
+            (
+                {
+                    'token'           : 'server',
+                    'short-help'      : 'Set the remote syslog server name',
+                    'doc'             : 'controller|logging-server',
+                },
+                {
+                    'field'           : 'logging-server',
+                    'help-name'       : 'server-ip-or-domain',
+                    'type'            : 'ip-address-or-domain-name',
+                    'syntax-help'     : 'Enter the IP address or domain name of the syslog server',
+                    'completion'      : 'complete-object-field',
+                    'match-for-no'    : 'logging-server',
+                    'no-action'       : 'reset-fields',
+                },
+                {
+                    'field'      : 'logging-level',
+                    'tag'        : 'level',
+                    'short-help' : 'Set the logging level for remote syslog',
+                    'type'       : 'enum',
+                    'optional'   : True,
+                    'values'     : ('emerg', 'alert', 'crit', 'err',
+                                    'warning', 'notice', 'info', 'debug',
+                                    '0', '1', '2', '3', '4', '5', '6', '7'
+                                   ),
+                    'doc'        : 'controller|logging-level',
+                 }
+            ),
+        )
+    }
+}
+
+FIREWALL_COMMAND_DESCRIPTION = {
+    'name'         : 'firewall',
+    'short-help'   : 'Configure firewall rule for controller-node',
+    'command-type' : 'config-object',
+    'mode'         : 'config-controller-if',
+    'obj-type'     : 'firewall-rule',
+    'doc'          : 'controller|firewall',
+    'parent-field' : 'interface',
+    'args': (
+        # This arg/token is really just syntactic sugar for the command.
+        # There's no 'deny' value, because things are denied by default.
+        # Instead you just use a 'no' command to delete the firewall rule.
+        {
+            'token'      : 'allow',
+            'short-help' : 'Allow a given set of traffic',
+            'doc'        : 'controller|firewall-allow',
+        },
+        {
+            'field'           : 'src-ip',
+            'tag'             : 'from',
+            'type'            : 'ip-address',
+            'optional'        : True,
+            'optional-for-no' : True,
+            'match-for-no'    : True,
+            'doc'             : 'controller|firewall-src-ip',
+        },
+        {
+            'field'           : 'vrrp-ip',
+            'tag'             : 'local-ip',
+            'type'            : 'ip-address',
+            'optional'        : True,
+            'optional-for-no' : True,
+            'match-for-no'    : True,
+            'doc'             : 'controller|firewall-local-ip',
+        },
+        {
+            'choices'         : (
+                {
+                    'field'      : 'port',
+                    'type'       : 'enum',
+                    'short-help' : 'Configure rule for a specific service port',
+                    'doc'        : 'controller|firewall-port',
+                    'data'       : { 'proto' : 'tcp' },
+                    'values': {
+                        'openflow' : 6633,
+                        'web'      : 80,
+                        'ssl'      : 443,
+                        'ssh'      : 22
+                    },
+                    'match-for-no'    : True,
+                    'doc'             : 'controller|firewall-+',
+                },
+                (
+                    {
+                        'field'        : 'proto',
+                        'type'         : 'enum',
+                        'short-help'   : 'Configure rule for protocol (TCP, UDP)',
+                        'values'       : ('udp', 'tcp'),
+                        'doc'          : 'controller|firewall-+',
+                        'match-for-no' : True,
+                    },
+                    {
+                        'optional-for-no' : False,
+                        'choices': (
+                            {
+                                'field'      : 'port',
+                                'type'       : 'enum',
+                                'short-help' : 'Configure rule for a specific service port',
+                                'doc': 'controller|firewall-port',
+                                'values': {
+                                    'openflow' : 6633,
+                                    'web'      : 80,
+                                    'ssl'      : 443,
+                                    'ssh'      : 22
+                                },
+                                'match-for-no'    : True,
+                                'doc'             : 'controller|firewall-+',
+                            },
+                            {
+                                'field'           : 'port',
+                                'base-type'       : 'integer',
+                                'range'           : (0, 65535),
+                                'completion-text' : '0-65535',
+                                'doc'             : 'controller|firewall-port',
+                                'match-for-no'    : True,
+                            },
+                        )
+                    },
+                ),
+                {
+                    'field'        : 'proto',
+                    'type'         : 'enum',
+                    'short-help'   : 'Configure rule for protocol (TCP, UDP)',
+                    'values'       : 'vrrp',
+                    'doc'          : 'controller|firewall-+',
+                    'match-for-no' : True,
+                },
+            ),
+        },
+    )
+}
+
+MONTH_NAMES =  ('January', 'February', 'March', 'April', 'May', 'June',
+                'July', 'August', 'September', 'October', 'November', 'December')
+                           
+
+
+CLOCK_TIMEZONE_COMMAND_DESCRIPTION = {
+    'name'         : 'clock',
+    'mode'         : 'config-controller',
+    'short-help'   : 'Configure time zone',
+    'doc'          : 'controller|clock-timezone',
+    'doc-example'  : 'controller|clock-timezone-example',
+    'command-type' : 'config',
+    'obj-type'     : 'controller-node',
+    'args'         : {
+        'tag'            : 'timezone',
+        'field'          : 'time-zone',
+        'type'           : 'string',
+        'default-for-no' : 'UTC',
+        'completion'     : 'time-zone-completion',
+        'validation'     : 'time-zone-validation',
+        'syntax-help'    : 'Enter the time zone',
+        'short-help'     :  'Configure the time zone',
+    }
+}
+
+CLOCK_SET_COMMAND_DESCRIPTION = {
+    'name'         : 'clock',
+    'mode'         : 'config-controller',
+    'no-supported' : False,
+    'short-help'   : 'Set clock',
+    'doc'          : 'controller|clock-set',
+    'doc-example'  : 'controller|clock-set-example',
+    'command-type' : 'realtime',
+    'action'       : 'set-clock',
+    'args'         : (
+        {
+            'token'       : 'set',
+            'short-help'  : 'Set the current time and date'
+        },
+        {
+            'field'       : 'time',
+            'base-type'   : 'string',
+            'pattern'     : '^[0-9]{1,2}:[0-9]{1,2}:[0-9]{2}$',
+            'syntax-help' : 'Enter the time (HH:MM:SS)'
+        },
+        {
+            'field'       : 'day-of-month',
+            'base-type'   : 'integer',
+            'range'       : (1,31),
+            'syntax-help' : 'Enter the day of the month (1-31)'
+        },
+        {
+            'field'       : 'month',
+            'type'        : 'enum',
+            'values'      : MONTH_NAMES,
+            'syntax-help' : 'Enter the month (e.g. January, March)'
+        },
+        {
+            'field'       : 'year',
+            'base-type'   : 'integer',
+            'range'       : (0,10000),
+            'syntax-help' : 'Enter the year'
+        },
+    )
+}
+"""
