\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
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
\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
\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
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
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
\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
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))
"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",
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)