我目前已使用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
错误:
致命:[localhost]:失败! => {“更改”:false,“额外数据”:null, “ msg”:“ BadRequestException:400:URL的客户端错误: http://192.168.111.130:8774/v2.1/4f8c49b18a4347df90f28cbe39414f0e/servers, {\“ badRequest \”:{\“ message \”:\“字段/属性的无效输入 港口。值:port3.id。 u'port3.id'在任何给定的条件下均无效 schemas \“,\” code \“: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 |
有什么想法吗?
非常感谢,
罗曼
答案 0 :(得分:0)
尝试一下:
更改:
- port-id: port3.id
收件人:
- port-id: "{{ port3.id }}"