O Teledeploy é uma ferramenta do OCS Inventory NG para deployment de pacotes, por isso vamos precisar do uso de certificados digitais e SSL para validar o servidor antes de tentar fazer o download dos pacotes. Para entender um pouco mais do uso de certificados digitais e SSL no apache, pode ser utilizado o post anterior clicando aqui.
Vamos adicionar o vitualhost abaixo (para uso das configurações ssl, configurações do php para envio de arquivos através do “Teledeploy” e configurações do diretório /download) no nosso arquivo de configurações “/etc/httpd/conf.d/ocsinventory-reports.conf”.
<Virtualhost *:443> SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES SSLCertificateFile /etc/pki/tls/certs/ca/inventario.crt SSLCertificateKeyFile /etc/pki/tls/private/inventario.key SSLCACertificateFile /etc/pki/tls/certs/ca/cacert.pem ServerName ocsvm01 ServerAlias ocsvm01.home.local DocumentRoot /usr/share/ocsinventory-reports/ocsreports php_flag file_uploads on php_value post_max_size 51M php_value upload_max_filesize 50M Alias /download /var/lib/ocsinventory-reports/download <Directory /var/lib/ocsinventory-reports/download> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </Virtualhost>
Vamos liberar o acesso ao apache na porta 443 pelo iptables
# iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
Criando um pacote
Existem três formas de criação de pacotes: STORE, EXECUTE e LAUNCH. Cada uma delas tem um comportamento diferente, o STORE faz o download de um arquivo e armazena em um diretório, o EXECUTE tanto executa um comando como um programa com um comando, e o LAUNCH faz o download de um arquivo, descompacta, e em seguida, executa a sua instalação. Para criar o pacote, é necessário o usuário “apache” ter acesso de gravação para a pasta “/var/lib/ocsinventory-reports/download/”.
Antes de tudo, iremos definir alguns ajustes de configuração do “Deployment server” e “Redistribution Servers”.
Vamos entrar na interface Web do OCS Inventory, selecionar o ícone “Config”, opção “Config”, e clicar na aba “Deployment”. Iremos alterar as opções DOWNLOAD de OFF para ON (habilitar a função de distribuição automatica do deploy), nos campos DOWNLOAD_URI_FRAG e DOWNLOAD_URI_INFO iremos definir o nome do nosso servidor e clicar em UPDATE conforme a imagem abaixo:
Ainda nas configurações do servidor vá para a aba “Redistribution Servers” e altere a opção DOWNLOAD_REDISTRIB de ON para OFF e clicar em UPDATE(desabilitar a função de servidores de redistribuição, pois os pacotes somente serão utilizados pelo nosso “Deployment Server”)
Então… vamos criar um primeiro pacote:
Vamos novamente entrar na interface Web do OCS Inventory, selecionar o ícone “Deployment” e “Build” para a criação do pacote.
Devemos atribuir um nome para o pacote, Descrição do pacote, Plataforma, Protocolo e Prioridade (opção que vai priorizar a ordem de execução do pacote no cliente, o menor terá a maior prioridade). Na hora de fazer upload de arquivos e programas, é necessário comprimir em .zip ou .tar.gz antes. Vamos escolher uma ação (podemos usar variáveis do sistema, como %SYSTEMDRIVE%, %TEMP%, %USERPROFILE%, %PROGRAMFILES%, etc) para armazenar o arquivo ou comando a ser executado. É possível escolher se queremos que o usuário seja avisado sobre a execução do pacote, e até mesmo para permitir ao usuário para atrasar a execução (útil para implantações de pacote de serviço, etc).
A próxima etapa vai nos permitir criar os fragmentos (quantidade de partes que o pacote será dividido para permitir uma melhor implementação, para em caso de erros, realizar apenas o download dos fragmentos com falha novamente, etc), bem como a soma de verificação para validade dos dados.
Seu pacote será criado em seguida em “/var/lib/ocsinventory-reports/download/#Pkgid#”.
Ativando um pacote
Quando criamos o pacote, é criado um arquivo “info” (com informações das ações do pacote) e os fragmentos de pacotes, podemos tê-los somente em um servidor ou dividir entre diferentes servidores (Redistribution Servers) tendo que especificar onde está localizado cada pacote antes de usá-lo em nossas máquinas. Este processo é chamado de “ativação”.
Ainda na interface Web do OCS Inventory, vamos selecionar o ícone “Deployment” e “Activate”, para a ativação do pacote desejado.
Será exibida uma lista com os pacotes criados e prontos para ativação, vamos clicar no ícone ativar do pacote que iremos realizar a ativação (você pode observar que é criado um hiperlink sobre o nome dos pacotes que já estão ativados).
Após clicar em ativar vamos verificar se os campos “Fragments url” e Https url” estão configurados conforme definimos acima, vamos clicar em “Enable this alteration” e o pacote agora está criado e ativado!
Aplicando pacotes nos computadores
Nessa etapa podemos aplicar pacotes selecionando um (com a exibição de propriedades do computador, selecionando o ícone de personalização e adicionando o pacote) ou vários computadores. A melhor forma é aplicar os pacotes usando a busca avançada.
O certificado “cacert.pem” que foi gerado através da CA, deverá estar presente no diretório do agente do OCS Inventory NG no Windows (geralmente em “C:\Program Files\OCS Inventory Agent”) e no Linux (/etc/ocsinventory-client). Desconsidere isso no caso em que o certificado tenha sido anexado no “OcsPackage.exe”.
No exemplo abaixo, vamos através da busca avançada aplicar os pacotes em todos computadores Windows
A busca irá retornar apenas os itens que correspondem com a requisição
Podemos selecionar apenas alguns computadores que foram encontrados, como podemos aplicar os pacotes para todo o resultado da busca. Para isso, basta clicar em “deploy”, escolher o pacote desejado e clicar em “Update”.
Note que o status do pacote irá ficar como WAITING NOTIFICATION até o agente conectar novamente ao Communication Server.
Seguem abaixo alguns exemplos de STATUS do pacote
Status code | Meaning |
---|---|
WAITING NOTIFICATION | Server is waiting for agent communication to notify there is something to download. |
NOTIFIED | Agent has been notified there is something to download. Now server waiting for result code. |
SUCCESS | Agent has successfully download package and launch command or stored extracted data. With “Launch” action, this status may be completed with command execution return code. (return code 0). |
ERR_EXIT_CODE_xxx | Agent has successfully download package, BUT command of execution or data store associated terminated in error (return code xxx). |
ERR_ALREADY_SETUP | Package was previously installed successfully on this computer. |
ERR_BAD_ID | Agent is unable to download package because it cannot find package ID on deployment server. |
ERR_BAD_DIGEST | Downloaded data are has bad digest, so agent does not execute associated command. |
ERR_DOWNLOAD_INFO | Agent was unable to download INFO file associated to the package. |
ERR_DOWNLOAD_PACK | Agent was unable to download ZIP or TAR.GZ file. |
ERR_BUILD | Agent was unable to rebuild package fragments. |
ERR_UNZIP | Agent was unable to uncompress downloaded ZIP or TAR.GZ file. |
ERR_OUT_OF_SPACE | There is not enought space available on disk to uncompress and execute ZIP or TAR.GZ package. |
ERR_BAD_PARAM | A INFO file parameter of the package is incorrect. |
ERR_EXECUTE_PACK | Any execution command is specified in INFO file of package. |
ERR_EXECUTE | Agent was unable to execute associated package command. |
ERR_CLEAN | Agent was unable to clean downloaded package. |
ERR_DONE_FAILED | Agent can’t retrieve execution result in package cache (cache is used to store result if the server is not responding at the end of package execution). |
ERR_TIMEOUT | Agent was unable to download package during DOWNLOAD_TIMEOUT days. |
ERR_ABORTED | User canceled package command execution (you’ve choosen to notify him, and allowed him to cancel). |
Fonte:
Wiki OCS Inventory NG
Deixe um comentário