openstack使用ansible playbook使用静态ip创建新实例

openstack使用ansible playbook使用静态ip创建新实例,ansible,openstack,openstack-nova,Ansible,Openstack,Openstack Nova,尝试使用固定IP启动VM,同时使用Ansible Playbook创建新实例,而不分配/关联浮动IP。在剧本下面。。如果有用,请纠正我。无法执行剧本 --- - name: launch a compute instance with fixed IP hosts: Controllerha gather_facts: True tasks: - name: Creating port os_port: auth: auth_url: http

尝试使用固定IP启动VM,同时使用Ansible Playbook创建新实例,而不分配/关联浮动IP。在剧本下面。。如果有用,请纠正我。无法执行剧本

---
- name: launch a compute instance with fixed IP
  hosts: Controllerha
  gather_facts: True
  tasks:
  - name: Creating port
    os_port:
      auth:
        auth_url: http://10.10.16.10:5000/v3/
        username: admin
        password: 2322342jkvfjlk
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: kub-mas-port1
      server: Kub-Master-1
      network: Test-VLAN
      fixed_ips:
        - ip_address: 10.200.18.18

  - name: Creating New Instance Kub VM
    os_server:
      auth:
        auth_url: http://10.10.16.10:5000/v3/
        username: Test-por
        password: Poreere1212
        project_name: test
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: Kub-Master-1
      flavor: 4V8R40G
      boot_volume: Kub-Master
      timeout: 200
      security_groups: default
      nics:
       - net-id: f7FFf-da22-4844-8c8b-0dfdfdfdde7d
       - port-name: kub-mas-port1
---
- name: launch a compute instance
  hosts: Controller
  gather_facts: True
  tasks:
  - name: Creating port
    os_port:
      auth:
        auth_url: http://10.20.8.19:5000/v3/
        username: admin
        password: XXansereat1234???
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: kub-mas-port1
      device_owner: compute:compute-02.local
      network: Test-network
      fixed_ips:
        - ip_address: 10.200.18.18
    register: port_info

 

  - name: Creating Kub-Master VM
    os_server:
      auth:
        auth_url: http://10.20.8.19:5000/v3/
        username: admin
        password: XXansereat1234???
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      availability_zone: compute-02.local
      name: Kub-MasterNode
      flavor: 4V8R40G
      boot_volume: Kub-Master
      wait: yes
      nics:
       - "port-id={{ port_info.id }}"

在管理项目帐户中,我可以使用下面的剧本启动一个实例,但不能在其他项目中启动。nova和中子角色中存在特权问题

甚至我还添加了一个TestPro项目作为管理员角色。那一次我发现了一个问题,中子服务在运行playbook时无法向实例添加端口。它进入错误状态。然后我意识到角色和特权的问题。尝试与管理项目,它成功地推出了我的剧本没有任何问题。这是最后的剧本

---
- name: launch a compute instance with fixed IP
  hosts: Controllerha
  gather_facts: True
  tasks:
  - name: Creating port
    os_port:
      auth:
        auth_url: http://10.10.16.10:5000/v3/
        username: admin
        password: 2322342jkvfjlk
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: kub-mas-port1
      server: Kub-Master-1
      network: Test-VLAN
      fixed_ips:
        - ip_address: 10.200.18.18

  - name: Creating New Instance Kub VM
    os_server:
      auth:
        auth_url: http://10.10.16.10:5000/v3/
        username: Test-por
        password: Poreere1212
        project_name: test
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: Kub-Master-1
      flavor: 4V8R40G
      boot_volume: Kub-Master
      timeout: 200
      security_groups: default
      nics:
       - net-id: f7FFf-da22-4844-8c8b-0dfdfdfdde7d
       - port-name: kub-mas-port1
---
- name: launch a compute instance
  hosts: Controller
  gather_facts: True
  tasks:
  - name: Creating port
    os_port:
      auth:
        auth_url: http://10.20.8.19:5000/v3/
        username: admin
        password: XXansereat1234???
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      name: kub-mas-port1
      device_owner: compute:compute-02.local
      network: Test-network
      fixed_ips:
        - ip_address: 10.200.18.18
    register: port_info

 

  - name: Creating Kub-Master VM
    os_server:
      auth:
        auth_url: http://10.20.8.19:5000/v3/
        username: admin
        password: XXansereat1234???
        project_name: admin
        project_domain_name: Default
        user_domain_name: Default
      state: present
      availability_zone: compute-02.local
      name: Kub-MasterNode
      flavor: 4V8R40G
      boot_volume: Kub-Master
      wait: yes
      nics:
       - "port-id={{ port_info.id }}"

当你尝试运行剧本时会发生什么。您是否收到某种类型的错误消息?这里的链接错误是获取[]**任务[创建Kub VM]任务路径:/etc/ansible/Kub master。yaml:23致命:[10.200.6.3]:失败!=>{“changed”:false,“msg”:“无法通过端口名找到端口:kub-mas-port-1”}**。。已创建端口,但未将其分配给VM。创建实例时是否需要添加超时,然后将端口添加到实例中@拉尔克斯