Я хотел бы использовать разные preseeds-скрипты, основанные на зоне MAAS. Но я думаю, что на данный момент это невозможно, может быть, есть другое решение, как использовать разные preseeds-скрипты, основанные на тегах или что-то подобное?
Документация не показывала пример или информация, если это возможно.
Спасибо за вашу помощь!
Поскольку 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
Для предварительного семени на основе тегов можно сделать:
{{if 'bigDisk' in (node.tag_names())}}
...
{{elif 'smallDisk' in (node.tag_names())}}
...
{{else}}
...
{{endif}}
, Если Ваша часть 'перед семенем', в которой Вы используете это, наследована тогда, Вы не можете использовать {{наследовали "Файл"}}. В данный момент.