]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Bug 891705
authorSumit Naiksatam <snaiksat@cisco.com>
Fri, 18 Nov 2011 23:48:21 +0000 (15:48 -0800)
committerSumit Naiksatam <snaiksat@cisco.com>
Tue, 22 Nov 2011 06:17:57 +0000 (22:17 -0800)
Fix to change reference to the Quantum CLI from within the Cisco extensions' CLI module

Removed "tools" from the PYTHONPATH

Change-Id: Icbd3800668219d16fc33a25da9170e9ec7fb6ddb

plugins/cisco-plugin/README
plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py

index ea9e78823353be739acc1032d039c8d5a20bcea1..a539ab4e88eafeb047896db8ed602f34fa1e35f4 100755 (executable)
@@ -269,7 +269,7 @@ and value should be used.
 \r
 The corresponding CLI for this operation is as follows:\r
 \r
-PYTHONPATH=. python quantum/plugins/cisco/client/cli.py create_multiport <tenant_id> <net_id1,net_id2,...>\r
+PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py create_multiport <tenant_id> <net_id1,net_id2,...>\r
     \r
     (Note that you should not be using the create port core API in the above case.)\r
 \r
@@ -282,18 +282,18 @@ to switch between different CLI modules (it internally invokes the Quantum
 CLI module for the core APIs to ensure consistency when using either). This\r
 command line client can be invoked as follows:\r
 \r
-PYTHONPATH=. python quantum/plugins/cisco/client/cli.py \r
+PYTHONPATH=.:tools python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py\r
 \r
 1.  Creating the network\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py create_net -H 10.10.2.6 demo net1\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py create_net -H 10.10.2.6 demo net1\r
 Created a new Virtual Network with ID: c4a2bea7-a528-4caf-b16e-80397cd1663a\r
 for Tenant demo\r
 \r
 \r
 2.  Listing the networks\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py list_nets -H 10.10.2.6 demo\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py list_nets -H 10.10.2.6 demo\r
 Virtual Networks for Tenant demo\r
     Network ID: 0e85e924-6ef6-40c1-9f7a-3520ac6888b3\r
     Network ID: c4a2bea7-a528-4caf-b16e-80397cd1663a\r
@@ -301,13 +301,13 @@ Virtual Networks for Tenant demo
 \r
 3.  Creating one port on each of the networks\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py create_multiport -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a,0e85e924-6ef6-40c1-9f7a-3520ac6888b3\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py create_multiport -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a,0e85e924-6ef6-40c1-9f7a-3520ac6888b3\r
 Created ports: {u'ports': [{u'id': u'118ac473-294d-480e-8f6d-425acbbe81ae'}, {u'id': u'996e84b8-2ed3-40cf-be75-de17ff1214c4'}]}\r
 \r
 \r
 4.  List all the ports on a network\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py list_ports -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py list_ports -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a\r
 Ports on Virtual Network: c4a2bea7-a528-4caf-b16e-80397cd1663a\r
 for Tenant: demo\r
     Logical Port: 118ac473-294d-480e-8f6d-425acbbe81ae\r
@@ -315,7 +315,7 @@ for Tenant: demo
 \r
 5.  Show the details of a port\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py show_port -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py show_port -H 10.10.2.6 demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
 Logical Port ID: 118ac473-294d-480e-8f6d-425acbbe81ae\r
 administrative State: ACTIVE\r
 interface: <none>\r
@@ -335,7 +335,7 @@ for Tenant: demo
     will be established only after the plug/attach operation is performed (as\r
     described in the next step).\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py show_port demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py show_port demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
 Logical Port ID: 118ac473-294d-480e-8f6d-425acbbe81ae\r
 administrative State: ACTIVE\r
 interface: b73e3585-d074-4379-8dde-931c0fc4db0e(detached)\r
@@ -347,7 +347,7 @@ for Tenant: demo
     Use the interface information obtained in step 6 to plug the interface into\r
     the network.\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py plug_iface demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae b73e3585-d074-4379-8dde-931c0fc4db0e\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py plug_iface demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae b73e3585-d074-4379-8dde-931c0fc4db0e\r
 Plugged interface b73e3585-d074-4379-8dde-931c0fc4db0e\r
 into Logical Port: 118ac473-294d-480e-8f6d-425acbbe81ae \r
 on Virtual Network: c4a2bea7-a528-4caf-b16e-80397cd1663a\r
@@ -356,7 +356,7 @@ for Tenant: demo
 \r
 8.  Unplug an interface and port from the network\r
 \r
-# PYTHONPATH=. python quantum/plugins/cisco/client/cli.py unplug_iface demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
+# PYTHONPATH=. python plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py unplug_iface demo c4a2bea7-a528-4caf-b16e-80397cd1663a 118ac473-294d-480e-8f6d-425acbbe81ae\r
 Unplugged interface from Logical Port: 118ac473-294d-480e-8f6d-425acbbe81ae\r
 on Virtual Network: c4a2bea7-a528-4caf-b16e-80397cd1663a\r
 for Tenant: demo\r
index 98cf8aaa5e44fa77071c31adc09d3c9a4f181b9e..5517eb83b6f47fcd8200992f751727b9d43a3fe1 100644 (file)
@@ -36,6 +36,9 @@ import subprocess
 
 from optparse import OptionParser
 
+from tools import source_environment
+import quantum.cli as qcli
+
 POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
                                    os.pardir,
                                    os.pardir))
@@ -151,25 +154,8 @@ COMMANDS = {
     "args": ["tenant-id", "instance-id"]}, }
 
 
-class _DynamicModule(object):
-    """Loading a string as python module"""
-    def load(self, code):
-        execdict = {}
-        exec code in execdict
-        for key in execdict:
-            if not key.startswith('_'):
-                setattr(self, key, execdict[key])
-
-
-import sys as _sys
-_ref, _sys.modules[__name__] = _sys.modules[__name__], _DynamicModule()
-
-
 if __name__ == "__main__":
     import cli
-    FILE_NAME = os.path.join("bin/", "cli")
-    MODULE_CODE = open(FILE_NAME).read()
-    cli.load(MODULE_CODE)
     usagestr = "Usage: %prog [OPTIONS] <command> [args]"
     PARSER = OptionParser(usage=usagestr)
     PARSER.add_option("-H", "--host", dest="host",
@@ -197,18 +183,17 @@ if __name__ == "__main__":
 
     if len(args) < 1:
         PARSER.print_help()
-        cli.help()
+        qcli.help()
         help()
         sys.exit(1)
 
     CMD = args[0]
-    if CMD in cli.commands.keys():
-        args.insert(0, FILE_NAME)
-        subprocess.call(args)
+    if CMD in qcli.commands.keys():
+        qcli.main()
         sys.exit(1)
     if CMD not in COMMANDS.keys():
         LOG.error("Unknown command: %s" % CMD)
-        cli.help()
+        qcli.help()
         help()
         sys.exit(1)