MAAS - использовать разные preseeds-скрипты на основе зоны или тега

Я хотел бы использовать разные preseeds-скрипты, основанные на зоне MAAS. Но я думаю, что на данный момент это невозможно, может быть, есть другое решение, как использовать разные preseeds-скрипты, основанные на тегах или что-то подобное?

Документация не показывала пример или информация, если это возможно.

Спасибо за вашу помощь!

1
задан 15 May 2014 в 20:33

2 ответа

Поскольку generic и preseed_master сгенерированы автоматически движком шаблонов Tempita, мы могли получить доступ к объектам от django / Python и решить, какими частями сценария перед семенем назван.

я, например, создаюсь некоторые зоны (производство, подготавливая) и использую различные зеркала для ресурса, который требуется. Я изменил generic файл для добавления дополнительного определения:

{{def example}}
# set repository based on zone name
#·{{node.zone}}
{{if node.zone.name in {'staging',} }}
d-i apt-setup/local0/repository string deb https://repo.example.com/ubuntu staging/
d-i apt-setup/local0/comment string staging repository
d-i apt-setup/local0/key sting http://repo.example.com/repo.key
{{endif}}
{{if node.zone.name in {'production',} }}
d-i apt-setup/local0/repository string deb https://repo.example.com/ubuntu production/
d-i apt-setup/local0/comment string production repository
d-i apt-setup/local0/key sting http://repo.example.com/repo.key
{{endif}}
d-i apt-setup/local1/repository string deb https://repo.example.com/ubuntu common/
d-i apt-setup/local1/comment string common reposiotry
d-i apt-setup/local1/key sting http://repo.example.com/repo.key
d-i pkgsel/include string git jenkins-slave jenkins-scripts ntp
{{enddef}}

Это определение могло легко названный в preseed_master файл через:

{{self.example}}

Вы могли получить доступ ко всей информации об узле с объектом node. Весь объект / детали модуля мог быть проверен в исходном коде на /usr/lib/python2.7/dist-packages/maasserver/models/node.py

0
ответ дан 15 May 2014 в 20:33

Для предварительного семени на основе тегов можно сделать:

{{if 'bigDisk' in (node.tag_names())}}
  ...
{{elif 'smallDisk' in (node.tag_names())}}
  ...
{{else}}
  ...
{{endif}}

, Если Ваша часть 'перед семенем', в которой Вы используете это, наследована тогда, Вы не можете использовать {{наследовали "Файл"}}. В данный момент.

0
ответ дан 15 May 2014 в 20:33

Другие вопросы по тегам:

Похожие вопросы: