Força a reconstrução do estado de um minion?

1

TL; DR

Eu comecei a controlar todas as minhas máquinas virtuais usando o Saltstack. Eu configurei dois ambientes separados, init e base , para instalar o minion em uma VM recém-implementada e gerenciamento de configuração em andamento, respectivamente. Tendo implantado com sucesso um minion, ele adere aos estados de AMBOS os ambientes! Eu não quero isso. Só deve ser gerenciado de acordo com o ambiente base .

Por que ele usa os dois ambientes e como eu o forcei a não se importar mais com o ambiente init , após a implantação inicial?

Tendo implantado uma nova VM, eu uso salt-ssh para configurar repositórios, instalar o servo de sal e ativá-lo. Depois disso, uso salt para gerenciar minhas VMs. Então, para cada nova VM eu faço (uma vez)

salt-ssh -i 'anewhost' state.apply

e depois disso eu faço / cron faz

salt '*' state.apply

A configuração das minhas raízes de arquivo é o único conteúdo do arquivo de configuração do meu mestre:

file_roots:
  base:
    - /srv/salt/base
  init:
    - /srv/salt/init

Para transformar uma VM em um lacaio, eu uso um arquivo de lista. /etc/salt/roster , onde cada bloco se parece com isto:

anewhost:
  host: anewhost.mydomain.tld
  user: root
  passwd: rootpw
  minion_opts:
    environment: init

A ideia é

  • quando eu faço state.apply usando salt-ssh , o estado é construído a partir de /srv/salt/init/top.sls
  • quando eu faço state.apply usando salt , o estado é construído a partir de /srv/salt/base/top.sls

O que acontece é que salt-ssh se comporta exatamente como esperado, mas salt cria alguma abominação unificada que realmente contém os dois estados, descritos por init e base .

Aparentemente, salt lembra o ambiente init e o puxa, não importa o que eu faça. Como faço para esquecer o ambiente init ?

Editar: Quickfix

Corrigi-o aumentando meus init estados para anexar environment: base a /etc/salt/minion . Isso faz com que o minion ignore o ambiente init . Mas por que honrou isso em primeiro lugar? A idéia por trás dos ambientes para fazer sal não é diferente?

    
por user1129682 16.05.2017 / 23:37

1 resposta

0

Isso provavelmente não é realmente responder à sua pergunta, de qualquer forma na minha configuração eu apenas uso o ambiente de base e eu faço o bootstrap sal usando saltify . Desta forma, você não precisa do ambiente init

    
por 19.11.2017 / 22:43

Tags