Skip to content

Skc baremetal environment#2023

Open
claudia-lola wants to merge 9 commits intostackhpc/2025.1from
skc-baremetal-environment
Open

Skc baremetal environment#2023
claudia-lola wants to merge 9 commits intostackhpc/2025.1from
skc-baremetal-environment

Conversation

@claudia-lola
Copy link
Contributor

No description provided.


- name: Undeploy baremetals in 'deploy failed' or 'error' state
ansible.builtin.command:
cmd: "{{ venv }}/bin/openstack baremetal node undeploy {{ inventory_hostname }}"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

JohnG "Maybe lets move this into ./baremetal-4-clean.yml, at least for deploy failed."

Copy link
Contributor

@assumptionsandg assumptionsandg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly some nit comments


* ``kayobe overcloud service deploy``

* ``source kayobe-config/etc/kolla/admin-openrc.sh``
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Would probably be best to say source $KAYOBE_CONFIG_PATH/../kolla/admin-openrc.sh

@@ -0,0 +1,2 @@
libvirt-python
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we be pinning these?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this requirements file was added in this commit the packages are being installed by a task here what would be the alternative to pinning them ?


* ``kayobe control host bootstrap``

* ``kayobe overcloud host configure``
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

growroot may be potentially necessary? I could be wrong though.

As in the possible deployment sequence might be:

kayobe overcloud host configure -t kayobe-ansible-user
kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/tools/growroot.yml
kayobe overcloud host configure


* ``kayobe overcloud post configure``

Auto-setup script used to set up Sushy and create virtual baremetal within libvirt using the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be helpful to explain this runs two different Ansible playbooks... as in this auto-setup script first runs through the Sushy Emulator deployment, and then creates the virtual baremetal which is enrolled in the Sushy Emulator.


``kayobe playbook run environments/stackhpc-sushy-baremetal/ansible/auto-setup.yml``

Scripts from the baremetal env can be run to enroll, inspect and clean virtual baremetal nodes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could possibly elaborate here that once the virtual baremetal is created from the previous step and is configured in Sushy, we can begin the same enrollment process we use with other baremetal.

@@ -0,0 +1,10 @@
---

stackhpc_release_pulp_username: "skc-ci-aio"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: maybe this could be set to stackhpc_repo_mirror_username from the ci-aio env?

ansible.builtin.import_playbook: ./sushy-setup.yml
- name: Create Libvirt vBMC nodes
ansible.builtin.import_playbook: ./create-virtual-baremetal.yml

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Linting isn't happy with this extra line

- python3-devel
state: present

- name: Start and enable the QEMU service
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do actually have a role than configures a host for libvirt: https://github.com/stackhpc/ansible-role-libvirt-host. Ideally we'd use that, but is there a reason not to?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still think these templates should be factor out in a sushy role:

roles/sushy/templates/sushy.conf.j2
...


#these vars used to be within ironic_driver_info
ironic_redfish_system_id: "/redfish/v1/Systems/1"
ironic_redfish_address: "http://192.168.33.3:34343"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this is specific to the sushy emulator? Should it in that environment?

# settings for provision-nova.yml
ironic_provision_network: "provision-net"
ironic_provision_flavor: "example_resource_class"
ironic_provision_image: "overcloud-rocky-9-2025.1-20250930T144255"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we leave this unset and error if it is missing? Possibly using the mandatory filter?

Copy link
Contributor

@assumptionsandg assumptionsandg Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree for the flavor we should leave unset, the image we can likely just set to this or something:

ironic_provision_image: "{{ stackhpc_overcloud_host_image_version }}"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants

Comments