Я использую Openstack Heat с выпуском Juno и столкнулся с проблемой.
Я хочу использовать AutoScalingGroup, который будет автоматически создавать некоторые экземпляры в определенной подсети. Топология моей сети — это одна сеть со многими подсетями (каждый уровень находится в своей подсети).
Но это кажется невозможным с выпуском Juno, потому что мы не можем указать параметр подсети в OS::Nova::Server/networks. Документ находится здесь: http://docs.openstack.org/developer/heat/template_guide/openstack.html#OS::Nova::Server-prop-networks-*-subnet
Интересно, есть ли у кого-нибудь обходной путь для этого ограничения в Juno.
При создании отдельного сервера можно указать OS::Neutron::Port со ссылкой на подсеть. Но я не могу найти, как это сделать с помощью AutoScaling.
Спасибо заранее,
J.M.
РЕДАКТИРОВАТЬ: Текущий стек. Работает только с одним сервером, т.к. порт создается вне ОС:Heat::AutoScalingGroup
resources:
instance_port:
type: OS::Neutron::Port
properties:
name: { get_param : portName }
network_id: { get_param: networkId }
fixed_ips:
- subnet_id: { get_param: subnetId }
security_groups: { get_param: securityGroups }
asg_group:
depends_on: [ instance_port ]
type: OS::Heat::AutoScalingGroup
properties:
...
resource:
type: OS::Nova::Server
properties:
name: { get_param: asgName }
....
networks:
# TODO assign direct IP to the right subnet by decommenting this line. Will be available in Liberty
#- subnet: { get_param: subnetId } /!\ doesn't work in Juno
- port: { get_resource : instance-port } /!\ Works only with one server