使用os_port模块我已经当前创建一个NIC端口,现在我试图让新创建的端口的ID,并在Ansible接下来的任务中使用它。
- os_port:
state: present
fixed_ips:
- ip_address: 172.30.137.138
allowed_address_pairs:
- ip_address: 172.30.137.128/27
name: port-3
security_groups: sg_default
network: nw1
register: port3
tags: neutron_ports
我怎样才能访问Ansible新创建的端口的ID?我曾尝试类似:{{port3.port_id}}
,但它不工作。我需要这个ID的下一个任务来使用它。
EDIT1
我发现该端口ID是port3.id
,但是当我尝试下一个功能(使用特定端口VM创建),我得到一个错误:
- name: Create a VM
os_server:
state: present
flavor: m1.small
name: vm1
image: cirros
availability_zone: internal
nics:
- port-id: port3.id
tags: vm1
错误:
致命的:本地主机]:失败! => { “改变”:假 “extra_data”:空, “msg” 中: “BadRequestException:400:为URL客户端错误:http://192.168.111.130:8774/v2.1/4f8c49b18a4347df90f28cbe39414f0e/servers,{\” 错误请求\ “:{\” 消息\ “:\” 无效输入字段/属性端口。价值:port3.id。 u'port3.id”是无效在任何给定的模式的\‘\‘代码\’:400}}’
EDIT2:我还没有介绍里面的“{{}}”的变量。此后,Ansible脚本运行,但我正在逐渐与实例创建JSON数据量巨大的错误,但在最后一排,它说:
出错创建服务器
如果我期待到仪表板,我看到的情况,但其状态为“错误”。在VM内,我有以下消息:与500码“没有有效的主机被发现”。当我在看的主机,所有的人都在运行,可供选择:
[dante@localhost roles(keystone_admin)]$ nova service-list
+--------------------------------------+------------------+-----------------------+----------+---------+-------+----------------------------+-----------------+-------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason | Forced down |
+--------------------------------------+------------------+-----------------------+----------+---------+-------+----------------------------+-----------------+-------------+
| 21ac1600-fc5a-481e-a725-3e12265bdb66 | nova-conductor | localhost.localdomain | internal | enabled | up | 2018-08-07T17:08:38.000000 | - | False |
| 6d9393da-42ea-4290-83f6-af4af2c377e3 | nova-scheduler | localhost.localdomain | internal | enabled | up | 2018-08-07T17:08:40.000000 | - | False |
| 6eb82482-d6df-4fb7-ad77-46bdacf442de | nova-consoleauth | localhost.localdomain | internal | enabled | up | 2018-08-07T17:08:38.000000 | - | False |
| 46b5e512-da96-4066-b45e-57336da6cfec | nova-compute | localhost.localdomain | nova | enabled | up | 2018-08-07T17:08:40.000000 | - | False |
任何想法是错误的?
非常感谢,
罗马
尝试这个:
更改:
- port-id: port3.id
至:
- port-id: "{{ port3.id }}"