0

我是ansible的新手,所以如果这个问题一团糟,我深表歉意......

我有一个 ansible 脚本,当“count”设置为高于 1 时,通过 one_vm 为多个 VM 提供 OpenNebula。稍后在同一个脚本中,我想在新 VM 上安装应用程序,但 ansible 只会针对最后一个运行已配置虚拟机。任何帮助,将不胜感激。

- name: Generate VM
  community.general.one_vm:
    template_name: "{{ template_name }}"
    api_url: "{{ api_url }}"
    api_username: "{{ api_username }}"
    api_password: "{{ api_password }}"
    vcpu: "{{ vcpu }}"
    memory: "{{ memory }}"
    count: "{{ count }}"
    disk_size:
      "{{ disk_size }}"
    networks: 
      "{{ networks }}"
    attributes:
      name: "{{ vm_name }}"
  register: vm
  any_errors_fatal: true

有什么方法可以让稍后的任务循环通过新创建的虚拟机?

例子:

- name: Install java
  community.general.one_vm:
    instance_ids: "{{ item }}"
    yum:
      name: java-1.8.0-openjdk
      state: latest
  loop: "{{ vm.instances_ids }}"
4

0 回答 0