Использование файла зерна SaltStack с Vagrant

Я хотел бы использовать minion.d/*.conf для предоставления бродячей машины. Вот моя конфигурация Vagrant:

Vagrant.configure("2") do |config|
  ## Choose your base box
  config.vm.box = "precise64"

  ## For masterless, mount your salt file root
  config.vm.synced_folder "salt/roots/", "/srv/salt/"

  ## Use all the defaults:
  config.vm.provision :salt do |salt|

    salt.minion_config = "salt/minion"
    salt.run_highstate = true
    salt.grains_config = "salt/minion.d/vagrant.conf"

  end
end

После подготовки машины Vagrant у меня возникают ошибки с рендерингом файлов SLS, поскольку файлы minion.d/*.conf не копируются на гостевую машину под:

/etc/salt/minion.d/

Должен ли я сделать конфигурацию синхронизации в конфигурации Vagrant для сотрудничества?


person 4m1nh4j1    schedule 06.05.2015    source источник


Ответы (3)


Вы только что пытались подключить синхронизированную папку к /etc/salt/grains?

## For masterless, mount your salt file root
config.vm.synced_folder "salt/roots/", "/srv/salt/"
config.vm.synced_folder "salt/grains.d/", "/etc/salt/grains.d/"
person Utah_Dave    schedule 06.05.2015

Решение @Utah_Dave будет работать нормально, или вы можете сделать следующее (именно так я его запускаю).

Файловая система:

/dev
  Vagrantfile
  salt-minion.conf
  salt/
    top.sls
    my-awesome-state/init.sls
  pillar/
    top.sls
    my-awesome-pillar.sls

Бродячий файл:

Vagrant.configure("2") do |config|
  config.vm.box = "mafro/jessie64-au-salt"

  # salt config directory & shared dir in /tmp
  config.vm.synced_folder ".", "/srv/salt"

  # setup the salt-minion
  config.vm.provision :salt do |salt|
    salt.minion_config = "salt-minion.conf"
  end
end

salt-minion.conf

file_client: local

id: awesome

file_roots:
  base:
    - /srv/salt/salt

pillar_roots:
  base:
    - /srv/salt/pillar
person mafrosis    schedule 08.05.2015

Реализация Vagrant salt.grains_config не копирует файл в папку /etc/salt/minion.d, как можно было ожидать. Вместо этого файл копируется в /etc/salt/grains.

Чтобы приставка-миньон прочитала этот новый файл зерна, вам просто нужно добавить следующее в конфигурацию миньона:

/etc/соль/миньон

include:
  - /etc/salt/grains
person jmc    schedule 12.02.2016