Spacewalk – Patch Managment Under Control – Parte 3 de 4

Olá a todos!

Este é a terceira parte da nossa viagem pelo spacewalk e hoje iremos abordar a questão dos agentes/clientes.

Como em praticamente todas as ferramentas Datacenter Automation ou Patch Managment  é necessário um ou mais agentes.O spacewalk não é diferente.

Os nossos agentes são:

rhn-client-tools: Red Hat Satellite Client Tools provides programs and libraries to allow your system to receive software updates from Red Hat Satellite or Spacewalk.

rhn-check: rhn-check polls a Red Hat Satellite or Spacewalk server to find and execute
scheduled actions.

rhn-setup: rhn-setup contains programs and utilities to configure a system to use
Red Hat Satellite or Spacewalk, and to register a system with a Red Hat Satellite or Spacewalk server.

rhnsd: The Red Hat Update Agent that automatically queries the Red Hat
Network servers and determines which packages need to be updated on
your machine.

yum-rhn-plugin: This yum plugin provides support for yum to access a Spacewalk server for software updates.

rhncfg-actions: The code required to run configuration actions scheduled via the RHN website or RHN Satellite or Spacewalk.

osad: OSAD agent receives commands over jabber protocol from Spacewalk Server and
commands are instantly executed.

Nota: o Jabber que é referido no osad não é o protocolo jabber de chat 🙂

A parte interessante em todo esta configuração é que o Spacewalk pode ser utilizado para gerir uma panóplia de servidores, de várias distribuições – Red Hat, CentOS, SuSE, Debian – de uma forma centralizada e orquestrada, sem obrigar a equipa de administração de sistemas a correr todo o parque sempre que necessitar de uma alteração ou configuração nova.

O método é relativamente simples e demonstrarei o procedimento de instalação de agentes para Red Hat / CentOS e SuSE.

No caso de Red Hat / Centos temos:

# Instalação de repositórios

rpm -Uvh http://yum.spacewalkproject.org/2.5-client/RHEL/7/x86_64/spacewalk-client-repo-2.5-3.el7.noarch.rpm
rpm -Uvh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

# Instalação dos pacotes.

yum clean all
yum -y install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin rhncfg-actions osad

# Adição de certificados do e registo no spacewalk server.

rpm -Uvh http://lxcvpar32.net.xpto/pub/rhn-org-trusted-ssl-cert-1.0-1.noarch.rpm
rhnreg_ks –serverUrl=https://lxcvpar32.net.xpto/XMLRPC –sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT –activationkey=1-f836f19deaa4d87c07f25593b0793635

Nota: O activation key é gerado pelo spacewalk como e será demonstrado no próximo  post sobre este tema.

# Em seguida, iremos desabilitar os repositórios .repo que temos ativos, para garantir um single point of package managment no nosso sistema, adicionar chaves de GPG que assinem RPM’s que possamos não ter já instalados e ativar configurações para ficarem persistentes quando ocorrer um reboot.

mv /etc/yum.repos.d/ /etc/yum.old
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
mv /etc/yum.repos.d/ /etc/yum.old
mv /etc/sysconfig/rhn/rhnsd /etc/sysconfig/rhn/rhnsd.old
echo “INTERVAL=40” >  /etc/sysconfig/rhn/rhnsd
rhn-actions-control –enable-all -f

systemctl restart rhnsd
systemctl enable rhnsd
systemctl enable osad
systemctl restart osad

# Finalmente poderemos ver o resultado da nossa provisão através do comando rhn-actions-control –report:

# rhn-actions-control –report
deploy is enabled
diff is enabled
upload is enabled
mtime_upload is enabled
run is enabled

Para SuSE (neste caso openSUSE 13.2) o procedimento é semelhante:

# Instalação de repositórios

zypper ar -f http://download.opensuse.org/repositories/systemsmanagement:/spacewalk:/2.5/openSUSE_13.2/ spacewalk-tools

# Instalação dos pacotes.

zypper install rhn-client-tools zypp-plugin-spacewalk rhnsd rhn-setup rhn-check rhncfg-actions osad

Nota: Como o package manager do SuSE é o zypper os plugins tem nome ligeiramente diferente.

# Em seguida ativamos o nosso agente:

rhnreg_ks –serverUrl=https://lxcvpar32.net.xpto/XMLRPC –sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT –activationkey=1-12dad117198446790915382c41d4e6e0

# O passo seguinte é parametrizar os agentes, desativando os repositórios .repo que temos ativos, para garantir um single point of package managment no nosso sistema, adicionar chaves GPG que assinem os RPM que possamos não ter já carrregadas e ativar configurações para ficarem persistentes quando ocorrer um reboot.

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY*
mv /etc/zypp /etc/zypp.old
mv /etc/sysconfig/rhn/rhnsd /etc/sysconfig/rhn/rhnsd.old
echo “INTERVAL=40” >  /etc/sysconfig/rhn/rhnsd
rhn-actions-control –enable-all -f
systemctl restart rhnsd
systemctl enable rhnsd
systemctl enable osad
systemctl restart osad

#Validando o resultado temos:

# rhn-actions-control –report
deploy is enabled
diff is enabled
upload is enabled
mtime_upload is enabled
run is enabled

Finalmente podemos ver o resultado do nosso esforço na tab de Systems do nosso spacewalk:

systems

De notar o panorama heterogéneo dos sistemas operativos usados para esta demonstração.
Ddesde sistemas RHEL com subscrição (pessoal), SuSE (pessoal), openSUSE e CENTOS demonstrando a capacidade de interação em sistemas com e sem subscrição.

Até a próxima post recomendo que explorem o vosso novo spacewalk, as ferramentas disponíveis e os campos existentes.
É uma ferramenta muito poderosa que vos pode auxiliar e muito em provisão, validação e automação no vosso datacenter.

Como é óbvio estou sempre pronto para vos auxiliar em caso de qualquer duvida que tenha surgido, através do email habitual: nuno at nuneshiggs.com

Até breve!

Abraço!
Nuno Higgs