Objetivo
No momento, existem mais de 100 sistemas no escritório e a expectativa é de que o número aumente. Todos os sistemas são gerenciados pelo Puppet. Se o código Puppet for alterado no Puppet Master e precisar ser implementado em vários sistemas, o Puppet será executado manualmente, executando sudo puppet agent -t
em cada sistema. Às vezes, uma mudança precisa ser implementada em mais de 10 sistemas. Para economizar tempo, a ideia é usar o MCollective, ou seja, executar o fantoche uma vez em todos os sistemas, em vez de executar o fantoche em todos os sistemas.
Tentativa
ActiveMQ , Servidor MCollective e Cliente MCollective foram instalados no Puppetmaster . Quando o mco ping
é executado, o Puppetmaster pode ser encontrado. Depois de instalar MCollective Puppet Agent e executar mco rpc puppet runonce
Puppet é executado no Puppetmaster .
Para conectar um controle remoto mcollective-client , a ideia era que activemq e mcollective-client tivessem para ser instalado e executado, a fim de encontrar o segundo host, emitindo mco ping
.
/var/log/mcollective.log
INFO -- : activemq.rb:114:in 'on_connecting' TCP Connection attempt 23 to stomp://mcollective@stomp1:6163
/etc/activemq/activemq.xml
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
<transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/>
</transportConnectors>
</broker>
/etc/mcollective/server.cfg
connector = activemq
plugin.activemq.pool.size = 1
plugin.activemq.pool.1.host = localhost
plugin.activemq.pool.1.port = 61613
plugin.activemq.pool.1.user = mcollective
plugin.activemq.pool.1.password = helloworld
Uma das suposições era que vários hosts deviam ser configurados no server.cfg. Enquanto tentava fazê-lo funcionar, não ficou claro como a arquitetura deveria se parecer. Um ActiveMQ, um servidor MCollective e vários clientes MCollective (um em cada nó) são necessários ou não?
Resultado esperado
O resultado esperado é que mco ping
encontre o Puppetmaster e o cliente remoto . Quando isso funcionar, seria possível executar o Puppet nos dois sistemas usando o MCollective. Quando é possível executar o Puppet nesses dois sistemas usando o MCollective, vários nós serão adicionados e o Puppet será executado nesses sistemas assim que mco rpc puppet runonce
for executado.
Resultado atual
Como não é possível encontrar o cliente remoto executando mco ping
, não é possível executar o Puppet nos dois sistemas usando o MCollective.