labmanagersoapapi的命令行接口
lmsh的Python项目详细描述
概述
lab manager shell是lab manager的soap api的命令行接口。 它目前只支持Lab Manager的外部API。
命令
每个命令都有文档记录,可以通过帮助命令使用,其中 接受单个参数、命令名或不接受参数。 如果不给出任何参数,那么所有现有命令都将是 显示。例如:
(lmsh) help Documented commands (type help <topic>): ======================================== checkout delete deploy list machines show undeploy
表格填写的数量也很有限,主要是 自动完成命令和子命令。自动完成参数 例如,配置id需要查询lab manager服务器, 这将需要相当长的时间来自动完成。
是现有命令在运行中的一个示例。
列出库和工作区中的所有计算机:
(lmsh) list id | name | deployed | type | owner =======+================================+==========+============+================ 191 | TestServerOne | False | workspace | testowner1 289 | TestServerTwo | True | workspace | testowner2 1393 | TestServerThree | False | library | testowner2
显示配置ID 289中的所有计算机(用于查看IP 机器地址:
(lmsh) machines 289 id | name | internal | MAC | memory | config =====+========+===============+===================+========+======= 9601 | web1 | 172.10.10.100 | 00:50:56:0b:0e:01 | 1024 | 289 9602 | web2 | 172.10.10.101 | 00:50:56:0b:0e:02 | 1024 | 289 9603 | web3 | 172.10.10.102 | 00:50:56:0b:0e:03 | 1024 | 289 9604 | db1 | 172.10.10.103 | 00:50:56:0b:0e:04 | 4096 | 289
部署/取消部署配置:
(lmsh) undeploy 289 Undeploying config... (lmsh) deploy unfenced 289 Deploying config... (lmsh)
可编写脚本的单个命令
也可以在不输入交互式shell的情况下运行单个命令:
[user@machine ~]$ lmsh machines 289 id | name | internal | MAC | memory | config =====+========+===============+===================+========+======= 9601 | web1 | 172.10.10.100 | 00:50:56:0b:0e:01 | 1024 | 289 9602 | web2 | 172.10.10.101 | 00:50:56:0b:0e:02 | 1024 | 289 9603 | web3 | 172.10.10.102 | 00:50:56:0b:0e:03 | 1024 | 289 9604 | db1 | 172.10.10.103 | 00:50:56:0b:0e:04 | 4096 | 289
这允许你做一些事情,比如在程序上取消部署所有 使用命令行/BASH的现有配置:
for id in $(lmsh list workspace | grep '^[0-9]' | cut -d' ' -f 1) do lmsh undeploy $id done
尽管对于更复杂的用途,您可能只想使用 labmanager.api模块直接在python中。
配置
您可以通过 命令行或rc文件。例如,以下各项:
$ lmsh --hostname=mylabmanager.com --username=myusername \ --organization=myorg --workspace=myworkspace
相当于:
$ cat > ~/.lmshrc [default] hostname=mylabmanager.com username=myusername organization=myorg workspace=myworkspace $ lmsh
注意,上面的配置位于default部分。你可以 在~/.lmshrc中定义多个节,然后指定 使用--section选项加载哪些配置选项。
您还可以在配置文件中指定password选项。如果 配置文件没有password选项,那么您将 运行lmsh时提示输入密码:
$ lmsh password: (lmsh)
命令行选项与rc选项合并,因此命令行选项将 重写配置值。如果你想把your~/.lmshrc文件中的默认值。例如,运行此命令 (假设您在~/.lmshrc中有上述配置文件):
$ lmsh --workspace=alternate_workspace
首先加载~/.lmshrc,然后重写工作区值 从myworkspace到alternate_workspace。最终的结果是 hostname、username和organization从 ~/.lmshrc文件和workspace值从该值加载 在命令行中指定。