Ansible цикл в приглашении var - PullRequest
0 голосов
/ 11 января 2019

Я хотел бы создать несколько узлов на моем bigip. Для этого я хочу сделать цикл в моем приглашении var и зарегистрировать каждое значение в моей переменной {{node_list}}.

Это то, что я пробовал


 - name: node creation
   hosts: F5
   gather_facts: no
   connection: local

   vars_prompt:

     ## ASK NUMBER OF NODES
   - name: node_nb
     prompt: "number of nodes"
     private: no


     ##  ASK THE NAME AND IP WITH FORMAT NAME;IP
   - name: node_list
     prompt: "name and Ip of the node like that toto;1.1.1.1"
     private: no
     with_sequence: count={{ node_nb | int }}


   - name: Create node
     bigip_node:
       user:  '{{ ansible_user }}'
       password: '{{ ansible_password }}'
       server: 'xxxxx'
       host: '{{ (item).split(";")[1] }}'
       name: '{{ (item).split(";")[0] }}'
       partition: 'Common'
       state: present
       validate_certs: false
     with_items: '{{ node_list }}'
  • Первый: Моя подсказка var не зацикливается, если, например, я указываю «4» в {{node_nb}}. Вопрос один раз, но я хочу 4 раза.

  • Во-вторых: Я бы регистрировал всю информацию о значении на входе каждый раз в списке. Если я хочу 4 узла, мне нужно 4 элемента в моем списке

Ответы [ 2 ]

0 голосов
/ 12 января 2019

with_sequence работает только с задачами.

, поэтому просто оставьте одну переменную node_list в vars_prompt и передайте ',' разделенный список ['asd;1.1.1.1','sdf;2.2.2.2'] в качестве значения.

0 голосов
/ 11 января 2019

Просто попросите их войти в список, разделенный пробелами, поскольку вы уже используете ; для отделения имен узлов от IP-адресов, и это дополнительно избавляет вас от необходимости запрашивать счетчик, так как счетчик будет состоять из множества элементов. есть в списке

...