Automation Ansible返回值-需要IP地址

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..... ...

我们目前正在结合OpenStack使用Ansible。我已经编写了一个剧本(通过OpenStack部署新服务器),其中我使用了模块
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}”