J'ai fichier d'inventaire ansible comme suit:Comment trier mon inventaire en fonction de la variable?
[dc1]
dc1-node0 ansible_host=10.1.0.1 seed=no
dc1-node1 ansible_host=10.1.0.2 seed=yes
dc1-node2 ansible_host=10.1.0.2 seed=yes
[dc2]
dc2-node ansible_host=10.2.0.1 seed=yes
dc2-node1 ansible_host=10.2.0.2 seed=no
dc2-node2 ansible_host=10.2.0.2 seed=yes
je dois écrire un livre de jeu qui commencera le nœud de semences dans un premier temps puis d'autres nœuds. Encore une fois, l'utilisateur peut également fournir un seul nœud. Donc, mon playbook devrait être en mesure de vérifier s'il s'agit de graine ou de non-graine et de le faire en conséquence.
Jusqu'à présent, je suis capable d'écrire PlayBook comme suit:
- hosts: "{{ dbhosts }}"
serial: 1
vars:
vars_prompt:
- name: "dbhosts"
prompt: "Which hosts would you like to run?"
private: no
gather_facts: no
tasks:
- name: is dse already running?
shell: service dse status | grep dead | wc -l
register: svc_dse_dead
ignore_errors: true
- debug:
msg: "Is DSE service dead (0 = No; 1 = Yes)? Current status = {{svc_dse_dead.stdout}}"
- name: Start dse service
service:
name: dse
state: started
become: true
become_method: sudo
when:
- svc_dse_dead.stdout == "1"
- name: Pausing execution to stablize gossipping between nodes
pause:
minutes: 2
when:
svc_dse_dead.stdout == 1
Mais ce Playbook n'est pas hôtes tri en fonction de nœuds de semences. Est-ce que je peux y arriver? S'il vous plaît conseiller quelques idées.
Merci
Vous ne pouvez retrier la liste d'inventaire. Votre description en anglais n'est pas claire et votre code ne facilite pas la compréhension. Vous devriez probablement repenser vos objectifs. – techraf