diff --git a/apis/bases/core.openstack.org_openstackcontrolplanes.yaml b/apis/bases/core.openstack.org_openstackcontrolplanes.yaml index 0aca33f34..0188804c7 100644 --- a/apis/bases/core.openstack.org_openstackcontrolplanes.yaml +++ b/apis/bases/core.openstack.org_openstackcontrolplanes.yaml @@ -17950,6 +17950,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: diff --git a/apis/bases/core.openstack.org_openstackversions.yaml b/apis/bases/core.openstack.org_openstackversions.yaml index 0219ddeb9..488b8d708 100644 --- a/apis/bases/core.openstack.org_openstackversions.yaml +++ b/apis/bases/core.openstack.org_openstackversions.yaml @@ -58,6 +58,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -277,6 +279,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -461,6 +465,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: diff --git a/apis/core/v1beta1/openstackversion_types.go b/apis/core/v1beta1/openstackversion_types.go index 686a65450..c11d3dcba 100644 --- a/apis/core/v1beta1/openstackversion_types.go +++ b/apis/core/v1beta1/openstackversion_types.go @@ -84,6 +84,7 @@ type ContainerTemplate struct { BarbicanAPIImage *string `json:"barbicanAPIImage,omitempty"` BarbicanKeystoneListenerImage *string `json:"barbicanKeystoneListenerImage,omitempty"` BarbicanWorkerImage *string `json:"barbicanWorkerImage,omitempty"` + BootcOsContainerImage *string `json:"bootcOsContainerImage,omitempty"` CeilometerCentralImage *string `json:"ceilometerCentralImage,omitempty"` CeilometerComputeImage *string `json:"ceilometerComputeImage,omitempty"` CeilometerIpmiImage *string `json:"ceilometerIpmiImage,omitempty"` diff --git a/apis/core/v1beta1/zz_generated.deepcopy.go b/apis/core/v1beta1/zz_generated.deepcopy.go index 45670581c..0c0ff6113 100644 --- a/apis/core/v1beta1/zz_generated.deepcopy.go +++ b/apis/core/v1beta1/zz_generated.deepcopy.go @@ -301,6 +301,11 @@ func (in *ContainerTemplate) DeepCopyInto(out *ContainerTemplate) { *out = new(string) **out = **in } + if in.BootcOsContainerImage != nil { + in, out := &in.BootcOsContainerImage, &out.BootcOsContainerImage + *out = new(string) + **out = **in + } if in.CeilometerCentralImage != nil { in, out := &in.CeilometerCentralImage, &out.CeilometerCentralImage *out = new(string) diff --git a/apis/dataplane/v1beta1/openstackdataplanenodeset_types.go b/apis/dataplane/v1beta1/openstackdataplanenodeset_types.go index c865a51df..23ef4dc7c 100644 --- a/apis/dataplane/v1beta1/openstackdataplanenodeset_types.go +++ b/apis/dataplane/v1beta1/openstackdataplanenodeset_types.go @@ -219,6 +219,7 @@ var ContainerImageDefaults = openstackv1.ContainerImages{ AgentImage: getStrPtr("quay.io/openstack-k8s-operators/openstack-baremetal-operator-agent:current-podified"), AnsibleeeImage: getStrPtr("quay.io/openstack-k8s-operators/openstack-ansibleee-runner:latest"), ApacheImage: getStrPtr("registry.redhat.io/ubi9/httpd-24:latest"), + BootcOsContainerImage: getStrPtr("quay.io/openstack-k8s-operators/edpm-bootc:current-podified"), EdpmFrrImage: getStrPtr("quay.io/podified-antelope-centos9/openstack-frr:current-podified"), EdpmIscsidImage: getStrPtr("quay.io/podified-antelope-centos9/openstack-iscsid:current-podified"), EdpmLogrotateCrondImage: getStrPtr("quay.io/podified-antelope-centos9/openstack-cron:current-podified"), @@ -251,6 +252,7 @@ func SetupDefaults() { AgentImage: getImageDefault("RELATED_IMAGE_AGENT_IMAGE_URL_DEFAULT", ContainerImageDefaults.AgentImage), AnsibleeeImage: getImageDefault("RELATED_IMAGE_ANSIBLEEE_IMAGE_URL_DEFAULT", ContainerImageDefaults.AnsibleeeImage), ApacheImage: getImageDefault("RELATED_IMAGE_APACHE_IMAGE_URL_DEFAULT", ContainerImageDefaults.ApacheImage), + BootcOsContainerImage: getImageDefault("RELATED_IMAGE_BOOTC_OS_CONTAINER_IMAGE_URL_DEFAUILT", ContainerImageDefaults.BootcOsContainerImage), EdpmFrrImage: getImageDefault("RELATED_IMAGE_EDPM_FRR_IMAGE_URL_DEFAULT", ContainerImageDefaults.EdpmFrrImage), EdpmIscsidImage: getImageDefault("RELATED_IMAGE_EDPM_ISCSID_IMAGE_URL_DEFAULT", ContainerImageDefaults.EdpmIscsidImage), EdpmLogrotateCrondImage: getImageDefault("RELATED_IMAGE_EDPM_LOGROTATE_CROND_IMAGE_URL_DEFAULT", ContainerImageDefaults.EdpmLogrotateCrondImage), diff --git a/bindata/crds/crds.yaml b/bindata/crds/crds.yaml index e4a8bd527..f4c76b7e7 100644 --- a/bindata/crds/crds.yaml +++ b/bindata/crds/crds.yaml @@ -18114,6 +18114,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -19700,6 +19702,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -19919,6 +19923,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -20103,6 +20109,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: diff --git a/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml b/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml index 0aca33f34..0188804c7 100644 --- a/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml +++ b/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml @@ -17950,6 +17950,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: diff --git a/config/crd/bases/core.openstack.org_openstackversions.yaml b/config/crd/bases/core.openstack.org_openstackversions.yaml index 0219ddeb9..488b8d708 100644 --- a/config/crd/bases/core.openstack.org_openstackversions.yaml +++ b/config/crd/bases/core.openstack.org_openstackversions.yaml @@ -58,6 +58,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -277,6 +279,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: @@ -461,6 +465,8 @@ spec: type: string barbicanWorkerImage: type: string + bootcOsContainerImage: + type: string ceilometerCentralImage: type: string ceilometerComputeImage: diff --git a/hack/export_related_images.sh b/hack/export_related_images.sh index 07a8aa577..a9a458124 100755 --- a/hack/export_related_images.sh +++ b/hack/export_related_images.sh @@ -73,6 +73,7 @@ export RELATED_IMAGE_DESIGNATE_UNBOUND_IMAGE_URL_DEFAULT=quay.io/podified-antelo export RELATED_IMAGE_BARBICAN_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-barbican-api:current-podified export RELATED_IMAGE_BARBICAN_WORKER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-barbican-worker:current-podified export RELATED_IMAGE_BARBICAN_KEYSTONE_LISTENER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-barbican-keystone-listener:current-podified +export RELATED_IMAGE_BOOTC_OS_CONTAINER_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/edpm-bootc:current-podified export RELATED_IMAGE_EDPM_FRR_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-frr:current-podified export RELATED_IMAGE_EDPM_ISCSID_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-iscsid:current-podified export RELATED_IMAGE_EDPM_LOGROTATE_CROND_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-cron:current-podified diff --git a/pkg/dataplane/inventory.go b/pkg/dataplane/inventory.go index 73b85c633..c54b44f53 100644 --- a/pkg/dataplane/inventory.go +++ b/pkg/dataplane/inventory.go @@ -326,6 +326,9 @@ func resolveGroupAnsibleVars(template *dataplanev1.NodeTemplate, group *ansible. if template.Ansible.AnsibleVars["edpm_telemetry_openstack_network_exporter_image"] == nil { group.Vars["edpm_telemetry_openstack_network_exporter_image"] = containerImages.EdpmOpenstackNetworkExporterImage } + if template.Ansible.AnsibleVars["edpm_bootc_os_container_image"] == nil { + group.Vars["edpm_bootc_os_container_image"] = containerImages.BootcOsContainerImage + } err := unmarshalAnsibleVars(template.Ansible.AnsibleVars, group.Vars) if err != nil { diff --git a/pkg/dataplane/util/version.go b/pkg/dataplane/util/version.go index e03feb7e3..8cd68319e 100644 --- a/pkg/dataplane/util/version.go +++ b/pkg/dataplane/util/version.go @@ -61,6 +61,7 @@ func GetContainerImages(version *openstackv1.OpenStackVersion) openstackv1.Conta // OpenStackVersion, use the value from there, else use the default value. if version != nil { containerImages.AnsibleeeImage = version.Status.ContainerImages.AnsibleeeImage + containerImages.BootcOsContainerImage = version.Status.ContainerImages.BootcOsContainerImage containerImages.CeilometerComputeImage = version.Status.ContainerImages.CeilometerComputeImage containerImages.CeilometerIpmiImage = version.Status.ContainerImages.CeilometerIpmiImage containerImages.EdpmFrrImage = version.Status.ContainerImages.EdpmFrrImage @@ -83,6 +84,7 @@ func GetContainerImages(version *openstackv1.OpenStackVersion) openstackv1.Conta containerImages.ApacheImage = version.Status.ContainerImages.ApacheImage } else { containerImages.AnsibleeeImage = dataplanev1.ContainerImages.AnsibleeeImage + containerImages.BootcOsContainerImage = dataplanev1.ContainerImages.BootcOsContainerImage containerImages.CeilometerComputeImage = dataplanev1.ContainerImages.CeilometerComputeImage containerImages.CeilometerIpmiImage = dataplanev1.ContainerImages.CeilometerIpmiImage containerImages.EdpmFrrImage = dataplanev1.ContainerImages.EdpmFrrImage diff --git a/pkg/openstack/version.go b/pkg/openstack/version.go index 21105431d..61b2476f3 100644 --- a/pkg/openstack/version.go +++ b/pkg/openstack/version.go @@ -104,6 +104,7 @@ func GetContainerImages(defaults *corev1beta1.ContainerDefaults, instance corev1 BarbicanAPIImage: getImg(instance.Spec.CustomContainerImages.BarbicanAPIImage, defaults.BarbicanAPIImage), BarbicanKeystoneListenerImage: getImg(instance.Spec.CustomContainerImages.BarbicanKeystoneListenerImage, defaults.BarbicanKeystoneListenerImage), BarbicanWorkerImage: getImg(instance.Spec.CustomContainerImages.BarbicanWorkerImage, defaults.BarbicanWorkerImage), + BootcOsContainerImage: getImg(instance.Spec.CustomContainerImages.BootcOsContainerImage, defaults.BootcOsContainerImage), CeilometerCentralImage: getImg(instance.Spec.CustomContainerImages.CeilometerCentralImage, defaults.CeilometerCentralImage), CeilometerComputeImage: getImg(instance.Spec.CustomContainerImages.CeilometerComputeImage, defaults.CeilometerComputeImage), CeilometerIpmiImage: getImg(instance.Spec.CustomContainerImages.CeilometerIpmiImage, defaults.CeilometerIpmiImage), diff --git a/tests/functional/ctlplane/openstackversion_controller_test.go b/tests/functional/ctlplane/openstackversion_controller_test.go index 2267d084c..9b7df1595 100644 --- a/tests/functional/ctlplane/openstackversion_controller_test.go +++ b/tests/functional/ctlplane/openstackversion_controller_test.go @@ -112,6 +112,7 @@ var _ = Describe("OpenStackOperator controller", func() { g.Expect(version.Status.ContainerImages.BarbicanAPIImage).ShouldNot(BeNil()) g.Expect(version.Status.ContainerImages.BarbicanKeystoneListenerImage).ShouldNot(BeNil()) g.Expect(version.Status.ContainerImages.BarbicanWorkerImage).ShouldNot(BeNil()) + g.Expect(version.Status.ContainerImages.BootcOsContainerImage).ShouldNot(BeNil()) g.Expect(version.Status.ContainerImages.CeilometerCentralImage).ShouldNot(BeNil()) g.Expect(version.Status.ContainerImages.CeilometerComputeImage).ShouldNot(BeNil()) g.Expect(version.Status.ContainerImages.CeilometerNotificationImage).ShouldNot(BeNil())