设为首页 收藏本站
查看: 811|回复: 0

[经验分享] Openstack API常用命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-6 08:56:47 | 显示全部楼层 |阅读模式
一、基本部分
1、获得admin租户的基本信息
curl -i 'http://10.30.210.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "admin"}}}'

curl -i 'http://10.240.216.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "admin"}}}'

2、把token值赋值一个变量如下
token="MIIJrQYJKoZIhvcNAQcCoIIJnjCCCZoCAQExCTAHBgUrDgMCGjCCCAMGCSqGSIb3DQEHAaCCB-QEggfweyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wOS0xN1QxNTozMjoyNC4xMjIwMTciLCAiZXhwaXJlcyI6ICIyMDE0LTA5LTE4VDE1OjMyOjI0WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogIkFkbWluIFRlbmFudCIsICJlbmFibGVkIjogdHJ1ZSwgImlkIjogIjBmZjg2ODY0NTA0NjRmYjY4ZDc1MGIyOWQ0NzdhNTM4IiwgIm5hbWUiOiAiYWRtaW4ifX0sICJzZXJ2aWNlQ2F0YWxvZyI6IFt7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTo4Nzc2L3YxLzBmZjg2ODY0NTA0NjRmYjY4ZDc1MGIyOWQ0NzdhNTM4IiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjg3NzYvdjEvMGZmODY4NjQ1MDQ2NGZiNjhkNzUwYjI5ZDQ3N2E1MzgiLCAiaWQiOiAiMDU5NjFlZDcyOGI0NGE2N2EwOTFkMzFlOGQyZGRkMGEiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTo4Nzc2L3YxLzBmZjg2ODY0NTA0NjRmYjY4ZDc1MGIyOWQ0NzdhNTM4In1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogInZvbHVtZSIsICJuYW1lIjogImNpbmRlciJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTo5MjkyIiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjkyOTIiLCAiaWQiOiAiNTg0ODQyNzVmMTFjNDE1MGJjMWU4YjJiYTJmYjVmOGQiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTo5MjkyIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiZ2xhbmNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjg3NzQvdjIvMGZmODY4NjQ1MDQ2NGZiNjhkNzUwYjI5ZDQ3N2E1MzgiLCAicmVnaW9uIjogInJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vMTAuMzAuMjEwLjE6ODc3NC92Mi8wZmY4Njg2NDUwNDY0ZmI2OGQ3NTBiMjlkNDc3YTUzOCIsICJpZCI6ICI0NzczNThjNjVmMTE0MjA0ODJhYWJlMjYzYmNlMGFkMyIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjg3NzQvdjIvMGZmODY4NjQ1MDQ2NGZiNjhkNzUwYjI5ZDQ3N2E1MzgifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZSIsICJuYW1lIjogIm5vdmEifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMzAuMjEwLjE6OTY5NiIsICJyZWdpb24iOiAicmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTo5Njk2IiwgImlkIjogIjU3NGFjMmUxNjkzZjRhMmM5NjBhNTZiMmE1NGQ0ZDRiIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMzAuMjEwLjE6OTY5NiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJuZXR3b3JrIiwgIm5hbWUiOiAibmV1dHJvbiJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xMC4zMC4yMTAuMTozNTM1Ny92Mi4wIiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjUwMDAvdjIuMCIsICJpZCI6ICI0NGQ2NWZmOTk2YTU0Mjg1OTU1NThhNTdiOTQ3MDMyOCIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjMwLjIxMC4xOjUwMDAvdjIuMCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpZGVudGl0eSIsICJuYW1lIjogImtleXN0b25lIn1dLCAidXNlciI6IHsidXNlcm5hbWUiOiAiYWRtaW4iLCAicm9sZXNfbGlua3MiOiBbXSwgImlkIjogIjcxMDQxMTFiMGRmZDQ4MGFiNDRjY2Y2MWFiNjU0ZGNiIiwgInJvbGVzIjogW3sibmFtZSI6ICJhZG1pbiJ9XSwgIm5hbWUiOiAiYWRtaW4ifSwgIm1ldGFkYXRhIjogeyJpc19hZG1pbiI6IDAsICJyb2xlcyI6IFsiNDliYWNlNDUyNzgxNGNjZmI5NDZiMDk1YWEwMTJmNGYiXX19fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQABkv9MGm7zbD5HMstcerFTOaefz8BO6f2mraV2HNVsLTtmSNs-o6771ynNcHbpEVdJqEJTuC-I6ujlU0xcqRMHl8qvWoI6cwKo0Ltt88yxVe0V+Bf0IJPu3Yt6ONGz1wb8rfQOzhSNQfQ+bd5MC69ojPAN1SGD+kcfIv+Zhftn-g8x1zINMr3wbmdt+9JzZ97vveteDdMH5fA2qWrEKhjCOp6hIi0hGoKVafJ6l3-EoF-9QOOJey0jGDEPHBYEFoO6oBNR5d8NCdJCdiMWGkZobyJE1Mbe3Qv3fhe3e11N3gjc6ahSFJoPM9e7uWtoHzQe4x8o1BGXTHZFddQRs1tS"  

3、查看租户列表
curl -i -X GET http://10.30.210.1:35357/v2.0/tenants -H "User-Agent: python-keystoneclient" -H "X-Auth-Token: $token"

4、查看endpoint列表
curl -i -X GET http://10.30.210.1:35357/v2.0/endpoints -H "User-Agent: pythonkeystoneclient" -H "X-Auth-Token: $token"

5、查看amin用户下的所有的虚拟机
curl -v -H "X-Auth-Token:$token" http://10.30.210.1:8774/v2/05961 ... 31e8d2ddd0a/servers

6、查看admin租户型的主机类型
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... fd0f8ddc038/flavors  -H "X-Auth-Token:$token"
二、glance部分
1、查看glance服务支持的api版本的信息
curl -i -X GET http://10.30.210.1:9292/  -H "X-Auth-Token:$token"
2、查看glance中所有的镜像
curl -i -X GET http://10.30.210.1:9292/v2/images  -H "X-Auth-Token:$token"
3、查看指定镜像的信息
curl -i -X GET http://10.30.210.1:9292/v2/image ... a-8926-6b2eb9abfc6a  -H "X-Auth-Token:$token"
4、以二进制的形式下载一个镜像
curl -i -X GET http://10.30.210.1:9292/v2/image ... 6-6b2eb9abfc6a/file -H "X-Auth-Token:$token"
5、查看一个镜像所属的租户
curl -i -X GET http://10.30.210.1:9292/v2/image ... b2eb9abfc6a/members  -H "X-Auth-Token:$token"
6、删除一个镜像
curl -i -X DELETE http://10.30.210.1:9292/v2/image ... f-9fc0-c64d7abb97af -H "X-Auth-Token:$token"
7、查看一个镜像的概述
curl -i -X GET http://10.30.210.1:9292/v2/schemas/images -H "X-Auth-Token:$token"

三、compute部分
1、查看compute支持的版本信息
curl -i -X GET http://10.30.210.1:8774/  -H "X-Auth-Token:$token"
2、查看compute api细节
curl -i -X GET http://10.30.210.1:8774/v2/  -H "X-Auth-Token:$token"
3、查看一个租户的限制
curl -i -X GET http://10.30.210.1:8774/v2/0ff86 ... 0b29d477a538/limits  -H "X-Auth-Token:$token"
4、查看一个租户内的虚拟机信息
curl -i -X GET http://10.30.210.1:8774/v2/0ff86 ... b29d477a538/servers  -H "X-Auth-Token:$token"
5、查看所有虚拟机的详细信息
curl -i -X GET http://10.30.210.1:8774/v2/0ff86 ... a538/servers/detail  -H "X-Auth-Token:$token"
6、查看某个虚拟机的详细信息
curl -i -X GET http://10.30.210.1:8774/v2/0ff86 ... 7-b30d-183b731f46f5  -H "X-Auth-Token:$token"
7、修改一个虚拟机的hostname
curl -i -X PUT http://10.30.210.1:8774/v2/0ff86 ... 7-b30d-183b731f46f5  -H "X-Auth-Token:$token" -H "Content-Type: application/json" -H "Accept: application/json" -d '{"server": {"name": "jiayuan"}}'
8、修改一个虚拟机的IP地址
curl -i -X PUT http://10.240.216.1:8774/v2/2ae4 ... 4-9173-dece4d7eeeb3  -H "X-Auth-Token:$token" -H "Content-Type: application/json" -H "Accept: application/json" -d '{ "server": {"accessIPv4": "10.240.215.100"}}'
9、查看一台虚拟机的元数据
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... ce4d7eeeb3/metadata  -H "X-Auth-Token:$token"
10、创建一个虚拟机的元数据信息
curl -i -X PUT http://10.240.216.1:8774/v2/2ae4 ... ce4d7eeeb3/metadata  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"metadata": {"name": "test_server"}}'
11、修改一个虚拟机的元数据信息
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ce4d7eeeb3/metadata  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"metadata": {"name": "jiayuan"}}'
12、查看一个虚拟机的IP
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... 73-dece4d7eeeb3/ips  -H "X-Auth-Token:$token"
13、重启一台虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"reboot": {"type": "SOFT"}}'
14、调整一个虚拟机的尺寸大小(即更换主机模板类型)
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"resize": {"flavorRef": "b642b30f-3fd2-4215-b7b4-e334539f7f70"}}'

确认调整的尺寸大小
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"confirmResize": null}'
恢复原来的尺寸(此操作的意思是撤销调整操作)
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"revertResize": null}'

15、给一个虚拟机创建快照
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"createImage": {"name": "jiayuan-2014-9-19","metadata": {"myvar": "jiayuan-2014-9-19"}}}'
16、查看某租户下的flavor类型
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... fd0f8ddc038/flavors  -H "X-Auth-Token:$token"
17、查看flavor类型的细节
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... c038/flavors/detail  -H "X-Auth-Token:$token"
18、查看某个主机类型的细节
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... 5-b7b4-e334539f7f70  -H "X-Auth-Token:$token"
19、迁移一台机器(整体迁移迁移的过程中会重启15秒内可以完成)
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"migrate": null}'
确认迁移
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"confirmResize": null}'
20、热迁移(迁移的过程中不重启5秒内可以完成)
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"os-migrateLive": {"host": "os-node11","block_migration": false,"disk_over_commit": false}}'
21、设置虚拟机的状态
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"os-resetState": {"state": "active"}}'
22、查看计算节点的宿主机信息
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... c038/os-hypervisors -H "X-Auth-Token:$token"
23、查看计算节点的宿主机的详细信息
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... -hypervisors/detail -H "X-Auth-Token:$token"
24、查看一个虚拟机的网络端口
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... 5c7937/os-interface -H "X-Auth-Token:$token"
25、给虚拟机添加一个网络端口
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... 7eeeb3/os-interface -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"interfaceAttachment": {"port_id": "eca295ae-d4dc-49fe-883f-cc321ffacab2"}}'
26、搁置一个虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"shelve": null}'
27、
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"shelveOffload": null}'
28、恢复一个搁置的虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... dece4d7eeeb3/action -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"unshelve": null}'
29、开机一个虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"os-start": null}'
30、关闭一个虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"os-stop": null}'
31、暂停一个虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"pause": null}'
32、恢复暂停的虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"unpause": null}'
33、挂起一个虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"suspend": null}'
34、恢复挂起的虚拟机
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"resume": null}'
35、给一个虚拟机添加一个安全组
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"addSecurityGroup": {"name": "test"}}'
36、删除一个虚拟机的安全
curl -i -X POST http://10.240.216.1:8774/v2/2ae4 ... ac83c15c7937/action  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"removeSecurityGroup": {"name": "test"}}'
37、查看一个虚拟机各个资源的使用情况
curl -i -X GET http://10.240.216.1:8774/v2/2ae4 ... 15c7937/diagnostics -H "X-Auth-Token:$token"  
38、创建一个主机类型
curl -i -X POST  http://10.240.216.1:8774/v2/2ae4 ... fd0f8ddc038/flavors  -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"flavor": {"name": "test_flavor","ram": 1024,"vcpus": 2,"disk": 10,"id": "10","os-flavor-access:is_public": false}}'
40、查看主机类型的访问权限
curl -i -X GET  http://10.240.216.1:8774/v2/2ae4 ... 10/os-flavor-access  -H "X-Auth-Token:$token"
41、添加主机类型的访问权限
curl -i -X POST  http://10.240.216.1:8774/v2/2ae4 ... 8/flavors/10/action   -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"addTenantAccess": {"tenant": "admin"}}'
42、删除某租户对某主机类型的访问权限
curl -i -X POST  http://10.240.216.1:8774/v2/2ae4 ... 8/flavors/10/action   -H "X-Auth-Token:$token"  -H "Content-Type: application/json" -H "Accept: application/json" -d '{"removeTenantAccess": {"tenant": "admin"}}'


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-135651-1-1.html 上篇帖子: 在CentOS中,yum install 时候出现Another app is currently holding the yum lock解决方法 下篇帖子: du命令和df命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表