CURL 测试openstack

来源:互联网 发布:android 布局优化工具 编辑:程序博客网 时间:2024/06/02 05:09

参考:

http://api.openstack.org/api-ref.html

http://keystone.openstack.org/configuration.html

http://keystone.openstack.org/api_curl_examples.html

 

http://docs.openstack.org/api/openstack-image-service/1.0/content/requesting-detailed-metadata-on-public-vm-images.html

http://glance.openstack.org/glanceapi.html

http://glance.openstack.org/formats.html

 

 

http://www.pubyun.com/blog/openstack/glance-api-%e7%9a%84%e5%ae%9e%e9%aa%8ccurl/

http://www.pubyun.com/blog/openstack/openstack-keystone-api-%E5%AE%9E%E9%AA%8Ccurl/

 

 

openstack各个服务的端口

 

 

1.获取普通token

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

 

结果:

{"access": {"token": {"expires": "2013-01-05T07:15:47Z", "id": "0f3c2b79fcde43a3a6a945be1f1eb7d5"}, "serviceCatalog": {}, "user": {"username": "admin", "roles_links": [], "id": "c6c6216e73f84d6da659ecc9f5bd65a4", "roles": [], "name": "admin"}}}

 

这样取回来的token在有tenants的api中不能用,返回错误码300

2.获取用户在一个tenant的token

curl -X POST -d  '{"auth": {"tenantName": "admin", "passwordCredentials":{"username": "admin", "password": "password"}}}' -H "Content-type: application/json"http://127.0.0.1:5000/v2.0/tokens | python -mjson.tool

5000或者35357都可以 

你就可以获得一个24小时的token

token": {
            "expires": "2013-01-08T07:39:23Z",
            "id": "a35553b41a444d1cbdf8e63b40008df8",
            "tenant": {
                "description": "openstack-vlan962",
                "enabled": true,
                "id": "7760fe01efb749029a41100ee12eae02",
                "name": "openstack-vlan962"
            }

 

3.查看自己的租户

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:5000/v2.0/tenants

 

4.获取某个extensions

curl -X GET  http://127.0.0.1:35357/v2.0/extensions  -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8"  -H "Content-Type: application/json"

 

5.获取密钥


curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-keypairs

6.获取实例

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/servers    -H "Content-Type: application/json"

7.获取主机列表:

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v1.1/7760fe01efb749029a41100ee12eae02/os-hosts

返回:

{"hosts": [{"host_name": "dell07", "service": "compute"}, {"host_name": "s200703076", "service": "network“},{"host_name": "s201103004", "service": "compute"}]}

 

8.获取某个主机信息

http://127.0.0.1:8774/v1.1/7760fe01efb749029a41100ee12eae02/os-hosts/host_name

 

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v1.1/7760fe01efb749029a41100ee12eae02/os-hosts/s200903007

{"host": [{"resource": {"project": "(total)", "memory_mb": 16048, "host": "s200903007", "cpu": 8, "disk_gb": 26062}}, {"resource": {"project": "(used_now)", "memory_mb": 560, "host": "s200903007", "cpu": 0, "disk_gb": 101}}, {"resource": {"project": "(used_max)", "memory_mb": 0, "host": "s200903007", "cpu": 0, "disk_gb": 0}}]}

 

9.Host Aggregates
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-aggregates    -H "Content-Type: application/json"

 

 

10.os-cloudpipe

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-cloudpipe    -H "Content-Type: application/json"

11.flavors (这里指用户自己建立的flavor)
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/flavors    -H "Content-Type: application/json"
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/flavors/detail    -H "Content-Type: application/json"
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/flavors/7    -H "Content-Type: application/json"

12.os-networks
v2/{tenant_id}/os-networks
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-networks   -H "Content-Type: application/json"
v2/{tenant_id}/os-networks/{id}
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-networks/39eee177-3f16-4f8d-9c51-c1dbe4753147   -H "Content-Type: application/json"

 

13.os-quota-sets


v2/{tenant_id}/os-quota-sets/{tenant_id}
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-quota-sets/7760fe01efb749029a41100ee12eae02   -H "Content-Type: application/json"

v2/{tenant_id}/os-quota-sets/{tenant_id}/defaults
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-quota-sets/7760fe01efb749029a41100ee12eae02/defaults   -H "Content-Type: application/json"

 

 

 

14.Security Groups

v2/{tenant_id}/os-security-groups

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-security-groups    -H "Content-Type: application/json"

v2/{tenant_id}/os-security-groups/{security_group_id}
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -vhttp://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-security-groups/2    -H "Content-Type: application/json"

 

 
 
15.Simple Usage
v2/{tenant_id}/os-simple-tenant-usage
curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -vhttp://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-simple-tenant-usage    -H "Content-Type: application/json"
v2/{tenant_id}/os-simple-tenant-usage/{tenant_id}

curl -X 'GET' -H  "X-Auth-Token:a35553b41a444d1cbdf8e63b40008df8" -v http://127.0.0.1:8774/v2/7760fe01efb749029a41100ee12eae02/os-simple-tenant-usage/d7d26fa010e740459b2425f933448436    -H "Content-Type: application/json"