2017-06-29 2 views
0

どのようにして可変リストを追加すると、同様の値のスパンが得られますか?たとえば、 "000-100"のように、Anatile hostsファイルでは、 "hostname- [a:v] .com"のように表示することでこれを行うことができます。このプロセスは可変リストで同様でしょうか?可能な可変リストスパン

私の使用例は、行ごとにリストを作成することなく、一回でoVirt内に多くのVMをプロビジョニングすることです。

--- 
- 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}}" 

答えて

0

あなたはsequenceルックアップを使用することができます

- 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をスキップしてVARSセクションにmy_seqを定義していますが、多くのmy_seqを使用する場合は、リストの生成は、内部たびに行われますができます。 set_factのリストは一度生成されます。コンスタンチンから正解に関して

+0

もちろん、ドキュメントの中に...うまくいき、もちろん私の場合は微調整してください。これらの値が登録された変数として再利用できるかどうか疑問に思っていますか?私の完全な解決策で別の答えを追加するだけで、徹底的に理解できます。 – arkitoure

+0

は 'set_fact'で例を追加しました。 –

+0

スーパーはそのトリックをやっています。これらの変数をテストするために私のプレイブックをスケールアップする必要があります。 – arkitoure

0

、私は私の場合ごとに完全なソリューションを追加している....

私の目標は、合格するために登録した変数として、シーケンス値を再利用できるようにすることですインスタンス名をホスト名に変換します。これまでのところ動作しますが、変数を入れ子にすることで合理化できるのは確実でしょうか?

--- 
- 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}}" 
関連する問題