Existem exemplos de scripts de instalação personalizados?

Existem exemplos de scripts de instalação personalizados?

Não consigo encontrar nenhuma informação sobre como fornecer um script personalizado para ser executado após a instalação. Existem exemplos sobre isso que a comunidade pode fornecer?

Responder1

Dependendo de qual instalador você está usando, o MAAS fornece diferentes mecanismos para personalizar uma instalação. Esta resposta pressupõe que você esteja usando oinstalador curtin(também conhecido como instalador de caminho rápido), que se tornou o padrão noMAAS 1.7.

MAAS usanuvem-initcomo parte de seu processo de instalação. Existem várias maneiras de personalizar o comportamento do cloud-init, sendo a mais fácil simplesmente fornecer umScript de dados do usuário, que o cloud-init executa durante a primeira inicialização, após a conclusão da instalação do sistema operacional.

No MAAS, isso pode ser feito fornecendo o argumento user_data aonode start Comando CLI. O formato desse comando é:

maas <user> node start <node uuid> user_data=<script> distro_series=<name>

onde <script>é na verdade uma string codificada em base64. Para um exemplo concreto, supondo que você gostaria de executar um script chamado addkey.shque imprime alguma saída no console de instalação,importa uma chave SSH do Launchpadpara o usuário ubuntue registra os resultados em um arquivo de log:

#!/bin/sh
(
echo ======== Hi World ======================
echo ============== $(date) =================
ssh-import-id user
) | tee /my.log

você poderia emitir os seguintes comandos:

$ script=$(base64 addkey.sh)
$ maas myuser node start node-79b67e82-d25c-11e4-a333-00163eca91de \
  user_data=$script distro_series=trusty

que, se bem-sucedido, deverá retornar (depois de um tempo) a saída no seguinte formato:

Success.
Machine-readable output follows:
{
    "status": 6, 
    "macaddress_set": [
        {
...

Agora, isso executa esse script após a implantação deum nó específico. Se você quiser que os comandos sejam configurados para que sejam executadosqualquer nóque é instalado por meio do MAAS, é possível incluir os comandos a serem executados como parte da late_commandssub-rotina no arquivo/etc/maas/preseeds/curtin_userdataarquivo. Para um exemplo mais complexo que usa esse mecanismo para configurar duas VLANs em uma interface de rede, consultehttp://astokes.org/customizing-fastpath-curtin-installations/.

Observe que Curtin atualmente está em grande parte sem documentos; há no entanto umaarquivo de visão geralque descreve alguns dos detalhes de sua operação.

Tenha em mente que este mecanismo não deve ser confundido com uma comissioning scriptexecução durante ofase de comissionamento, e qual no ciclo de vida do nó MAAS ocorre antes da instalação. O comissionamento é geralmente usado para tarefas administrativas que não devem afetar diretamente a instalação; exemplos seriam:

  • atualização de firmware
  • testes de integridade dos principais componentes de hardware
  • queimar

Responder2

Deve-se observar que os comandos aqui são para a API 1.0. Na versão 2.0 e superior, o comando é:

maas <profile> machine deploy <system_id> user_data=<base64-encoded-userdata>

informação relacionada