-
Notifications
You must be signed in to change notification settings - Fork 201
AGENT-616: Create unconfigured ignition and config-image and mount to VM #1533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AGENT-616: Create unconfigured ignition and config-image and mount to VM #1533
Conversation
c25e5c4 to
980c03b
Compare
|
/cc @rwsu |
980c03b to
a6fe782
Compare
a6fe782 to
1b80a87
Compare
1b80a87 to
762fb32
Compare
rwsu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
f2cf6e9 to
c2185ed
Compare
rwsu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
agent/06_agent_create_cluster.sh
Outdated
|
|
||
| "${openshift_install}" --dir="${asset_dir}" --log-level=debug agent create unconfigured-ignition | ||
| base_iso_url=$(oc adm release info --registry-config "$PULL_SECRET_FILE" --image-for=machine-os-images --insecure=true $OPENSHIFT_RELEASE_IMAGE) | ||
| oc image extract --path /coreos/coreos-x86_64.iso:$HOME/.cache/agent/image_cache --registry-config "$PULL_SECRET_FILE" --confirm $base_iso_url |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could break for ARM deployments (arch hard-coded to x86_64)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. Changed to use uname
This provides a test for both https://issues.redhat.com/browse/AGENT-558 and https://issues.redhat.com/browse/AGENT-559. It runs the installer commands to create an unconfigured ignition and to create a config-image. It creates an ISO from the unconfigured ignition suitable for booting the VM. It also attaches the config-image to the VM which will be loaded when detected during system boot.
c2185ed to
b19d500
Compare
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: andfasano The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
rwsu
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] openshift-metal3#1533
Added support for running the agent flow using the openshift-appliance[1] disk image. To invoke the flow, use the following env var in config: export AGENT_E2E_TEST_BOOT_MODE=DISKIMAGE The appliance flow is as follows: * Generate appliance-config.yaml[2] * Includes config required for building the appliance * Build the appliance disk image using the container image defined in APPLIANCE_IMAGE env var * Create the config-image ISO * Clone the appliance disk image for every node * As each node needs a seperate disk for exclusive i/o * Attach a cloned disk image to each node * Attach the config-image ISO to all nodes * Boot all machines from the disk image Note: based on config-image support PR[3] [1] https://github.com/openshift/appliance [2] https://github.com/openshift/appliance/blob/master/docs/user-guide.md#set-appliance-config [3] #1533
This provides a test for both https://issues.redhat.com/browse/AGENT-558 and https://issues.redhat.com/browse/AGENT-559. It runs the installer commands to create an unconfigured ignition and to create a config-image. It creates an ISO from the unconfigured ignition suitable for booting the VM. It also attaches the config-image to the VM which will be loaded when detected during system boot.
Also adds a new config setting
AGENT_APPLIANCE_HOTPLUGthat when set will configure the hosts using the unconfigured ignition and then pend for user input before creating the config-image and mounting it to the host. This emulates a situation where a user boots the host first before adding the config-image and continuing the installation.