Skip to content

[RFE] Add modularity to azure-init #258

@cadejacobson

Description

@cadejacobson

Current situation

When Azure-init is run, the service completes the entire provisioning service. There is little ability to turn off certain services that are not needed. This has been part of an issue where the hostname does not bounce (see #68) because azure-init runs later in boot (see #35). However, the service must be run at the very last moment because it reports provisioning complete.

Afterburn uses a CLI flag system where each feature can be turned on or off depending on what the user needs at a given time. By adopting a similar setup, we will be able to do the hostname, user creation, and SSH configuration work early on while these changes can still propagate, and then re-call azure-init when it is time to report ready to wireserver.

Impact

Azure-init is less robust because the hostname is set so late that the change can not be perfectly propagated.

Along with this, by requiring the entire provision to be run, azure-init may be hurting its ability to be adopted by customers. As an example, there may be a service that just wants to create a user and write their SSH keys, and azure-init could handle this for them.

Ideal future situation

We should be able to call azure-init --create-user, azure-init --set-hostname, or azure-init --set-hostname --write-ssh-keys --configure-sshd and only have those specific features be done on the

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew feature or request

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions