[tripleo] Deprecating tripleo-heat-templates firstboot

Steve Baker sbaker at redhat.com
Mon May 25 23:32:35 UTC 2020


Soon nova will be switched off by default on the undercloud and all 
overcloud deployments will effectively be deployed-server based (either 
provisioned manually or via the baremetal provision command)

This means that the docs for running firstboot scripts[1] will no longer 
work, and neither will our collection of firstboot scripts[2]. In this 
email I'm going to propose what we could do about this situation and if 
there are still unresolved issues by the PTG it might be worth having a 
short session on it.

The baremetal provisioning implementation already uses cloud-init 
cloud-config internally for user creation and key injection[3] so I'm 
going to propose an enhancement the the baremetal provisioning yaml 
format so that custom cloud-config instructions can be included either 
inline or as a file path.

I think it is worth going through each firstboot script[2] and deciding 
what its fate should be (other than being deprecated in Ussuri):

https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/conntectx3_streering.yaml

This has no parameters, so it could be converted to a standalone 
cloud-config file, but should it? Can this be achieved with kernel args? 
Does it require a reboot anyway, and so can be done with extraconfig?


https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/os-net-config-mappings.yaml

I'm not sure why this is implemented as first boot, it seems to consume 
the parameter |NetConfigDataLookup and transforms it to the format 
os-net-config needs for the file ||/etc/os-net-config/mapping.yaml. It 
looks like this functionality should be moved to where os-net-config is 
actually invoked, and the |||NetConfigDataLookup parameter should be 
officially supported.
||

|
|

|https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/userdata_dev_rsync.yaml|

|I suggest deleting this and including a cloud-config version in the 
baremetal provisioning docs.|


||||

|https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/userdata_heat_admin.yaml|

|Delete this, there is already an abstraction for this built into the 
baremetal provisioning format[4]|

|
|

|https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/userdata_root_password.yaml|

|Delete this and include it as an example in the baremetal provisioning 
docs.|

|
|

|https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot/userdata_timesync.yaml|

|Maybe this could be converted to an extraconfig/all_nodes script[5], 
but it would be better if this sort of thing could be implemented as an 
ansible role or playbook, are there any plans for an extraconfig 
mechanism which uses plain ansible semantics?|

|
|

|cheers
|

[1] 
https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/features/extra_config.html#firstboot-extra-configuration

[2] 
https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/firstboot

[3] 
https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py#L286

[4] 
https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py#L132

https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/ansible_plugins/modules/metalsmith_instances.py#L145

[5] 
https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/extraconfig/all_nodes

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20200526/82430ff3/attachment.html>


More information about the openstack-discuss mailing list