4 votes

Remplacer les options dans la configuration ansible

Sur ma question précédente j'ai découvert que je pouvais mettre des options dans un fichier local ansible.cfg fichier. Mais puis-je les remplacer ?

J'ai un ansible.cfg qui contient

[defaults]
vault_password_file = /home/hymie/ansible/foo

Et je peux utiliser ce fichier automatiquement :

$ echo "hi there" |  ansible-vault encrypt_string
Reading plaintext input from stdin. (ctrl-d to end input)
!vault |
          $ANSIBLE_VAULT;1.1;AES256
          64386133613865366565336365333166623538613239636464303931646330323061376239363639
          3136376163613132613130306630626365643133366664310a353030303434346336396233616363
          62323464313737663135303636646264373737393930326132386231363561653865646436313439
          3231353132643364340a316431626332626633646135613064353133633038356434323537326633
          3035
Encryption successful

Mais maintenant, je suis incapable d'utiliser/sélectionner un mot de passe différent :

$ echo "hi there" |  ansible-vault encrypt_string --ask-vault-pass
New Vault password:
Confirm New Vault password:
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

$ echo "hi there" |  ansible-vault encrypt_string --vault-password-file=/tmp/foo
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

$ echo "hi there" |  ansible-vault encrypt_string --vault-id=@prompt
New vault password (default):
Confirm vew vault password (default):
ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

Cela semble être le mauvais comportement.

Pourquoi mon option de ligne de commande (soit pour demander un mot de passe, soit pour sélectionner un fichier de mots de passe différent) ne prévaut-elle pas sur l'option de fichier de configuration pour utiliser un fichier de mots de passe prédéfini spécifique ? Est-ce que je fais quelque chose de mal ? Ou est-ce qu'ansible est juste comme ça, sans remplacer les variables du fichier de configuration ?

0voto

J'ai eu un problème similaire hier avec la même erreur et votre configuration.

Apparemment, cette erreur est survenue parce que mon ansible.cfg de l'encéphalopathie des cervidés a été vault_password_file et je passais aussi le --vault-password-file dans l'interface CLI en tant qu'argument, de sorte que le fait de référencer deux fois le fichier de mots de passe Vault entraîne cette erreur : ERROR! Only one --vault-id can be used for encryption. This includes passwords from configuration and cli.

C'est exactement ce que dit l'erreur, le fait que vous passez ce paramètre deux fois, mais d'une manière différente.

Donc, une façon de résoudre ce problème est soit de supprimer l'option vault_password_file= référence de ansible.cfg et le faire passer uniquement par le cli --vault-password-file ou laissez-le simplement dans le ansible.cfg évitant ainsi de taper --vault-password-file dans la clique à nouveau, c'est à vous de voir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X