Ansible变量列表跨度



在Ansible中添加变量列表时,如何实现相似值的跨度?例如" 000-100" - 在Ansible主机文件中,可以通过这样的列表来完成," hostName- [a:v] .com"。这个过程是否在变量列表中是相似的?

我的用例是在单个过程中提供许多ovirt,而无需按行列表进行。

---
- name: Create VM based on template
  hosts: ovirt-engine
  become: yes
  become_method: sudo
  vars:
  - temp: '{{temp_fedora25}}'
  - iname:
      - db-aa
      - db-ab
      - db-ac
  tasks:
    - name: Giving Birth to lil Baby VM's
      ovirt:
          user: '{{ovirt_usr}}'
          password: '{{ovirt_pass}}'
          url: '{{engine_url}}'
          instance_name: "{{item}}"
          instance_nic: ovirtmgmt
          resource_type: template
          image: '{{temp}}'
          zone: superblade-a
          disk_alloc: preallocated
      with_items: "{{iname}}"

您可以使用序列查找:

- name: numeric
  debug:
    msg: "{{ item }}"
  with_sequence: start=1 count=10 format=server-%0d

- name: characters from small 'a'
  debug:
    msg: "{{ item }}"
  with_sequence: start=0x61 count=10 format=server-%c
- name: save for future use
  set_fact:
    my_seq: "{{ lookup('sequence','start={} count={} format={}{}'.format(beg,cnt,pref,fmt),wantlist=True) }}"
  vars:
    beg: 1
    cnt: 10
    pref: host-
    fmt: '%0d'

您可以跳过set_fact并在VAR部分中定义my_seq,但是如果您使用my_seq很多,则每次都会在内部进行列表生成。使用set_fact列表是一次生成的。

关于Konstantin的正确答案,我根据我的情况添加了完整的解决方案..

我的目标是能够将测序值重复使用为注册变量,以将实例名称传递给主机名。到目前为止,这起作用了,但是我确定它可以通过嵌套变量来简化?

---
- name: Create VM based on template
  hosts: ovirt-engine
  become: yes
  become_method: sudo
  vars:
  - temp: '{{temp_fedora25}}'
  - host_pre: db
  - host_seq: a%c
  - host_cnt: 3
  - host_srt: 0x61
  tasks:
    - name: Giving Birth to lil Baby VM's
      ovirt:
         user: '{{ovirt_usr}}'
         password: '{{ovirt_pass}}'
         url: '{{engine_url}}'
         instance_name: "{{item}}"
         instance_nic: ovirtmgmt
         resource_type: template
         image: '{{temp}}'
         zone: superblade-a
         disk_alloc: preallocated
      with_sequence: start="{{host_srt}}" count="{{host_cnt}}" format="{{host_pre}}-{{host_seq}}"

相关内容

  • 没有找到相关文章

最新更新