metalsmith.instance_config.
CloudInitConfig
(ssh_keys=None, user_data=None)¶Bases: metalsmith.instance_config.GenericConfig
Configuration of the target instance using cloud-init.
Compared to GenericConfig
, this adds support for managing users.
ssh_keys – List of SSH public keys.
user_data – Cloud-init script as a dictionary.
users – Users to add on first boot.
add_user
(name, admin=True, password_hash=None, sudo=False, **kwargs)¶Add a user to be created on first boot.
name – user name.
admin – whether to add the user to the admin group (wheel).
password_hash – user password hash, if password authentication is expected.
sudo – whether to allow the user sudo without password.
kwargs – other arguments to pass.
populate_user_data
()¶Get user data for this configuration.
Takes the custom user data and appends requested users to it.
user data as a string.
metalsmith.instance_config.
GenericConfig
(ssh_keys=None, user_data=None)¶Bases: object
Configuration of the target instance.
The information attached to this object will be passed via a configdrive to the instance’s first boot script (e.g. cloud-init).
This class represents generic configuration compatible with most first-boot
implementations. Use CloudInitConfig
for features specific to
cloud-init.
ssh_keys – List of SSH public keys.
user_data – User data as a string.
generate
(node, hostname=None)¶Generate the config drive information.
node – Node object.
hostname – Desired hostname (defaults to node’s name or ID).
configdrive contents as a dictionary with keys:
meta_data
meta data dictionary
user_data
user data as a string
populate_user_data
()¶Get user data for this configuration.
Can be overridden to provide additional features.
user data as a string.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.