Automation Ansible返回值-需要IP地址
我们目前正在结合OpenStack使用Ansible。我已经编写了一个剧本(通过OpenStack部署新服务器),其中我使用了模块Automation Ansible返回值-需要IP地址,automation,ansible,return-value,Automation,Ansible,Return Value,我们目前正在结合OpenStack使用Ansible。我已经编写了一个剧本(通过OpenStack部署新服务器),其中我使用了模块os_服务器,其中我使用了auto_ip:yes,新服务器将成为OpenStack服务器分配的ip地址 如果使用 -vvvv < /COD>输出命令,我得到一个长输出 >其中,中间输出一个IP地址。 因为我是个懒人,所以我想把这个IP地址放在一个变量中,让我在一个额外的字段中显示这个IP地址。 应该是这样的: "........output stuf..... ...
os_服务器
,其中我使用了auto_ip:yes
,新服务器将成为OpenStack服务器分配的ip地址
如果使用<代码> -vvvv < /COD>输出命令,我得到一个<强>长输出<强> >其中,中间输出一个IP地址。
因为我是个懒人,所以我想把这个IP地址放在一个变量中,让我在一个额外的字段中显示这个IP地址。
应该是这样的:
"........output stuf.....
................................
.............................
..............................
..............................."
"The IP Adress of the New server is ....."
您知道有没有可能将这些IP地址字段放入变量中,或者将输出过滤到IP地址
如果你需要一个截图来了解我的意思,没问题,就写下来,我会给你的 Ansible OpenStack模块使用
shade
python包创建服务器
根据shade
源代码,方法返回表示所创建服务器的dict
尝试注册操作系统服务器的结果并调试它。IP地址应该在那里
例如:
- name: launch a compute instance
hosts: localhost
tasks:
- name: launch an instance
os_server:
state: present
...
auto_ip: yes
register: result
- debug: var=result
另外,你可以看看这个,它就是这样做的
这里有一段摘录:
- name: create cluster notebook VM
register: notebook_vm
os_server:
name: "{{ cluster_name }}-notebook"
flavor: "{{ notebook_flavor }}"
image: "CentOS-7.0"
key_name: "{{ ssh_key }}"
network: "{{ network_name }}"
security_groups:
- "{{ cluster_name }}-notebook"
auto_ip: yes
boot_from_volume: "{{ notebook_boot_from_volume }}"
terminate_volume: yes
volume_size: 25
- name: add notebook to inventory
add_host:
name: "{{ cluster_name }}-notebook"
groups: notebooks
ansible_ssh_host: "{{ notebook_vm.openstack.private_v4 }}"
ansible_ssh_user: cloud-user
public_ip: "{{ notebook_vm.openstack.public_v4 }}"
public_name: "{{ lookup('dig', notebook_vm.openstack.public_v4 + '/PTR', wantlist=True)[0] }}"
tags: ['vm_creation']
请编辑问题的标题。带两个d的“地址”。在标题中添加对Openstack和os_服务器的引用。像这样,即使你的问题很好,我也不会反对。我认为这个值的确切名称是:“{notebook_vm.openstack.accessIPv4}”