Revision history [back]

Although you often hear the term "inject a script" or "inject SSH keys", OpenStack can't upload anything to instances and can't force instances to run scripts. It can only make scripts available via the metadata server, which an instance accesses using a mechanism like cloud-init. Your best bet is to bake the scripts you want to run into the images in your cloud. Of course, if your cloud allows users to upload their own images, you need to rely on their cooperation.

Rather than expecting instances to cooperate, you could investigate if OpenStack can manage your IP addresses and DNS records externally to them.

For example, Neutron features IPAM integration, though I don't know whether it has a driver for your particular IPAM solution and to what extent it addresses your problem. You could start here: https://docs.openstack.org/neutron/latest/admin/config-ipam.html, though this page is unlikely to reflect the most recent status.

OpenStack has a service for DNS integration named Designate. You can make it create DNS records automatically whenever an instance gets an external IP address. Its documentation is at https://docs.openstack.org/designate/latest.

Although you often hear the term "inject a script" or "inject SSH keys", OpenStack can't upload anything to instances and can't force instances to run scripts. It can only make scripts and other information available via the metadata server, which an instance accesses using a mechanism like cloud-init. Your best bet is to bake the scripts you want to run into the images in your cloud. Of course, if your cloud allows users to upload their own images, you need to rely on their cooperation.

Rather than expecting instances to cooperate, you could investigate if OpenStack can manage your IP addresses and DNS records externally to them.

For example, Neutron features IPAM integration, though I don't know whether it has a driver for your particular IPAM solution and to what extent it addresses your problem. You could start here: https://docs.openstack.org/neutron/latest/admin/config-ipam.html, though this page is unlikely to reflect the most recent status.

OpenStack has a service for DNS integration named Designate. You can make it create DNS records automatically whenever an instance gets an external IP address. Its documentation is at https://docs.openstack.org/designate/latest.

Although you often hear the term "inject a script" or "inject SSH keys", OpenStack can't upload anything to instances and can't force instances to run scripts. It can only make scripts and other information available via the metadata server, which an instance accesses using a mechanism like cloud-init. Your best bet is to bake the scripts you want to run into the images in your cloud. Of course, if your cloud allows users to upload their own images, you need to rely on their cooperation.

Rather than expecting instances to cooperate, trying to use scripts inside instances, you could investigate if OpenStack can manage your IP addresses and DNS records externally to them.outside of instances.

For example, Neutron features IPAM integration, though I don't know whether it has a driver for your particular IPAM solution and to what extent it addresses your problem. You could start here: https://docs.openstack.org/neutron/latest/admin/config-ipam.html, though this page is unlikely to reflect the most recent status.

OpenStack has a service for DNS integration named Designate. You can make it create DNS records automatically whenever an instance gets an external IP address. Its documentation is at https://docs.openstack.org/designate/latest.