Je sais à propos de
puppet agent --disable "my message" --verbose
mais j'aimerais savoir à un moment donné sur une machine donnée, quel est son statut d'agent fantoche. Je ne vois pas comment le faire de
man puppet-agent
Existe-t-il une commande qui me dirait si l'agent est activé ou désactivé?
------------------- MODIFIER
CentOS release 6.6 (Final)
bash-4.1$ puppet --version
3.7.4
bash-4.1$ file /usr/bin/puppet
/usr/bin/puppet: a /usr/bin/Ruby script text executable
------------------- EDIT2
Qu'il soit activé ou désactivé, j'obtiens toujours ceci:
[root@p1al25 ~]# cat `Sudo puppet agent --configprint agent_catalog_run_lockfile`
cat: /var/lib/puppet/state/agent_catalog_run.lock: No such file or directory
[root@p1al25 ~]# puppet agent --disable "my message"
[root@p1al25 ~]# cat `Sudo puppet agent --configprint agent_catalog_run_lockfile`
cat: /var/lib/puppet/state/agent_catalog_run.lock: No such file or directory
[root@p1al25 ~]# service puppet status
puppet (pid 4387) is running...
------------------- EDIT3
Celui-ci a fonctionné, merci daxlerod
[root@p1al25 ~]# service puppet status
puppet (pid 4387) is running...
[root@p1al25 ~]# puppet agent --disable "my message" --verbose
Notice: Disabling Puppet.
[root@p1al25 ~]# cat `puppet agent --configprint agent_disabled_lockfile`
{"disabled_message":"reason not specified"}
Un one-liner pour obtenir le statut actuel est:
cat `puppet agent --configprint agent_disabled_lockfile`
Généralement, cela doit être exécuté en tant que root, j'utilise donc:
Sudo cat `Sudo puppet agent --configprint agent_disabled_lockfile`
Il y a un certain nombre de résultats possibles.
cat: \path\to\lock: No such file or directory
La marionnette n'est pas désactivée.puppet agent --disable 'reason'
Je pensais poster ici une réponse mise à jour.
Si l'agent Puppet est désactivé, il y aura un fichier $vardir/state/agent_disabled.lock
. Ce fichier contient également les raisons de la désactivation, si une raison a été donnée via puppet agent --disable 'because reasons'
.
Vous pouvez obtenir la valeur de $vardir
via la commande puppet config print vardir
.
Pour résumer:
[me@linuxbox ~]# cat $(puppet config print vardir)/state/agent_disabled.lock
Si l'agent est désactivé, vous obtenez:
{"disabled_message":"because reasons"}
Si l'agent est activé, vous obtenez une erreur "Aucun fichier ou répertoire de ce type".
le statut de l'agent est généralement utilisé dans une configuration maître-esclave.
Plus de détails sont ici:
https://docs.puppetlabs.com/learning/agent_master_basic.html
puisqu'il y a deux questions possibles que vous pourriez poser. Un être:
Mon service est-il actif?
auquel la réponse exécuterait votre commande de service typique (par exemple, l'état de la marionnette de service)
Ou bien mon agent est-il parfaitement capable de courir?
Pour lequel la réponse serait d'utiliser la commande puppet agent --test