[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Instructions for spooling up an instance

On Wed, Jul 17, 2019, at 5:51 AM, Mauricio Tavares wrote:
>       I understand you create a flavor and an image (which can be
> customized with the properties from
> https://docs.openstack.org/glance/latest/admin/useful-image-properties.html)
> which can then be fed to openstack server create thingie. But, where
> is the script (think something like kickstart to see what I have in
> mind; if I am off, I am off) that defines how the hard drive will be
> partitioned and which interfaces (if more than one) will be turned on
> and which will be left untouched. You know, housekeeping things that
> are done before you feed the "--user-data" stuff. Where is that
> defined? Can I customize it?

The two major ways you manage this is via your image builds (this is pre boot) and via a post boot manager like cloud-init or glean.

With your image build you can preinstall all of the software you need (and configure it too). You can also configure disk partitioning. The tool the OpenDev Infra team uses this for all of our test node images and some of our control plane images is called diskimage-builder [0]. This tool can partition images using both mbr and gpt tables.

For post boot management we use glean [1] which is a very simple post boot manager that can add ssh authorized keys to the root user and configure network interface. Cloud-init [2] is a far more configurable tool but I'm not super familiar with it at this point (due to using glean).

Long story short that means bake what you can into the image then rely on a tool like glean or cloud-init to handle post boot actions that differ from instance to instance (like network interfaces).

[0] https://docs.openstack.org/diskimage-builder/latest/
[1] https://docs.openstack.org/infra/glean/
[2] https://cloudinit.readthedocs.io/en/latest/

Hope this helps,