Proposed title of this feature request
Support user-data API calls when installating clusters on OpenStack,
firstly to check if its result is one MIME or not, if it's MIME, extract the different MIME parts or files, and then process or ignore those files one by one. if one part is ignition file, just go ahead. If the return result is not MIME, just follow the current logic.
What is the nature and description of the request?
The customer want to boot one RHCOS4.7 instance via the below commands, in which the ignition file would be passed down via the parameter of user-data
openstack --os-cloud xxxx create --image rhcos-4.7.7-x86_64 --flavor xxxx --availability-zone xxx --network xxxxxx --user-data "/ocp/xxxxx/worker.ign" myworker1
Well, via openstack log file, we could know that such user-data or the content ignition file had been passed down to the instance. However, via instance console, we could find one error is regarding with "invalid character 'C' looking for beginning of value" while it is processing the return result from API call http://169.254.169.254/latest/user-data. From such error message, we guess RHCOS expects JSON content directly, but one MIME message is received.
Why does the customer need this? (List the business requirements here)
While installing OCP in UPI environment, there are many manual input steps and those steps must be done during every machine boot-up. The customer want to have one some-kind automatic install OCP tool so that when all prepare work are done, we could simply bring up one OCP cluster via one script execution without any manual input during every machine boot-up. And then, we have to rely on OpenStack cli to buildup our automatic scripts. Most steps for our scripts had been verified, but we just met the last issue: how to pass-down ignition file via user-data. If such MIME format is resolved, we could verify our automatic installation scripts, and then it would be one big improvement for customer IT department.
List any affected packages or components.
OpenShift on OpenStack installation