cloudmesh_client.shell.plugins package¶
Submodules¶
cloudmesh_client.shell.plugins.AkeyCommand module¶
-
class
cloudmesh_client.shell.plugins.AkeyCommand.
AkeyCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_akey
(instance, args)¶ Usage: akey akey list akey add --name=key-name --pub=pub-key-path --cert=certificate-file-path --pfx=pfx-file-path
-
topics
= {'akey': 'security'}¶
-
cloudmesh_client.shell.plugins.Bar module¶
cloudmesh_client.shell.plugins.CheckCommand module¶
-
class
cloudmesh_client.shell.plugins.CheckCommand.
CheckCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_check
(instance, args)¶ Usage: check --cloud=CLOUD check checks some elementary setting for cloudmesh Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name Examples: cm check cm check --cloud=kilo
-
topics
= {'check': 'notimplemented'}¶
-
cloudmesh_client.shell.plugins.CloudCommand module¶
-
class
cloudmesh_client.shell.plugins.CloudCommand.
CloudCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_cloud
(instance, args)¶ Usage: cloud list [--cloud=CLOUD] [--format=FORMAT] cloud logon CLOUD cloud logout CLOUD cloud activate CLOUD cloud deactivate CLOUD cloud info CLOUD managing the admins test test test test Arguments: KEY the name of the admin VALUE the value to set the key to Options: --cloud=CLOUD the name of the cloud --format=FORMAT the output format [default: table] Description: Cloudmesh contains a cloudmesh.yaml file that contains templates for multiple clouds that you may or may not have access to. Hence it is useful to activate and deactivate clouds you like to use in other commands. To activate a cloud a user can simply use the activate command followed by the name of the cloud to be activated. To find out which clouds are available you can use the list command that will provide you with some basic information. As default it will print a table. Thus the commands:: cloud activate india cloud deactivate aws Will result in +----------------------+--------+-------------------+ | Cloud name | Active | Type | +----------------------+--------+-------------------+ | india | True | Openstack | +----------------------+--------+-------------------+ | aws | False | AWS | +----------------------+--------+-------------------+ To get ore information about the cloud you can use the command cloud info CLOUD It will call internally also the command uses in register See also: register
-
topics
= {'cloud': 'cloud'}¶
-
cloudmesh_client.shell.plugins.ClusterCommand module¶
-
class
cloudmesh_client.shell.plugins.ClusterCommand.
ClusterCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_cluster
(instance, args)¶ Usage: cluster list [--format=FORMAT] cluster list NAME [--format=FORMAT] [--column=COLUMN] [--short] cluster create NAME [--count=COUNT] [--login=USERNAME] [--cloud=CLOUD] [--image=IMAGE] [--flavor=FLAVOR] [--add] cluster delete NAME cluster setup NAME [--username] cluster inventory NAME Description: with the help of the cluster command you can create a number of virtual machines that are integrated in a named virtual cluster. You will be able to login between the nodes of the virtual cluster while using public keys. cluster setup NAME sets up the keys between the cluster node as well as the machine that executes the cm command cluster inventory NAME creates an inventory.txt file to be used by ansible in the current directory cluster create NAME creates the virtual machines used for the cluster cluster list NAME lists selected details of the vms for the cluster cluster delete NAME remove the cluster and its VMs Examples: cluster list list the clusters cluster create NAME --count=COUNT --login=USERNAME [options...] Start a cluster of VMs, and each of them can log into each other. CAUTION: you should specify defaults before using this command: 1. select cloud to work on, e.g. cloud select kilo default cloud=kilo 2. test if you can create a single VM on the cloud to see if everything is set up 3. set the default key to start VMs, e.g. key default [USERNAME-key] 5. set image of VMs, e.g. default image 6. set flavor of VMs, e.g. default flavor 7. Make sure to use a new unused group name Arguments: NAME cluster name or group name Options: --count=COUNT give the number of VMs to add into the cluster --login=USERNAME give a login name for the VMs, e.g. ubuntu --cloud=CLOUD give a cloud to work on --flavor=FLAVOR give the name of the flavor or flavor id --image=IMAGE give the name of the image or image id --add if a group exists and there are VMs in it additional vms will be added to this cluster and the keys will be added to each other so one can login between them FORMAT output format: table, json, csv COLUMN customize what information to display, for example: --column=status,addresses prints the columns status and addresses --detail for table print format, a brief version is used as default, use this flag to print detailed table
-
topics
= {'cluster': 'notimplemented'}¶
-
cloudmesh_client.shell.plugins.ClusterCommand2 module¶
-
class
cloudmesh_client.shell.plugins.ClusterCommand2.
Cluster2Command
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_cluster
(instance, args)¶ - ::
- Usage:
- cluster define [-n NAME] [-c COUNT] [-C CLOUD] [-u NAME] [-i IMAGE] [-f FLAVOR] [-k KEY] [-s NAME] [-AI] cluster undefine [–all] [NAME]… cluster avail cluster use <NAME> cluster allocate cluster cross_ssh cluster list cluster nodes [CLUSTER] cluster delete [–all] [–force] [NAME]… cluster get [-n NAME] PROPERTY cluster inventory [-F NAME] [-o PATH] [NAME]
Commands:
define Create a cluster specification undefine Delete the active or given specifications avail Show available cluster specifications use Activate the specification with the given name allocate Create a cluster from the active specification nodes Show the nodes of the cluster list List the available clusters inventory Obtain an inventory file delete Delete clusters and associated instances get Get properties of a cluster/nodes in a clusterArguments:
NAME Alphanumeric name COUNT Integer > 0 PATH Path to entry on the filesystemOptions:
-A –no-activate Don’t activate this cluster -I –no-floating-ip Don’t assign floating IPs -n NAME –name=NAME Name of the cluster -c COUNT –count=COUNT Number of nodes in the cluster -C NAME –cloud=NAME Name of the cloud -u NAME –username=NAME Name of the image login user -i NAME –image=NAME Name of the image -f NAME –flavor=NAME Name of the flavor -k NAME –key=NAME Name of the key -s NAME –secgroup=NAME NAME of the security group -F NAME –format=NAME Name of the output format -o PATH –path=PATH Output to this path –force –allInventory File Format:
ansible [default] Ansible-compatible inventory
-
topics
= {'cluster': 'cluster'}¶
-
-
class
cloudmesh_client.shell.plugins.ClusterCommand2.
Command
[source]¶ Bases:
object
-
define
(clustername=None, **kwargs)[source]¶ Define a cluster.
kwargs are passed to Cluster
Returns: a cluster Return type: Cluster
-
delete
(clusternames=None, force=False, all=False)[source]¶ Delete clusters that have these names.
If not specified, delete the active cluster. If there is no active cluster, delete the first cluster.
Parameters: clusternames (list) – list of cluster names to delete
-
get
(property, cluster=None)[source]¶ Retrieve the property for a cluster/nodes in a cluster.
If no cluster is specified, use the currently active cluster.
Parameters: - property (str) – name of the property
- cluster (Cluster) – the cluster (default: currently active)
Returns: a list of the values
Return type:
-
list
()[source]¶ List the clusters created
The currently active cluster is given as the first element in the tuple, while the remainder are listed in the second position.
Returns: a pair: (active, [clusters]) Return type: tuple
(Cluster
,list
ofCluster
)Raises: NoActiveClusterException
if no cluster is active, meaning there are no clusters
-
cloudmesh_client.shell.plugins.ColorCommand module¶
-
class
cloudmesh_client.shell.plugins.ColorCommand.
ColorCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_color
(instance, args)¶ Usage: color FLAG Arguments: FLAG color mode flag ON/OFF Description: Global switch for the console color mode. One can switch the color mode on/off with cm color ON cm color OFF By default, the color mode is ON Examples: color ON color OFF
-
topics
= {'color': 'shell'}¶
-
cloudmesh_client.shell.plugins.CometCommand module¶
-
class
cloudmesh_client.shell.plugins.CometCommand.
CometCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_comet
(instance, args)¶ Usage: comet init comet active [ENDPOINT] comet ll [CLUSTERID] [--format=FORMAT] [--endpoint=ENDPOINT] comet cluster [--concise|--status] [CLUSTERID] [--format=FORMAT] [--sort=SORTKEY] [--endpoint=ENDPOINT] comet computeset [COMPUTESETID] [--allocation=ALLOCATION] [--cluster=CLUSTERID] [--state=COMPUTESESTATE] [--endpoint=ENDPOINT] comet start CLUSTERID [--count=NUMNODES] [COMPUTENODEIDS] [--allocation=ALLOCATION] [--reservation=RESERVATION] [--walltime=WALLTIME] [--endpoint=ENDPOINT] comet terminate COMPUTESETID [--endpoint=ENDPOINT] comet power (on|off|reboot|reset|shutdown) CLUSTERID [NODESPARAM] [--endpoint=ENDPOINT] comet console [--link] CLUSTERID [COMPUTENODEID] [--endpoint=ENDPOINT] comet node info CLUSTERID [COMPUTENODEID] [--format=FORMAT] [--endpoint=ENDPOINT] comet node rename CLUSTERID OLDNAMES NEWNAMES [--endpoint=ENDPOINT] comet iso list [--endpoint=ENDPOINT] comet iso upload [--isoname=ISONAME] PATHISOFILE [--endpoint=ENDPOINT] comet iso attach ISOIDNAME CLUSTERID [COMPUTENODEIDS] [--endpoint=ENDPOINT] comet iso detach CLUSTERID [COMPUTENODEIDS] [--endpoint=ENDPOINT] comet reservation (list|create|update|delete) Options: --endpoint=ENDPOINT Specify the comet nucleus service endpoint to work with, e.g., dev or production --format=FORMAT Format is either table, json, yaml, csv, rest [default: table] --sort=SORTKEY Sorting key for the table view --count=NUMNODES Number of nodes to be powered on. When this option is used, the comet system will find a NUMNODES number of arbitrary nodes that are available to boot as a computeset --allocation=ALLOCATION Allocation to charge when power on node(s) --reservation=RESERVATION Submit the request to an existing reservation --walltime=WALLTIME Walltime requested for the node(s). Walltime could be an integer value followed by a unit (m, h, d, w, for minute, hour, day, and week, respectively). E.g., 3h, 2d --isoname=ISONAME Name of the iso image after being stored remotely. If not specified, use the original filename --state=COMPUTESESTATE List only computeset with the specified state. The state could be submitted, running, completed --link Whether to open the console url or just show the link --concise Concise table view for cluster info --status Cluster table view displays only those columns showing state of nodes Arguments: ENDPOINT Service endpoint based on the yaml config file. By default it's either dev or production. CLUSTERID The assigned name of a cluster, e.g. vc1 COMPUTESETID An integer identifier assigned to a computeset COMPUTENODEID A compute node name, e.g., vm-vc1-0 If not provided, the requested action will be taken on the frontend node of the specified cluster COMPUTENODEIDS A set of compute node names in hostlist format, e.g., vm-vc1-[0-3] One single node is also acceptable: vm-vc1-0 If not provided, the requested action will be taken on the frontend node of the specified cluster NODESPARAM Specifying the node/nodes/computeset to act on. In case of integer, will be intepreted as a computesetid; in case of a hostlist format, e.g., vm-vc1-[0-3], a group of nodes; or a single host is also acceptable, e.g., vm-vc1-0 ISONAME Name of an iso image at remote server ISOIDNAME Index or name of an iso image at the remote server. The index is based on the list from 'comet iso list'. PATHISOFILE The full path to the iso image file to be uploaded OLDNAMES The list of current node names to be renamed, in hostlist format. A single host is also acceptable. NEWNAMES The list of new names to rename to, in hostlist format. A single host is also acceptable.
-
topics
= {'comet': 'comet'}¶
-
cloudmesh_client.shell.plugins.DebugCommand module¶
-
class
cloudmesh_client.shell.plugins.DebugCommand.
DebugCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_debug
(instance, args)¶ Usage: debug on debug off debug list switches on and off the debug messages
-
topics
= {'debug': 'shell'}¶
-
cloudmesh_client.shell.plugins.DefaultCommand module¶
-
class
cloudmesh_client.shell.plugins.DefaultCommand.
DefaultCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_default
(instance, args)¶ Usage: default default list [--cloud=CLOUD] [--format=FORMAT] [--all] default delete KEY [--cloud=CLOUD] default KEY [--cloud=CLOUD] default KEY=VALUE [--cloud=CLOUD] Arguments: KEY the name of the default VALUE the value to set the key to Options: --cloud=CLOUD the name of the cloud --format=FORMAT the output format. Values include table, json, csv, yaml. --all lists all the default values
- Description:
Cloudmesh has the ability to manage easily multiple clouds. One of the key concepts to manage multiple clouds is to use defaults for the cloud, the images, flavors, and other values. The default command is used to manage such default values. These defaults are used in other commands if they are not overwritten by a command parameter.
The current default values can by listed with
default list –allVia the default command you can list, set, get and delete default values. You can list the defaults with
default listA default can be set with
default KEY=VALUETo look up a default value you can say
default KEYA default can be deleted with
default delete KEYTo be specific to a cloud you can specify the name of the cloud with the –cloud=CLOUD option. The list command can print the information in various formats iv specified.
- Examples:
- default
- lists the default for the current default cloud
- default list –all
- lists all default values
- default list –cloud=kilo
- lists the defaults for the cloud with the name kilo
- default image=xyz
- sets the default image for the default cloud to xyz
- default image=abc –cloud=kilo
- sets the default image for the cloud kilo to xyz
- default image
- list the default image of the default cloud
- default image –cloud=kilo
- list the default image of the cloud kilo
- default delete image
- deletes the value for the default image in the default cloud
- default delete image –cloud=kilo
- deletes the value for the default image in the cloud kilo
-
topics
= {'default': 'cloud'}¶
-
cloudmesh_client.shell.plugins.DeployCommand module¶
-
class
cloudmesh_client.shell.plugins.DeployCommand.
AnsibleCommand
[source]¶ Bases:
object
-
role
(cluster=None, uris=None, hostsPattern='all', become=True, username=None, modifyKnownHosts=True)[source]¶ Deploy a role to all the nodes in the cluster
Parameters: - cluster (str) – cluster name (default is the active cluster)
- path (str) – path to the role (default is current working directory)
- username (str) – login username of the nodes (overrides autodetected value)
- modifyKnownHosts – whether to update ~/.ssh/known_hosts
-
-
class
cloudmesh_client.shell.plugins.DeployCommand.
DeployCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_deploy
(instance, args)¶ - ::
- Usage:
- deploy ansible role [-c CLUSTER] [-u NAME] [-N] [-H HOST] [-b] URI…
Commands:
ansible Ansible deployment- Ansible Commands:
- playbook Deploy a pre-prepared playbook role Deploy a role to all nodes
Arguments:
CLUSTER Cluster name to deploy to NAME Alphanumeric name COUNT Integer > 0 URI Location of the item as a uri HOST Host matching patternOptions:
-c –cluster=CLUSTER Cluster name to operate on (defaults to active) -N –no-modify-known-hosts Don’t let ssh update ~/.ssh/known_hosts -u –username=NAME Username of the nodes to manage -H HOST –hosts=HOST Host matching pattern [default: all] -b –no-become Don’t become privileged user
-
topics
= {'deploy': 'cluster'}¶
-
cloudmesh_client.shell.plugins.FlavorCommand module¶
-
class
cloudmesh_client.shell.plugins.FlavorCommand.
FlavorCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_flavor
(instance, args)¶ Usage: flavor refresh [--cloud=CLOUD] [-v] flavor list [ID] [--cloud=CLOUD] [--format=FORMAT] [--refresh] [-v] This lists out the flavors present for a cloud Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --refresh refreshes the data before displaying it from the cloud Examples: cm flavor refresh cm flavor list cm flavor list --format=csv cm flavor show 58c9552c-8d93-42c0-9dea-5f48d90a3188 --refresh
-
topics
= {'flavor': 'cloud'}¶
-
cloudmesh_client.shell.plugins.GroupCommand module¶
-
class
cloudmesh_client.shell.plugins.GroupCommand.
GroupCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_group
(instance, args)¶ Usage: group list [GROUPNAME] [--format=FORMAT] group remove NAMES [--group=GROUPNAME] group add NAMES [--type=TYPE] [--group=GROUPNAME] group delete GROUPS group copy FROM TO group merge GROUPA GROUPB MERGEDGROUP manage the groups Arguments: NAMES names of object to be added GROUPS names of a groups FROM name of a group TO name of a group GROUPA name of a group GROUPB name of a group MERGEDGROUP name of a group Options: --format=FORMAT the output format --type=TYPE the resource type --name=NAME the name of the group --id=IDS the ID(s) to add to the group Description: Todo: design parameters that are useful and match description Todo: discuss and propose command cloudmesh can manage groups of resource related objects. As it would be cumbersome to for example delete many virtual machines or delete VMs that are in the same group, but are running in different clouds. Hence it is possible to add a virtual machine to a specific group. The group name to be added to can be set as a default. This way all subsequent commands use this default group. It can also be set via a command parameter. Another convenience function is that the group command can use the last used virtual machine. If a vm is started it will be automatically added to the default group if it is set. If finer grained deletion is needed, it can be achieved with the delete command that supports deletion by name It is also possible to remove a VM from the group using the remove command, by supplying the ID Note: The type is internally called for the group species, we may eliminate the species column and just use the type column for it, Example: default group mygroup group add --type=vm --id=albert-[001-003] adds the vms with the given name using the Parameter see base group add --type=vm adds the last vm to the group group delete --name=mygroup deletes all objects in the group
-
topics
= {'group': 'cloud'}¶
-
cloudmesh_client.shell.plugins.HadoopCommand module¶
-
class
cloudmesh_client.shell.plugins.HadoopCommand.
HadoopCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_hadoop
(instance, args)¶ Usage: hadoop sync hadoop addons hadoop define [-r REPO] [-b NAME] [-d COUNT] [ADDON]... hadoop undefine [NAME]... hadoop avail hadoop use NAME hadoop deploy Arguments: REPO Repository location CLUSTER Name of a cluster ADDON Big Data Stack addon (eg: spark, hbase, pig) NAME Alphanumeric name COUNT Integer greater than zero Commands: sync Checkout / synchronize the Big Data Stack addons List available addons define Create a deployment specification undefine Delete the active or given specifications avail Show available deployment specifications use Activate the specification with the given name deploy Deploy the active specification onto the active cluster Options: -r --repo=REPO Location of the repository -b --branch=NAME Branch to use -d --depth=COUNT Clone depth
-
topics
= {'hadoop': 'cluster'}¶
-
cloudmesh_client.shell.plugins.HpcCommand module¶
-
class
cloudmesh_client.shell.plugins.HpcCommand.
HpcCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.HPCPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_hpc
(instance, args)¶ Usage: hpc queue [--job=NAME][--cluster=CLUSTER][--format=FORMAT] hpc info [--cluster=CLUSTER][--format=FORMAT] hpc run list [ID] [--cluster=CLUSTER] hpc run output [ID] [--cluster=CLUSTER] hpc run rm [ID] [--cluster=CLUSTER] hpc run SCRIPT [--queue=QUEUE] [--t=TIME] [--N=nodes] [--name=NAME] [--cluster=CLUSTER][--dir=DIR][--group=GROUP][--format=FORMAT] hpc delete --job=NAME [--cluster=CLUSTER][--group=GROUP] hpc delete all [--cluster=CLUSTER][--group=GROUP][--format=FORMAT] hpc status [--job=name] [--cluster=CLUSTER] [--group=GROUP] hpc test --cluster=CLUSTER [--time=SECONDS] Options: --format=FORMAT the output format [default: table] Examples: Special notes if the group is specified only jobs from that group are considered. Otherwise the default group is used. If the group is set to None, all groups are used. cm hpc queue lists the details of the queues of the hpc cluster cm hpc queue --job=NAME lists the details of the job in the queue of the hpc cluster cm hpc info lists the details of the hpc cluster cm hpc run SCRIPT submits the script to the cluster. The script will be copied prior to execution into the home directory on the remote machine. If a DIR is specified it will be copied into that dir. The name of the script is either specified in the script itself, or if not the default naming scheme of cloudmesh is used using the same index incremented name as in vms fro clouds: cloudmes husername-index cm hpc delete all kills all jobs on the default hpc group cm hpc delete --job=NAME kills a job with a given name or job id cm default cluster=NAME sets the default hpc cluster cm hpc status returns the status of all jobs cm hpc status job=ID returns the status of the named job cm hpc test --cluster=CLUSTER --time=SECONDS submits a simple test job to the named cluster and returns if the job could be successfully executed. This is a blocking call and may take a long time to complete dependent on if the queuing system of that cluster is busy. It will only use one node/core and print the message #CLOUDMESH: Test ok in that is being looked for to identify if the test is successful. If time is used, the job is terminated after the time is elapsed. Examples: cm hpc queue cm hpc queue --job=xxx cm hpc info cm hpc delete --job=6 cm hpc delete all cm hpc status cm hpc status --job=6 cm hpc run uname cm hpc run ~/test.sh --cluster=india
-
topics
= {'hpc': 'system'}¶
-
cloudmesh_client.shell.plugins.ImageCommand module¶
-
class
cloudmesh_client.shell.plugins.ImageCommand.
ImageCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_image
(instance, args)¶ Usage: image refresh [--cloud=CLOUD] image list [ID] [--cloud=CLOUD] [--format=FORMAT] [--refresh] This lists out the images present for a cloud Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --refresh live data taken from the cloud Examples: cm image refresh cm image list cm image list --format=csv cm image list 58c9552c-8d93-42c0-9dea-5f48d90a3188 --refresh
-
topics
= {'image': 'cloud'}¶
-
cloudmesh_client.shell.plugins.InfoCommand module¶
-
class
cloudmesh_client.shell.plugins.InfoCommand.
InfoCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_info
(instance, args)¶ Usage: info [--cloud=CLOUD] [--format=FORMAT] Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name Examples: cm info
-
topics
= {'info': 'cloud'}¶
-
cloudmesh_client.shell.plugins.InventoryCommand module¶
-
class
cloudmesh_client.shell.plugins.InventoryCommand.
InventoryCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_inventory
(instance, args)¶ Usage: inventory add NAMES [--label=LABEL] [--service=SERVICES] [--project=PROJECT] [--owners=OWNERS] [--comment=COMMENT] [--cluster=CLUSTER] [--ip=IP] inventory set NAMES for ATTRIBUTE to VALUES inventory delete NAMES inventory clone NAMES from SOURCE inventory list [NAMES] [--format=FORMAT] [--columns=COLUMNS] inventory info Arguments: NAMES Name of the resources (example i[10-20]) FORMAT The format of the output is either txt, yaml, dict, table [default: table]. OWNERS a comma separated list of owners for this resource LABEL a unique label for this resource SERVICE a string that identifies the service PROJECT a string that identifies the project SOURCE a single host name to clone from COMMENT a comment Options: -v verbose mode Description: add -- adds a resource to the resource inventory list -- lists the resources in the given format delete -- deletes objects from the table clone -- copies the content of an existing object and creates new once with it set -- sets for the specified objects the attribute to the given value or values. If multiple values are used the values are assigned to the and objects in order. See examples map -- allows to set attibutes on a set of objects with a set of values Examples: cm inventory add x[0-3] --service=openstack adds hosts x0, x1, x2, x3 and puts the string openstack into the service column cm lists lists the repository cm x[3-4] set temperature to 32 sets for the resources x3, x4 the value of the temperature to 32 cm x[7-8] set ip 128.0.0.[0-1] sets the value of x7 to 128.0.0.0 sets the value of x8 to 128.0.0.1 cm clone x[5-6] from x3 clones the values for x5, x6 from x3
-
topics
= {'inventory': 'todo'}¶
-
cloudmesh_client.shell.plugins.KeyCommand module¶
-
class
cloudmesh_client.shell.plugins.KeyCommand.
KeyCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_key
(instance, args)¶ Usage: key -h | --help key list --cloud=CLOUD key list --source=db [--format=FORMAT] key list --source=yaml [--format=FORMAT] key list --source=ssh [--dir=DIR] [--format=FORMAT] key list --source=git [--format=FORMAT] [--username=USERNAME] key list key load [--format=FORMAT] key add [NAME] [--source=FILENAME] key add [NAME] [--git] key add [NAME] [--ssh] key get NAME key default --select key delete (NAME | --select | --all) key delete NAME --cloud=CLOUD key upload [NAME] [--cloud=CLOUD] key upload [NAME] --active Manages the keys Arguments: CLOUD The cloud NAME The name of the key. SOURCE db, ssh, all KEYNAME The name of a key. For key upload it defaults to the default key name. FORMAT The format of the output (table, json, yaml) FILENAME The filename with full path in which the key is located NAME_ON_CLOUD Typically the name of the keypair on the cloud. Options: --dir=DIR the directory with keys [default: ~/.ssh] --format=FORMAT the format of the output [default: table] --source=SOURCE the source for the keys [default: db] --username=USERNAME the source for the keys [default: none] --name=KEYNAME The name of a key --all delete all keys --force delete the key form the cloud --name_on_cloud=NAME_ON_CLOUD Typically the name of the keypair on the cloud. Description: key list --source=git [--username=USERNAME] lists all keys in git for the specified user. If the name is not specified it is read from cloudmesh.yaml key list --source=ssh [--dir=DIR] [--format=FORMAT] lists all keys in the directory. If the directory is not specified the default will be ~/.ssh key list --source=yaml [--dir=DIR] [--format=FORMAT] lists all keys in cloudmesh.yaml file in the specified directory. dir is by default ~/.cloudmesh key list [--format=FORMAT] list the keys in the giiven format: json, yaml, table. table is default key list Prints list of keys. NAME of the key can be specified key add ssh adds the default key with the name id_rsa.pub key add NAME --source=FILENAME adds the key specifid by the filename to the key database key get NAME Retrieves the key indicated by the NAME parameter from database and prints its fingerprint. key default --select Select the default key interactively key delete NAME deletes a key. In yaml mode it can delete only key that are not saved in the database key rename NAME NEW renames the key from NAME to NEW.
-
topics
= {'key': 'security'}¶
-
cloudmesh_client.shell.plugins.LauncherCommand module¶
-
class
cloudmesh_client.shell.plugins.LauncherCommand.
LauncherCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_launcher
(instance, args)¶ Usage: launcher repo add NAME URL launcher repo delete NAME launcher repo list launcher repo launcher list [NAMES] [--cloud=CLOUD] [--format=FORMAT] [--source=db|dir] launcher add NAME SOURCE launcher delete [NAMES] [--cloud=CLOUD] launcher clear launcher run [NAME] launcher resume [NAME] launcher suspend [NAME] launcher refresh launcher log [NAME] launcher status [NAME] Arguments: KEY the name of the launcher Options: --cloud=CLOUD the name of the cloud --format=FORMAT the output format [launcher: table] --all lists all the launcher values
Description:
Launcher is a command line tool to test the portal launch functionalities through command line.
The current launcher values can by listed with –all option:( if you have a launcher cloud specified. You can also add a cloud parameter to apply the command to a specific cloud)
launcher listA launcher can be deleted with
launcher delete KEY- Examples:
- launcher list –all launcher list –cloud=general launcher delete <KEY>
-
topics
= {'launcher': 'todo'}¶
-
cloudmesh_client.shell.plugins.LimitsCommand module¶
-
class
cloudmesh_client.shell.plugins.LimitsCommand.
LimitsCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_limits
(instance, args)¶ Usage: limits list [--cloud=CLOUD] [--tenant=TENANT] [--format=FORMAT] Current list data with limits on a selected project/tenant. The --tenant option can be used by admin only Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --tenant=TENANT the tenant name Examples: cm limits list cm limits list --cloud=kilo --format=csv
-
topics
= {'limits': 'cloud'}¶
-
cloudmesh_client.shell.plugins.ListCommand module¶
-
class
cloudmesh_client.shell.plugins.ListCommand.
ListCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_list
(instance, args)¶ Usage: list [--cloud=CLOUD] [--format=FORMAT] [--user=USER] [--tenant=TENANT] default list [--cloud=CLOUD] [--format=FORMAT] [--user=USER] [--tenant=TENANT] vm list [--cloud=CLOUD] [--format=FORMAT] [--user=USER] [--tenant=TENANT] flavor list [--cloud=CLOUD] [--format=FORMAT] [--user=USER] [--tenant=TENANT] image List the items stored in the database Options: --cloud=CLOUD the name of the cloud --format=FORMAT the output format --tenant=TENANT Name of the tenant, e.g. fg82. Description: List command prints the values stored in the database for [default/vm/flavor/image]. Result can be filtered based on the cloud, user & tenant arguments. If these arguments are not specified, it reads the default Examples: $ list --cloud india default $ list --cloud india --format table flavor $ list --cloud india --user albert --tenant fg82 flavor
-
topics
= {'list': 'cloud'}¶
-
cloudmesh_client.shell.plugins.LoadCommand module¶
-
class
cloudmesh_client.shell.plugins.LoadCommand.
LoadCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_load
(instance, args)¶ Usage: load MODULE [PYPI] ARGUMENTS: MODULE The name of the module PREDEFINED MODULE NAMES: vbox loads vbox command Examples: cm load cloudmesh_vagrant.cm_vbox.do_vbox lists the plugins currently loaded
-
topics
= {'load': 'shell'}¶
-
cloudmesh_client.shell.plugins.LogLevelCommand module¶
-
class
cloudmesh_client.shell.plugins.LogLevelCommand.
LogLevelCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
-
do_loglevel
(instance, args)¶ Usage: loglevel set MODE [--cloud=CLOUD] loglevel get [--cloud=CLOUD] loglevel save [--cloud=CLOUD] Arguments: MODE log level mode [DEBUG/INFO/WARNING/CRITICAL/ERROR] Options: --cloud=CLOUD the name of the cloud
- Description:
- loglevel command sets the default logging level for a cloud.
- Examples:
- loglevel set DEBUG –cloud=kilo
- sets the default log level to DEBUG for kilo.
- loglevel get –cloud=kilo
- retreives the default log level for kilo cloud.
- loglevel save –cloud=kilo
- saves the log level preference to the db & yaml file.
-
topics
= {'loglevel': 'shell'}¶
-
cloudmesh_client.shell.plugins.ManCommand module¶
-
class
cloudmesh_client.shell.plugins.ManCommand.
ManCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_man
(instance, args)¶ Usage: man COMMAND man [--noheader] Options: --norule no rst header Arguments: COMMAND the command to be printed Description: man Prints out the help pages man COMMAND Prints out the help page for a specific command
-
topics
= {'man': 'shell'}¶
-
cloudmesh_client.shell.plugins.NetworkCommand module¶
-
class
cloudmesh_client.shell.plugins.NetworkCommand.
NetworkCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_network
(instance, args)¶ Usage: network get fixed [ip] [--cloud=CLOUD] FIXED_IP network get floating [ip] [--cloud=CLOUD] FLOATING_IP_ID network reserve fixed [ip] [--cloud=CLOUD] FIXED_IP network unreserve fixed [ip] [--cloud=CLOUD] FIXED_IP network associate floating [ip] [--cloud=CLOUD] [--group=GROUP] [--instance=INS_ID_OR_NAME] [FLOATING_IP] network disassociate floating [ip] [--cloud=CLOUD] [--group=GROUP] [--instance=INS_ID_OR_NAME] [FLOATING_IP] network create floating [ip] [--cloud=CLOUD] [--pool=FLOATING_IP_POOL] network delete floating [ip] [--cloud=CLOUD] [--unused] [FLOATING_IP] network list floating pool [--cloud=CLOUD] network list floating [ip] [--cloud=CLOUD] [--unused] [--instance=INS_ID_OR_NAME] [IP_OR_ID] network create cluster --group=demo_group network -h | --help Options: -h help message --unused unused floating ips --cloud=CLOUD Name of the IaaS cloud e.g. india_openstack_grizzly. --group=GROUP Name of the group in Cloudmesh --pool=FLOATING_IP_POOL Name of Floating IP Pool --instance=INS_ID_OR_NAME ID or Name of the vm instance Arguments: IP_OR_ID IP Address or ID of IP Address FIXED_IP Fixed IP Address, e.g. 10.1.5.2 FLOATING_IP Floating IP Address, e.g. 192.1.66.8 FLOATING_IP_ID ID associated with Floating IP, e.g. 185c5195-e824-4e7b-8581-703abec4bc01 Examples: network get fixed ip --cloud=india 10.1.2.5 network get fixed --cloud=india 10.1.2.5 network get floating ip --cloud=india 185c5195-e824-4e7b-8581-703abec4bc01 network get floating --cloud=india 185c5195-e824-4e7b-8581-703abec4bc01 network reserve fixed ip --cloud=india 10.1.2.5 network reserve fixed --cloud=india 10.1.2.5 network unreserve fixed ip --cloud=india 10.1.2.5 network unreserve fixed --cloud=india 10.1.2.5 network associate floating ip --cloud=india --instance=albert-001 192.1.66.8 network associate floating --cloud=india --instance=albert-001 network associate floating --cloud=india --group=albert_group network disassociate floating ip --cloud=india --instance=albert-001 192.1.66.8 network disassociate floating --cloud=india --instance=albert-001 192.1.66.8 network create floating ip --cloud=india --pool=albert-f01 network create floating --cloud=india --pool=albert-f01 network delete floating ip --cloud=india 192.1.66.8 192.1.66.9 network delete floating --cloud=india 192.1.66.8 192.1.66.9 network list floating ip --cloud=india network list floating --cloud=india network list floating --cloud=india --unused network list floating --cloud=india 192.1.66.8 network list floating --cloud=india --instance=323c5195-7yy34-4e7b-8581-703abec4b network list floating pool --cloud=india network create cluster --group=demo_group
-
topics
= {'network': 'cloud'}¶
-
cloudmesh_client.shell.plugins.NistCommand module¶
-
class
cloudmesh_client.shell.plugins.NistCommand.
NistCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_nist
(instance, args)¶ Usage: nist fingerprint [-c CLUSTER] [-u TEXT] [-N] Arguments: CLUSTER Name of a cluster TEXT String Commands: fingerprint Run the fingerprint example Options: -c --cluster=CLUSTER Name of a defined cluster -u --username=TEXT Username to log in with -N --no-provision Do not provision
-
topics
= {'nist': 'nist'}¶
-
cloudmesh_client.shell.plugins.NovaCommand module¶
-
class
cloudmesh_client.shell.plugins.NovaCommand.
NovaCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_nova
(instance, args)¶ Usage: nova set CLOUD nova info [CLOUD] [--password] nova help nova [--group=GROUP] ARGUMENTS... A simple wrapper for the openstack nova command Arguments: GROUP The group to add vms to ARGUMENTS The arguments passed to nova help Prints the nova manual set reads the information from the current cloud and updates the environment variables if the cloud is an openstack cloud info the environment values for OS Options: --group=GROUP Add VM to GROUP group --password Prints the password -v verbose mode
-
topics
= {'nova': 'cloud'}¶
-
cloudmesh_client.shell.plugins.OpenCommand module¶
-
class
cloudmesh_client.shell.plugins.OpenCommand.
OpenCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_open
(instance, args)¶ Usage: open FILENAME ARGUMENTS: FILENAME the file to open in the cwd if . is specified. If file in in cwd you must specify it with ./FILENAME Opens the given URL in a browser window.
-
topics
= {'open': 'shell'}¶
-
cloudmesh_client.shell.plugins.PortalCommand module¶
-
class
cloudmesh_client.shell.plugins.PortalCommand.
PortalCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_portal
(instance, args)¶ Usage: portal start portal stop Examples: portal start starts the portal and opens the default web page portal stop stops the portal
-
topics
= {'portal': 'cloud'}¶
-
cloudmesh_client.shell.plugins.PyCommand module¶
-
exception
cloudmesh_client.shell.plugins.PyCommand.
EmbeddedConsoleExit
[source]¶ Bases:
exceptions.SystemExit
-
class
cloudmesh_client.shell.plugins.PyCommand.
PyCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_py
(arg)[source]¶ Usage: py py COMMAND Arguments: COMMAND the command to be executed Description: The command without a parameter will be executed and the interactive python mode is entered. The python mode can be ended with ``Ctrl-D`` (Unix) / ``Ctrl-Z`` (Windows), ``quit()``,'`exit()``. Non-python commands can be issued with ``cmd("your command")``. If the python code is located in an external file it can be run with ``run("filename.py")``. In case a COMMAND is provided it will be executed and the python interpreter will return to the command shell. This code is copied from Cmd2.
-
locals_in_py
= True¶
-
pystate
= {}¶
-
topics
= {'open': 'shell'}¶
-
cloudmesh_client.shell.plugins.QuotaCommand module¶
-
class
cloudmesh_client.shell.plugins.QuotaCommand.
QuotaCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_quota
(instance, args)¶ Usage: quota list [--cloud=CLOUD] [--tenant=TENANT] [--format=FORMAT] Prints quota limit on a current project/tenant Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --tenant=TENANT the tenant id Examples: cm quota list cm quota list --cloud=india --format=csv
-
topics
= {'quota': 'cloud'}¶
-
cloudmesh_client.shell.plugins.RefreshCommand module¶
-
class
cloudmesh_client.shell.plugins.RefreshCommand.
RefreshCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_refresh
(instance, args)¶ Usage: refresh on refresh off refresh [list] switches on and off the refresh for clouds
-
topics
= {'refresh': 'shell'}¶
-
cloudmesh_client.shell.plugins.RegisterCommand module¶
-
class
cloudmesh_client.shell.plugins.RegisterCommand.
RegisterCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_register
(instance, args)¶ Usage: register info register backup register new [--force] [--dryrun] register clean [--force] register list ssh [--format=FORMAT] register list [--yaml=FILENAME][--info][--format=FORMAT] register cat [--yaml=FILENAME] register edit [--yaml=FILENAME] register user [USERNAME] register cloud [CLOUD] [--force] register remote [CLOUD] [--force] register export HOST [--password] [--format=FORMAT] register source HOST register merge FILEPATH register form [--yaml=FILENAME] register check [--yaml=FILENAME] register test [--yaml=FILENAME] register json HOST register env [--provider=PROVIDER] register ec2 CLOUD EC2ZIP register ENTRY managing the registered clouds in the cloudmesh.yaml file. It looks for it in the current directory, and than in ~/.cloudmesh. If the file with the cloudmesh.yaml name is there it will use it. If neither location has one a new file will be created in ~/.cloudmesh/cloudmesh.yaml. Some defaults will be provided. However you will still need to fill it out with valid entries. Arguments: HOST the host name USER the user name FILEPATH the path of the file CLOUD the cloud name PROVIDER the provider or type of cloud [Default: openstack] USERNAME Username that would be registered in yaml. Defaults to OS username. Options: --provider=PROVIDER Provider to be used for cloud. Values are: openstack, azure, ec2. --version=VERSION Version of the openstack cloud. --openrc=OPENRC The location of the openrc file --password Prints the password --force ignore interactive questions and execute the action Description: register info lists the clouds specified in the cloudmesh.yaml file in the current directory, and then in ~/.cloudmesh register list [--yaml=FILENAME] [--name] [--info] lists the clouds specified in the cloudmesh.yaml file. If info is specified it also prints the location of the yaml file. register list ssh lists hosts from ~/.ssh/config register cat [--yaml=FILENAME] outputs the cloudmesh.yaml file register edit [--yaml=FILENAME] edits the cloudmesh.yaml file register export HOST [--format=FORMAT] prints the contents of an openrc.sh file based on the information found in the cloudmesh.yaml file. register remote CLOUD [--force] reads the Openstack OPENRC file from a remote host that is described in cloudmesh.yaml file. We assume that the file has already a template for this host. If not it can be created from other examples before you run this command. It uses the OS_OPENRC variable to locate the file and copy it onto your computer. register merge FILENAME Replaces the TBD in cloudmesh.yaml with the contents present in the named file register form [--yaml=FILENAME] interactively fills out the form wherever we find TBD. register check [--yaml=FILENAME] checks the yaml file for completness register test [--yaml=FILENAME] checks the yaml file and executes tests to check if we can use the cloud. TODO: maybe this should be in a test command register json host displays the host details in json format register remote CLOUD registers a remote cloud and copies the openrc file specified in the credentials of the cloudmesh.yaml register CLOUD --dir Copies the entire directory from the cloud and puts it in ~/.cloudmesh/clouds/host For kilo, The directory would be copied to ~/.cloudmesh/clouds/kilo register env [--provider=PROVIDER] [HOSTNAME] Reads env OS_* variables and registers a new cloud in yaml, interactively. Default PROVIDER is openstack and HOSTNAME is localhost. register user [USERNAME] Sets the user in yaml with the value provided.
-
topics
= {'register': 'cloud'}¶
-
cloudmesh_client.shell.plugins.ReservationCommand module¶
-
class
cloudmesh_client.shell.plugins.ReservationCommand.
ReservationCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_reservation
(instance, args)¶ Usage: reservation info --user=USER --project=PROJECT reservation list [--name=NAME] [--user=USER] [--project=PROJECT] [--hosts=HOSTS] [--start=TIME_START] [--end=TIME_END] [--format=FORMAT] reservation delete [all] [--user=USER] [--project=PROJECT] [--name=NAME] [--start=TIME_START] [--end=TIME_END] [--hosts=HOSTS] reservation delete --file=FILE reservation update --name=NAME [--start=TIME_START] [--end=TIME_END] [--user=USER] [--project=PROJECT] [--hosts=HOSTS] [--description=DESCRIPTION] reservation add --name=NAME [--start=TIME_START] [--end=TIME_END] [--user=USER] [--project=PROJECT] [--hosts=HOSTS] [--description=DESCRIPTION] reservation add --file=FILE Arguments: NAME Name of the reservation USER Registration will be done for this user PROJECT Project to be used HOSTS Hosts to reserve TIME_START Start time of reservation TIME_END End time of reservation FORMAT Format of output DESCRIPTION Description for reservation FILE File that contains reservation data to be added/ deleted Options: --name=NAME Names of the reservation --user=USER user name --project=PROJECT project id --start=TIME_START Start time of the reservation, in MM/DD/YYYY at hh:mm aa format. (default value: 01/01/1901 at 12:00 am]) --end=TIME_END End time of the reservation, in MM/DD/YYYY at hh:mm aa format. (default value: 12/31/2100 at 11:59 pm]) --host=HOSTS host name --description=DESCRIPTION description summary of the reservation --file=FILE Adding multiple reservations from one file --format=FORMAT Format is either table, json, yaml or csv [default: table] Description: reservation info lists the resources that support reservation for a given user or project.
-
topics
= {'reservation': 'todo'}¶
-
cloudmesh_client.shell.plugins.ResetCommand module¶
-
class
cloudmesh_client.shell.plugins.ResetCommand.
ResetCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_reset
(instance, args)¶ Usage: reset
Description:
DANGER: This method erases the database and quits the shell.- Examples:
- clean
-
topics
= {'reset': 'cloud'}¶
-
cloudmesh_client.shell.plugins.SecgroupCommand module¶
-
class
cloudmesh_client.shell.plugins.SecgroupCommand.
SecgroupCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_secgroup
(instance, args)¶ Usage: secgroup list [--format=FORMAT] secgroup list --cloud=CLOUD [--format=FORMAT] secgroup list GROUP [--format=FORMAT] secgroup add GROUP RULE FROMPORT TOPORT PROTOCOL CIDR secgroup delete GROUP [--cloud=CLOUD] secgroup delete GROUP RULE secgroup upload [GROUP] [--cloud=CLOUD] Options: --format=FORMAT Specify output format, in one of the following: table, csv, json, yaml, dict. The default value is 'table'. --cloud=CLOUD Name of the IaaS cloud e.g. kilo,chameleoon. The clouds are defined in the yaml file. If the name "all" is used for the cloud all clouds will be selected. Arguments: RULE The security group rule name GROUP The label/name of the security group FROMPORT Staring port of the rule, e.g. 22 TOPORT Ending port of the rule, e.g. 22 PROTOCOL Protocol applied, e.g. TCP,UDP,ICMP CIDR IP address range in CIDR format, e.g., 129.79.0.0/16 Description: security_group command provides list/add/delete security_groups for a tenant of a cloud, as well as list/add/delete of rules for a security group from a specified cloud and tenant. Examples: secgroup list secgroup list --cloud=kilo secgroup add my_new_group webapp 8080 8080 tcp 0.0.0.0/0 seggroup delete my_group my_rule secgroup delete my_unused_group --cloud=kilo secgroup upload --cloud=kilo Description: Security groups are first assembled in a local database. Once they are defined they can be added to the clouds. secgroup list [--format=FORMAT] lists all security groups and rules in the database secgroup list GROUP [--format=FORMAT] lists a given security group and its rules defined locally in the database secgroup list --cloud=CLOUD [--format=FORMAT] lists the security groups and rules on the specified clouds. secgroup add GROUP RULE FROMPORT TOPORT PROTOCOL CIDR adds a security rule with the given group and the details of the security ruls secgroup delete GROUP [--cloud=CLOUD] Deletes a security group from the local database. To make the change on the remote cloud, using the 'upload' command afterwards. If the --cloud parameter is specified, the change would be made directly on the specified cloud secgroup delete GROUP RULE deletes the given rule from the group. To make this change on the remote cloud, using 'upload' command. secgroup upload [GROUP] [--cloud=CLOUD...] uploads a given group to the given cloud. If the cloud is not specified the default cloud is used. If the parameter for cloud is "all" the rules and groups will be uploaded to all active clouds. This will synchronize the changes (add/delete on security groups, rules) made locally to the remote cloud(s).
-
topics
= {'secgroup': 'security'}¶
-
cloudmesh_client.shell.plugins.SecureShellCommand module¶
-
class
cloudmesh_client.shell.plugins.SecureShellCommand.
SecureShellCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
-
do_ssh
(instance, args)¶ Usage: ssh table ssh list [--format=FORMAT] ssh cat ssh register NAME PARAMETERS ssh ARGUMENTS conducts a ssh login on a machine while using a set of registered machines specified in ~/.ssh/config Arguments: NAME Name or ip of the machine to log in list Lists the machines that are registered and the commands to login to them PARAMETERS Register te resource and add the given parameters to the ssh config file. if the resoource exists, it will be overwritten. The information will be written in /.ssh/config Options: -v verbose mode --format=FORMAT the format in which this list is given formats incluse table, json, yaml, dict [default: table] --user=USER overwrites the username that is specified in ~/.ssh/config --key=KEY The keyname as defined in the key list or a location that contains a pblic key Description: ssh list lists the hostsnames that are present in the ~/.ssh/config file ssh cat prints the ~/.ssh/config file ssh table prints contents of the ~/.ssh/config file in table format ssh register NAME PARAMETERS registers a host i ~/.ssh/config file Parameters are attribute=value pairs Note: Note yet implemented ssh ARGUMENTS executes the ssh command with the given arguments Example: ssh myhost conducts an ssh login to myhost if it is defined in ~/.ssh/config file
-
topics
= {'ssh': 'security'}¶
-
cloudmesh_client.shell.plugins.SelectCommand module¶
-
class
cloudmesh_client.shell.plugins.SelectCommand.
SelectCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_select
(instance, args)¶ Usage: select image [CLOUD] [--refresh] select flavor [CLOUD] [--refresh] select cloud [CLOUD] select key [CLOUD] selects interactively the default values Arguments: CLOUD the name of the cloud Options: --refresh refreshes the data before displaying it from the cloud
-
topics
= {'select': 'cloud'}¶
-
cloudmesh_client.shell.plugins.ServerCommand module¶
-
class
cloudmesh_client.shell.plugins.ServerCommand.
ServerCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_server
(instance, args)¶ - Usage:
- server
- Options:
- -h –help -v verbose mode
- Description:
Starts up a REST service and a WEB GUI so one can browse the data in an existing cloudmesh database.
The location of the database is supposed to be in
~/.cloud,esh/cloudmesh.db
-
topics
= {'server': 'cloud'}¶
-
cloudmesh_client.shell.plugins.SetupCommand module¶
-
class
cloudmesh_client.shell.plugins.SetupCommand.
SetupCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_setup
(instance, args)¶ Usage: setup Examples: cm setup
-
topics
= {'setup': 'cloud'}¶
-
cloudmesh_client.shell.plugins.StackCommand module¶
-
class
cloudmesh_client.shell.plugins.StackCommand.
Command
[source]¶ Bases:
object
-
class
cloudmesh_client.shell.plugins.StackCommand.
StackCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_stack
(instance, args)¶ Usage: stack check stack init [-fU] [--no-activate] [-s STACK] [-n NAME] [-u NAME] [-b NAME] [-o DEFN]... [-p PLAY] <ip>... stack deploy [-f] [-n NAME] stack project [-l] [<name>] Commands: check Sanity check init Initialize a stack deploy Deploy a stack project List and activate projects Arguments: STACK Name of the stack. Options: (bds) NAME Alphanumeric name DEFN In the form: play1:k1=v1,k2=v2,... PLAY In the form: playbook,playbook,... Options: -v --verbose --no-activate Do not activate a project upon creation -s STACK --stack=STACK The stack name [default: bds] -n NAME --name=NAME Name of the project (if not specified during creation, generated). -u NAME --username=NAME Name of login user to cluster [default: $USER] -b NAME --branch=NAME Name of the stack's branch to clone from [default: master] -o DEFN --overrides=DEFN Overrides for a playbook, may be specified multiple times -p PLAY --playbooks=PLAY Playbooks to run -f --force Force rerunning a command to continue -U --update Update the stack -l --list List Examples: The following example assumes that a cluster (Ubuntu 14.04) has been launched already and can be accessed by the 'ubuntu` user at addresses 10.0.0.10, 10.0.0.11, and 10.0.0.12. # verify the environment cm stack check # create a project for the cluster with given username and addresses cm stack init -u ubuntu -p play-hadoop.yml,addons/spark.yml 10.0.0.10 10.0.0.11 10.0.0.12 # deploy hadoop, spark to the cluster cm stack deploy
-
topics
= {'stack': 'cloud'}¶
-
cloudmesh_client.shell.plugins.SubmitCommands module¶
-
class
cloudmesh_client.shell.plugins.SubmitCommands.
SubmitCommands
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
-
do_submit
(instance, args)¶ Usage: submit ARGUMENTS... We do not yet know what this command will do ;-) Arguments: ARGUMENTS The arguments passed to nova Options: -v verbose mode
-
topics
= {'submit': 'system'}¶
-
cloudmesh_client.shell.plugins.SyncCommand module¶
-
class
cloudmesh_client.shell.plugins.SyncCommand.
SyncCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_rsync
(instance, args)¶ Usage: rsync ARGUMENTS... A simple wrapper for rsync command Arguments: ARGUMENTS The arguments passed to nova Options: -v verbose mode
-
do_sync
(instance, args)¶ Usage: sync put [--cloud=CLOUD] LOCALDIR [REMOTEDIR] sync get [--cloud=CLOUD] REMOTEDIR LOCALDIR A simple wrapper for the openstack nova command Arguments: LOCALDIR A directory on local machine REMOTEDIR A directory on remote machine Options: --cloud=CLOUD Sync with cloud
-
topics
= {'rsync': 'system', 'sync': 'system'}¶
-
cloudmesh_client.shell.plugins.TerminalCommands module¶
-
class
cloudmesh_client.shell.plugins.TerminalCommands.
TerminalCommands
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.ShellPluginCommand
,cloudmesh_client.shell.command.CometPluginCommand
Usage: banner [-c CHAR] [-n WIDTH] [-i INDENT] [-r COLOR] TEXT... Arguments: TEXT... The text message from which to create the banner CHAR The character for the frame. WIDTH Width of the banner INDENT indentation of the banner COLOR the color Options: -c CHAR The character for the frame. [default: #] -n WIDTH The width of the banner. [default: 70] -i INDENT The width of the banner. [default: 0] -r COLOR The color of the banner. [default: BLACK] Prints a banner form a one line text message.
-
do_clear
(instance, args)¶ - Usage:
- clear
Clears the screen.
-
do_echo
(instance, args)¶ Usage: echo [-r COLOR] TEXT Arguments: TEXT The text message to print COLOR the color Options: -r COLOR The color of the text. [default: BLACK] Prints a text in the given color
-
do_pause
(instance, args)¶ Usage: pause [MESSAGE] Displays the specified text then waits for the user to press RETURN. Arguments: MESSAGE message to be displayed
-
do_sleep
(instance, args)¶ - Usage:
- sleep SECONDS
Clears the screen.
-
do_verbose
(instance, args)¶ - Usage:
- verbose (True | False) verbose
NOTE: NOT YET IMPLEMENTED. If it sets to True, a command will be printed before execution. In the interactive mode, you may want to set it to False. When you use scripts, we recommend to set it to True.
The default is set to False
If verbose is specified without parameter the flag is toggled.
-
topics
= {'clear': 'shell', 'puase': 'shell', 'banner': 'shell', 'echo': 'shell'}¶
cloudmesh_client.shell.plugins.TestCommand module¶
-
class
cloudmesh_client.shell.plugins.TestCommand.
TestCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_test
(instance, args)¶ Usage: test list test [TEST] [NUMBER] [--test=TESTER] This is an internal command and is ment for developers. If executed, in the source directory, it will execute the specified series of tests in the tests directory. managing the admins test test test test Arguments: TEST the name of the test directory NUMBER the number of a specific test Options: --test=TESTER nosetests or py.test. [default: nosetests -v --nocapture] Examples: cm test var finds the first test that contains var and than executes all tests in it cm test var 4 finds the first test that contains var and than executes the test with number 004
-
topics
= {'test': 'cloud'}¶
-
cloudmesh_client.shell.plugins.TimerCommand module¶
-
class
cloudmesh_client.shell.plugins.TimerCommand.
TimerCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_timer
(instance, args)¶ Usage: timer on timer off timer list [NAME] timer start NAME timer stop NAME timer resume NAME timer reset [NAME] Description: timer on | off switches timers on and off not yet implemented. If the timer is on each command will be timed and its time is printed after the command. Please note that background command times are not added. timer list list all timers timer start NAME starts the timer with the name. A start resets the timer to 0. timer stop NAME stops the timer timer resume NAME resumes the timer timer reset NAME resets the named timer to 0. If no name is specified all timers are reset
-
topics
= {'timer': 'shell'}¶
-
cloudmesh_client.shell.plugins.UsageCommand module¶
-
class
cloudmesh_client.shell.plugins.UsageCommand.
UsageCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_usage
(instance, args)¶ Usage: usage list [--cloud=CLOUD] [--start=START] [--end=END] [--tenant=TENANT] [--format=FORMAT] Show usage data. Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --tenant=TENANT the tenant name --start=START Usage range start date ex 2012-01-20, default is: 4 weeks ago --end=END Usage range end date, ex 2012-01-20, default is: tomorrow Examples: cm usage list
-
topics
= {'usage': 'cloud'}¶
-
cloudmesh_client.shell.plugins.VcCommand module¶
-
class
cloudmesh_client.shell.plugins.VcCommand.
VcCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_vc
(instance, args)¶ Usage: vc key add KEYFILE NAMES [--username=USERNAME] [--proxy=PROXY] vc key distribute NAMES [--username=USERNAME] [--proxy=PROXY] vc key list NAMES [--usort] [--username=USERNAME] [--proxy=PROXY] [--format=FORMAT] vc key proxy NAMES [--username=USERNAME] [--proxy=PROXY] Options: --format=FORMAT the output format [default: table] Description: see examples Examples: cm vc key add keys.txt gregor-[001-010] adds the keys in the file keys.txt to the authorized_keys file in the user that is registered for the vm cm vc key add keys.txt gregor-[001-010] --username=ubuntu adds the keys in the file keys.txt to the authorized_keys file in the user ubuntu for each of the vms vc key distribute gregor-[001-010] gathers the keys from the host gathers it into a single file and adds them to the authorized keys file. Duplicated keys will be ignored. vc key list gregor-[001-010] [--usort] creates a table with all keys in authorized_keys from all of the remote machines. If the parameter usort is specified it only lists the key once, but lists in the host column the list of all host on which the key is stored Proxy server vc key proxy NAMES sometimes you may not have enough floating IPs so it is possible to dedicate one machine as a proxy server that has such a floating ip. The way this is done is that you need to set up ssh tunnels via the proxy server in your .ssh/config file. The command will print a template that you could include in your .ssh/config file to gain easily access to your other machines without floating ip. For example it will generate the following for a given PROXY host, USERNAME, and vm1 is the name of the first vm in NAMES Host vm1 User USERNAME Hostname PROXY ProxyCommand ssh 10.1.1.2 nc %h %p ForwardX11 yes Note: this is just a draft and will be improved upon discussion with the team
-
topics
= {'vc': 'todo'}¶
-
cloudmesh_client.shell.plugins.VmCommand module¶
-
class
cloudmesh_client.shell.plugins.VmCommand.
VmCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_vm
(instance, args)¶ Usage: vm default [--cloud=CLOUD][--format=FORMAT] vm refresh [all][--cloud=CLOUD] vm boot [--name=NAME] [--cloud=CLOUD] [--username=USERNAME] [--image=IMAGE] [--flavor=FLAVOR] [--group=GROUP] [--public] [--secgroup=SECGROUP] [--key=KEY] [--dryrun] vm boot [--n=COUNT] [--cloud=CLOUD] [--username=USERNAME] [--image=IMAGE] [--flavor=FLAVOR] [--group=GROUP] [--public] [--secgroup=SECGROUP] [--key=KEY] [--dryrun] vm ping [NAME] [N] vm console [NAME] [--group=GROUP] [--cloud=CLOUD] [--force] vm start [NAMES] [--group=GROUP] [--cloud=CLOUD] [--force] vm stop [NAMES] [--group=GROUP] [--cloud=CLOUD] [--force] vm terminate [NAMES] [--group=GROUP] [--cloud=CLOUD] [--force] vm delete [NAMES] [--group=GROUP] [--cloud=CLOUD] [--keep] [--dryrun] vm ip assign [NAMES] [--cloud=CLOUD] vm ip show [NAMES] [--group=GROUP] [--cloud=CLOUD] [--format=FORMAT] [--refresh] vm ip inventory [NAMES] [--header=HEADER] [--file=FILE] vm ssh [NAME] [--username=USER] [--quiet] [--ip=IP] [--cloud=CLOUD] [--key=KEY] [--command=COMMAND] [--modify-knownhosts] vm rename [OLDNAMES] [NEWNAMES] [--force] [--dryrun] vm list [NAMES] [--cloud=CLOUDS|--active] [--group=GROUP] [--format=FORMAT] [--refresh] vm status [NAMES] vm wait [--cloud=CLOUD] [--interval=SECONDS] vm info [--cloud=CLOUD] [--format=FORMAT] vm check NAME vm username USERNAME [NAMES] [--cloud=CLOUD] Arguments: COMMAND positional arguments, the commands you want to execute on the server(e.g. ls -a) separated by ';', you will get a return of executing result instead of login to the server, note that type in -- is suggested before you input the commands NAME server name. By default it is set to the name of last vm from database. NAMES server name. By default it is set to the name of last vm from database. KEYPAIR_NAME Name of the openstack keypair to be used to create VM. Note this is not a path to key. NEWNAMES New names of the VM while renaming. OLDNAMES Old names of the VM while renaming. Options: -H --modify-knownhosts Do not modify ~/.ssh/known_hosts file when ssh'ing into a machine --username=USERNAME the username to login into the vm. If not specified it will be guessed from the image name and the cloud --ip=IP give the public ip of the server --cloud=CLOUD give a cloud to work on, if not given, selected or default cloud will be used --count=COUNT give the number of servers to start --detail for table print format, a brief version is used as default, use this flag to print detailed table --flavor=FLAVOR give the name or id of the flavor --group=GROUP give the group name of server --secgroup=SECGROUP security group name for the server --image=IMAGE give the name or id of the image --key=KEY specify a key to use, input a string which is the full path to the private key file --keypair_name=KEYPAIR_NAME Name of the openstack keypair to be used to create VM. Note this is not a path to key. --user=USER give the user name of the server that you want to use to login --name=NAME give the name of the virtual machine --force rename/ delete vms without user's confirmation --command=COMMAND specify the commands to be executed Description: commands used to boot, start or delete servers of a cloud vm default [options...] Displays default parameters that are set for vm boot either on the default cloud or the specified cloud. vm boot [options...] Boots servers on a cloud, user may specify flavor, image .etc, otherwise default values will be used, see how to set default values of a cloud: cloud help vm start [options...] Starts a suspended or stopped vm instance. vm stop [options...] Stops a vm instance . vm delete [options...] Delete servers of a cloud, user may delete a server by its name or id, delete servers of a group or servers of a cloud, give prefix and/or range to find servers by their names. Or user may specify more options to narrow the search vm floating_ip_assign [options...] assign a public ip to a VM of a cloud vm ip show [options...] show the ips of VMs vm ssh [options...] login to a server or execute commands on it vm list [options...] same as command "list vm", please refer to it vm status [options...] Retrieves status of last VM booted on cloud and displays it. Tip: give the VM name, but in a hostlist style, which is very convenient when you need a range of VMs e.g. sample[1-3] => ['sample1', 'sample2', 'sample3'] sample[1-3,18] => ['sample1', 'sample2', 'sample3', 'sample18'] Quoting commands: cm vm login gvonlasz-004 --command="uname -a"
-
topics
= {'vm': 'cloud'}¶
-
cloudmesh_client.shell.plugins.WhoCommand module¶
-
class
cloudmesh_client.shell.plugins.WhoCommand.
WhoCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
-
do_who
(instance, args)¶ Usage: who hostname
-
topics
= {'Who ': 'system'}¶
-
cloudmesh_client.shell.plugins.WorkflowCommand module¶
-
class
cloudmesh_client.shell.plugins.WorkflowCommand.
WorkflowCommand
(context)[source]¶ Bases:
cloudmesh_client.shell.command.PluginCommand
,cloudmesh_client.shell.command.CloudPluginCommand
-
do_workflow
(instance, args)¶ Usage: workflow refresh [--cloud=CLOUD] [-v] workflow list [ID] [NAME] [--cloud=CLOUD] [--format=FORMAT] [--refresh] [-v] workflow add NAME LOCATION workflow delete ID workflow status [NAMES] workflow show ID workflow save NAME WORKFLOWSTR workflow run NAME workflow service start workflow service stop This lists out the workflows present for a cloud Options: --format=FORMAT the output format [default: table] --cloud=CLOUD the cloud name --refresh refreshes the data before displaying it from the cloud Examples: cm workflow refresh cm workflow list cm workflow list --format=csv cm workflow show 58c9552c-8d93-42c0-9dea-5f48d90a3188 --refresh cm workflow run workflow1
-
topics
= {'workflow': 'todo'}¶
-