Registros de host duplicados no Foreman quando a VM é criada pelo Foreman no OpenStack

1

Consegui conectar o Foreman e o OpenStack, para criar VMs no OpenStack usando a interface da Web do Foreman. Estou usando o cloud-init, ou como Foreman o chama, modelo de provisionamento de dados do usuário para provisionar uma instância recém-criada.

Para fins de teste, estou usando este script cloud-config:

#cloud-config: users: - name: danil groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] chpasswd: list: | danil:<hidden> root:<hidden> expire: False runcmd: - apt-get install -y puppet - sed -i -e 's/\[main\]/\[main\]\nserver=foreman.domain.com/' /etc/puppet/puppet.conf - puppet agent --test - puppet agent --enable - puppet agent --test

Estou adicionando um novo host e depois que a VM é girada, posso vê-lo como um host com o nome new-host.domain.com com o nome do modelo OST2, o nome que estou usando para o recurso de computação do OpenStack em Capataz. Dentro desse host eu posso fazer algumas tarefas básicas, como desligar a VM, excluí-lo e assim por diante.

O script de configuração em nuvem faz o seu trabalho, ou seja, instala o fantoche e torna essa VM gerenciável por meio do fantoche por meio do proxy inteligente Foreman. Assim que o fantoche termina a inicialização do host, vejo um host duplicado com o nome "novo host". No caso desse host duplicado, ele possui o nome do modelo "OpenStack Nova". É gerenciável pelo fantoche, mas nenhuma das tarefas do OpenStack disponíveis para o new-host.domain.com está lá.

Em outras palavras, tenho dois registros para o mesmo host. Um registro pode ser usado para gerenciar uma VM e outro registro para gerenciar a configuração do sistema operacional com a ajuda do fantoche.

Existe alguma maneira de mesclar esses dois registros, a fim de evitar esses registros duplicados?

O YAML que corresponde à nova VM criada new-host.domain.com é:

classes: {} parameters: puppetmaster: puppet.domain.com hostgroup: Provision from puppet.domain.com root_pw: <hidden> puppet_ca: puppet.domain.com foreman_env: production owner_name: Admin User owner_email: [email protected] foreman_subnets: [] foreman_interfaces: - mac: ip: 172.21.82.102 type: Interface name: new-host.vccap.de attrs: {} virtual: false link: true identifier: '' managed: true primary: true provision: true subnet: environment: production

Obrigado por suas respostas!

Atenciosamente,

Danil

    
por Danil Zhigalin 08.01.2016 / 14:56

1 resposta

0

Obrigado m0dlx por fornecer uma resposta operacional à minha pergunta. Também encontrei um modelo útil de provisionamento, disponível na instalação do Foreman, que também resolve esse problema. Template é chamado de "dados do usuário kickstart" e é feito para o Fedora e o CentOS, mas com pequenas mudanças também se encaixa no ubuntu.

    
por 11.01.2016 / 21:12