J'ai la tâche suivante dans mon livre de jeu ansible:
- name: Install EPEL repo.
yum:
name: "{{ epel_repo_url }}"
state: present
register: result
until: '"failed" not in result'
retries: 5
delay: 10
Une autre valeur que je peux transmettre à l'état est "installé". Quelle est la différence entre les deux? Quelques documentations disponibles ici: http://docs.ansible.com/ansible/yum_module.html
Ils font la même chose, ce sont des alias l'un pour l'autre, voir ce commentaire dans le code source du module yum:
# removed==absent, installed==present, these are accepted as aliases
Et comment ils sont utilisés dans le code:
if state in ['installed', 'present']:
if disable_gpg_check:
yum_basecmd.append('--nogpgcheck')
res = install(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos)
Elif state in ['removed', 'absent']:
res = remove(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos)
Elif state == 'latest':
if disable_gpg_check:
yum_basecmd.append('--nogpgcheck')
res = latest(module, pkgs, repoq, yum_basecmd, conf_file, en_repos, dis_repos)
else:
# should be caught by AnsibleModule argument_spec
module.fail_json(msg="we should never get here unless this all"
" failed", changed=False, results='', errors='unexpected state')
return res
https://github.com/ansible/ansible-modules-core/blob/devel/packaging/os/yum.py
Indiquez comme ' Présent ' et ' Installé ' sont utilisés de manière interchangeable. Ils font tous les deux la même chose, c'est-à-dire qu'ils garantiront qu'un package souhaité dans votre cas `` yum '' est installé.
Alors que l'état comme ' Latest ' signifie en plus de l'installation, il ira de l'avant et se mettra à jour s'il ne s'agit pas de la dernière version disponible.
Chaque fois que vous créez votre pile/application ou travaillez sur la production, il est toujours conseillé d'utiliser ' Present ' ou ' État installé '. En effet, une mise à jour logicielle, qu'il s'agisse du déploiement de votre application ou d'un bump de version de dépendance, n'a rien à voir avec la configuration du serveur et pourrait vraiment interrompre votre production.
Vous pouvez lire et comprendre plus à ce sujet ici .
Dans 2.x installed
et removed
sont déconseillés au profit de present
et absent
et ne sont plus disponibles après Ansible 2.9