-
Notifications
You must be signed in to change notification settings - Fork 103
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
Allow deploying Standalone with ironic as the compute driver #561
Allow deploying Standalone with ironic as the compute driver #561
Conversation
8b96ee0
to
ff09e43
Compare
@cescgina I think we want to run the adoption against this ... |
bf367fe
to
ada08f0
Compare
ack, will try to review tomorrow, but testing it meanwhile in https://review.rdoproject.org/r/c/testproject/+/49765. Just a heads-up, there are two jobs running there, one that runs both standalone and crc in vms nested inside a single node, and a new one that has crc in a separate node. The networking is slightly different in this second job, it might cause some problems. |
I'm wondering if the recently merged ironic virt driver support changes the direction here or not. With openstack-k8s-operators/nova-operator#477 you can ask nova-operator to start a nova-compute service in a pod and configure it with the ironic virt driver. |
No, this is about deploying a legacy tripleo standalone with ironic. The goal is then to test the adoption of nova+ironic from the "legacy" cloud to the new podified controlplane running nova+ironic (ironic virt driver) in a pod. |
Thanks, I can see in logs that the patch applied and the testproject jobs ran green: data-plane-adoption-github-rdo-centos-9-extracted-crc https://review.rdoproject.org/zuul/build/8a80f13fce524b2fa057e4055d239133 : SUCCESS in 1h 30m 42s
|
ada08f0
to
92c2538
Compare
Thanks for working on this Harald, it looks good (to the extent i'm able to review :) ). We should just make sure to have a CI run on the latest changes before merging. If there is more stuff to add we could also chunk it up into multiple PRs perhaps. |
Agreed on chunking up into multipl PRs, it is unfortunate that we cannot stack changes in GitHub-- like we can do on gerrit. I have some TODO's but I will do that in separate PRs. The push yesterday was just a re-base on #560 - there was a conflict after merging that. @cescgina can you re-trigger a test-project with adoption jobs on the latest version of this to ensure I did not accidentally break anything? |
Sure thing, running here: https://review.rdoproject.org/r/c/testproject/+/49765 |
Thanks, the job ran green. 👍 https://review.rdoproject.org/r/c/testproject/+/49765
|
Use a tempdir for default CMDS_FILE and REPO_SETUP_CMDS files. As already done for repo commands, only create the commands file if it does not exist. Signed-off-by: Harald Jensås <[email protected]>
Use jinj2 for files: network_data, deployed_network, net_config Using the jinj2_render function we can dynamically create these files based on user arguments such as extra networks defined in EDPM_COMPUTE_ADDITIONAL_NETWORKS. Signed-off-by: Harald Jensås <[email protected]>
@@ -80,7 +89,7 @@ export HOST_PRIMARY_RESOLV_CONF_ENTRY=${HOST_PRIMARY_RESOLV_CONF_ENTRY} | |||
export INTERFACE_MTU=${INTERFACE_MTU:-1500} | |||
export NTP_SERVER=${NTP_SERVER:-"clock.corp.redhat.com"} | |||
export EDPM_COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED:-true} | |||
export CEPH_ARGS="${CEPH_ARGS:--e \$HOME/deployed_ceph.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml}" |
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.
I'm not sure if we'll ever need to do it, but I think that with this change we loose the ability to modify the ceph deployment. If I understand correctly, with this change we can only choose to not deploy ceph, or deploy it with -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm-rbd-only.yaml
.
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.
ugh, you are right. I misread that and thought it was always redefined in openstack.sh.
I can do a follow up to fix that? (Or if people insist I can change this PR)
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.
So ... I updated it to make it possible to modify the ceph deployment again. Good catch @cescgina++
Allow setting up standalone node with: * ironic as the compute driver * additional network interface (br-baremetal) To try this: ```bash cd .. # back to install_yamls make nmstate make namespace cd devsetup # back to install_yamls/devsetup make bmaas BMAAS_INSTANCE_DISK_SIZE=2 make bmaas_generate_nodes_yaml | tail -n +2 | tee /tmp/ironic_nodes.yaml cat << EOF > /tmp/addtional_nets.json [ { "type": "network", "name": "crc-bmaas", "standalone_config": { "type": "linux_bridge", "name": "baremetal", "mtu": 1500, "ip_subnet": "172.20.1.0/24", "allocation_pools": [ { "start": "172.20.1.4", "end": "172.20.1.250" } ] } } ] EOF export EDPM_COMPUTE_ADDITIONAL_NETWORKS=$(jq -c . /tmp/addtional_nets.json) export EDPM_COMPUTE_SUFFIX=standalone export IP_ADRESS_SUFFIX=100 export COMPUTE_DRIVER=ironic make standalone ``` Signed-off-by: Harald Jensås <[email protected]>
92c2538
to
8b43c1e
Compare
Cool. Should we go for a merge? My only outstanding concern is if this could potentially make it harder to merge openstack-k8s-operators/data-plane-adoption#171 but since the MariaDB/OVN data copy works with this PR, i think EDPM should too... cc @fao89 |
So i'm leaning towards merging this. |
+1 to merge |
/approve |
it is approved, the first lgtm will merge it |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fao89, hjensas, jistr The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
devsetup - Standalone ironic - for adoption testing
Allow setting up standalone node with:
NOTE: There is quite a bit of re-factoring of the standalone scripts in this change.
REPO_SETUP_CMDS
andCMDS_FILE
unless overriden by the user.TODO:
ServiceNetMap
overrides for ironic.To try this: