REST API调用keystone

一 调试工具
Curl
Firefox plugin
restclient-ui-3.4-jar-with-dependencies.jar

二 清空防火墙规则然后telnet
[root@controller0 ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
[root@controller0 ~]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
[root@controller0 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
telnet 10.20.0.10 5000

三 API查询地址

四 运行restclient-ui-3.4-jar-with-dependencies.jar工具
1 配置HTTP请求和POST
2 配置Body
3 在body中填写请求内容,请提交请求
{
    "auth":{
            "tenantName":"admin",
            "passwordCredentials":{
                "username":"admin",
                "password":"admin"  
            }
        }
}
返回内容如下:
{
  "access" : {
    "token" : {
      "issued_at" : "2018-02-24T13:13:25.479912",
      "expires" : "2018-02-24T14:13:25Z",
      "id" : "MIIEtQYJKoZIhvcNAQcCoIIEpjCCBKICAQExCTAHBgUrDgMCGjCCAwsGCSqGSIb3DQEHAaCCAvwEggL4eyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxOC0wMi0yNFQxMzoxMzoyNS40Nzk5MTIiLCAiZXhwaXJlcyI6ICIyMDE4LTAyLTI0VDE0OjEzOjI1WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogIkFkbWluIFRlbmFudCIsICJlbmFibGVkIjogdHJ1ZSwgImlkIjogIjRlODQ1YjQ5NGJmNzRjYmY4OTIxM2JmNTUyZGI4NTk5IiwgIm5hbWUiOiAiYWRtaW4ifX0sICJzZXJ2aWNlQ2F0YWxvZyI6IFt7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly9jb250cm9sbGVyMDozNTM1Ny92Mi4wIiwgInJlZ2lvbiI6ICJyZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovL2NvbnRyb2xsZXIwOjUwMDAvdjIuMCIsICJpZCI6ICI0NTc4YzFlOTVkN2I0YWU3YTY4NTQ5MjRkMDU0NmUwMSIsICJwdWJsaWNVUkwiOiAiaHR0cDovL2NvbnRyb2xsZXIwOjUwMDAvdjIuMCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJpZGVudGl0eSIsICJuYW1lIjogImtleXN0b25lIn1dLCAidXNlciI6IHsidXNlcm5hbWUiOiAiYWRtaW4iLCAicm9sZXNfbGlua3MiOiBbXSwgImlkIjogIjZlZmI4ZDY2MTViODRjYWNiN2NiZGYwNTkxYTY2YmI3IiwgInJvbGVzIjogW3sibmFtZSI6ICJhZG1pbiJ9XSwgIm5hbWUiOiAiYWRtaW4ifSwgIm1ldGFkYXRhIjogeyJpc19hZG1pbiI6IDAsICJyb2xlcyI6IFsiNTYxMzY0MTliZDYwNGFlZDgyZmJkYTU3MzdlM2FmNjkiXX19fTGCAYEwggF9AgEBMFwwVzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVVuc2V0MQ4wDAYDVQQHDAVVbnNldDEOMAwGA1UECgwFVW5zZXQxGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbQIBATAHBgUrDgMCGjANBgkqhkiG9w0BAQEFAASCAQB94T2V-vxzpQKjg46GkR6hV9iX+scltYJXB2AfeGguhHxESIyEcXvIBweW-VRFpEdeNHMiYjG8yV8bX7gJQPc5JMevRYckKC8AdxCE7WPOxNeqpYFIzdZdU+fVI6ylcZ44IfqYCpwCZKqof3K8cWW8zGMCPZq-Rk21F47rVvhb5bE1cuXYoYQXA1DiBDMRFQfEcQnV5C0uy5cVRxymlMaBH1o+1Di1hG+jDkk3pRUmHHM4C2eUbf-+C7+k2E+2SCjCAD5TBQP7LyFFOEvsmhK5rrLILNmdabOJvKY-nVhJIJOqWIB0F6MEz19ysVxJ1cdMa9bCMAJQabHZe1kZQyOb",
      "tenant" : {
        "description" : "Admin Tenant",
        "enabled" : true,
        "id" : "4e845b494bf74cbf89213bf552db8599",
        "name" : "admin"
      }
    },
    "serviceCatalog" : [ {
      "endpoints" : [ {
        "adminURL" : "http://controller0:35357/v2.0";,
        "region" : "regionOne",
        "internalURL" : "http://controller0:5000/v2.0";,
        "id" : "4578c1e95d7b4ae7a6854924d0546e01",
        "publicURL" : "http://controller0:5000/v2.0";
      } ],
      "endpoints_links" : [ ],
      "type" : "identity",
      "name" : "keystone"
    } ],
    "user" : {
      "username" : "admin",
      "roles_links" : [ ],
      "id" : "6efb8d6615b84cacb7cbdf0591a66bb7",
      "roles" : [ {
        "name" : "admin"
      } ],
      "name" : "admin"
    },
    "metadata" : {
      "is_admin" : 0,
      "roles" : [ "56136419bd604aed82fbda5737e3af69" ]
    }
  }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Ansible调用OpenStack API创建云主机的步骤: 1. 安装openstacksdk:在控制节点上安装openstacksdk,使用以下命令即可: ``` pip install openstacksdk ``` 2. 在Ansible主机上创建一个yml文件,包含以下任务: ``` - name: Create a new instance hosts: localhost gather_facts: no vars: auth: auth_url: "http://keystone.example.com:5000/v3" username: "admin" password: "password" project_name: "admin" project_domain_name: "default" user_domain_name: "default" server: name: "test-instance" image_name: "ubuntu-16.04" flavor_name: "m1.small" network_name: "private" key_name: "my-keypair" security_group: "default" tasks: - name: Authenticate to OpenStack os_auth: cloud: "{{ auth }}" cache_path: "/tmp/.openstack.cache" register: auth_result - name: Create a new instance os_server: state: present cloud: "{{ auth }}" name: "{{ server.name }}" image_name: "{{ server.image_name }}" flavor_name: "{{ server.flavor_name }}" network_name: "{{ server.network_name }}" key_name: "{{ server.key_name }}" security_groups: "{{ server.security_group }}" register: instance_result - name: Print instance details debug: var: instance_result ``` 在此文件中,我们首先定义了OpenStack的认证信息,包括认证URL、用户名、密码、项目名称和域名等信息。接着,我们定义了要创建的云主机的名称、镜像、规格、网络、密钥和安全组等信息。最后,我们使用os_server模块创建云主机,并注册输出结果。 3. 运行Ansible任务:运行以下命令来运行Ansible任务: ``` ansible-playbook create_instance.yml ``` 这将调用OpenStack API来创建一个新的云主机。创建完成后,你可以在OpenStack控制台中查看新创建的云主机。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值