From badadfeb44603a6c92da35acc24368bb4f357f30 Mon Sep 17 00:00:00 2001 From: Yatin Karel Date: Wed, 26 Aug 2026 18:40:28 +0530 Subject: [PATCH] Enable WSGI deployment strategy for neutron by default Add ServiceDefaults.NeutronWsgi, default it to "true" for the currently available OpenStackVersion, and translate it into the neutron.openstack.org/wsgi annotation on the NeutronAPI CR every reconcile. Since AvailableServiceDefaults is keyed by version and only the targeted version's value is applied, existing deployments keep whatever value was computed when they were first initialized until the control plane is moved to a version where this operator sets it to true, so upgrading openstack-operator alone does not flip an existing NeutronAPI from Eventlet to WSGI. Temporarily points the neutron-operator/api dependency at github.com/karelyatin/neutron-operator@OSPRH-33113-default-master (which adds the NeutronWSGILabel annotation and the WSGI deployment strategy) until that branch merges upstream and this becomes a normal dependency bump. Depends-On: https://github.com/openstack-k8s-operators/neutron-operator/pull/688 Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/4099 Resolves: #OSPRH-33114 Co-Authored-By: Claude Sonnet 5 --- api/bases/core.openstack.org_openstackversions.yaml | 4 ++++ api/core/v1beta1/openstackversion_types.go | 1 + api/core/v1beta1/zz_generated.deepcopy.go | 5 +++++ api/go.mod | 3 +++ api/go.sum | 4 ++-- bindata/crds/crds.yaml | 4 ++++ bindata/crds/neutron.openstack.org_neutronapis.yaml | 13 +++++++++++++ .../bases/core.openstack.org_openstackversions.yaml | 4 ++++ config/operator/default_images.yaml | 12 ++++++------ config/operator/manager_operator_images.yaml | 2 +- go.mod | 3 +++ go.sum | 4 ++-- hack/export_operator_related_images.sh | 2 +- hack/export_related_images.sh | 12 ++++++------ internal/openstack/neutron.go | 9 +++++++++ internal/openstack/version.go | 2 ++ zuul.d/projects.yaml | 5 +++++ 17 files changed, 71 insertions(+), 18 deletions(-) diff --git a/api/bases/core.openstack.org_openstackversions.yaml b/api/bases/core.openstack.org_openstackversions.yaml index beb521d207..1e060066c8 100644 --- a/api/bases/core.openstack.org_openstackversions.yaml +++ b/api/bases/core.openstack.org_openstackversions.yaml @@ -258,6 +258,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object @@ -699,6 +701,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object diff --git a/api/core/v1beta1/openstackversion_types.go b/api/core/v1beta1/openstackversion_types.go index fea75a03f2..3ef85cdf1d 100644 --- a/api/core/v1beta1/openstackversion_types.go +++ b/api/core/v1beta1/openstackversion_types.go @@ -183,6 +183,7 @@ type ServiceDefaults struct { RabbitmqVersion *string `json:"rabbitmqVersion,omitempty"` GlanceLocationAPI *string `json:"glanceLocationAPI,omitempty"` ManilaSharev1 *string `json:"manilaSharev1,omitempty"` + NeutronWsgi *string `json:"neutronWsgi,omitempty"` } // OpenStackVersionStatus defines the observed state of OpenStackVersion diff --git a/api/core/v1beta1/zz_generated.deepcopy.go b/api/core/v1beta1/zz_generated.deepcopy.go index 94cd7761c6..2c57bdb2f9 100644 --- a/api/core/v1beta1/zz_generated.deepcopy.go +++ b/api/core/v1beta1/zz_generated.deepcopy.go @@ -1778,6 +1778,11 @@ func (in *ServiceDefaults) DeepCopyInto(out *ServiceDefaults) { *out = new(string) **out = **in } + if in.NeutronWsgi != nil { + in, out := &in.NeutronWsgi, &out.NeutronWsgi + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDefaults. diff --git a/api/go.mod b/api/go.mod index bd1235a12e..bd898ed78b 100644 --- a/api/go.mod +++ b/api/go.mod @@ -142,3 +142,6 @@ replace k8s.io/component-base => k8s.io/component-base v0.33.13 //allow-merging replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging replace github.com/cert-manager/cmctl/v2 => github.com/cert-manager/cmctl/v2 v2.3.0 //allow-merging + +// TEMPORARY dev pin for OSPRH-33113-default-master (neutron WSGI support) +replace github.com/openstack-k8s-operators/neutron-operator/api => github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0 diff --git a/api/go.sum b/api/go.sum index 413bf851fd..584cdfa483 100644 --- a/api/go.sum +++ b/api/go.sum @@ -102,6 +102,8 @@ github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0 h1:pQIwt8pnJvmCoEza9L5mbVhLxwS1Knqn/0qLQdjNerE= +github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= @@ -162,8 +164,6 @@ github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260819143353-5 github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260819143353-54e418a4e480/go.mod h1:1GxA01Q63gvnZH+vljX/+Xz7wQmZxtYpTHO/JTAbCbE= github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62 h1:kPodlXj+hrF6Q3m0VpEz9gBU8QcQXXuRkQbTcDwI00E= github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62/go.mod h1:A1yXU4F8Qs+F29KcgaI3zBvPJjY3OUzlCt7QCY73wAI= -github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5 h1:mvhxTeMhH/U5hlkTjKUg07FFJpklss37MA5UFD2XIJQ= -github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4= github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312 h1:FYjSHGNAchiYk8mPXZKvHh5EZ2x66Ge3pKGowSzo8pg= github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312/go.mod h1:6Kk+XtByMkeQj7cKrRQxHsWFCHCyq1o0i4ls/niFBW4= github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20260822215725-f4a66af57796 h1:Vce2BPD48OnknETN2hEStXdZMyzY3i7/X/p4cvZZTMg= diff --git a/bindata/crds/crds.yaml b/bindata/crds/crds.yaml index 79325e78fb..ce45dd7358 100644 --- a/bindata/crds/crds.yaml +++ b/bindata/crds/crds.yaml @@ -22618,6 +22618,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object @@ -23059,6 +23061,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object diff --git a/bindata/crds/neutron.openstack.org_neutronapis.yaml b/bindata/crds/neutron.openstack.org_neutronapis.yaml index b63c4a0bbd..0dfb36cd9e 100644 --- a/bindata/crds/neutron.openstack.org_neutronapis.yaml +++ b/bindata/crds/neutron.openstack.org_neutronapis.yaml @@ -1306,9 +1306,22 @@ spec: description: ReadyCount of neutron API instances format: int32 type: integer + rpcReadyCount: + description: |- + RPCReadyCount of neutron-rpc-server instances. Only populated when the + WSGI deployment strategy is enabled and the RPC worker is not disabled + via rpc_workers=0 in customServiceConfig. + format: int32 + type: integer transportURLSecret: description: TransportURLSecret - Secret containing RabbitMQ transportURL type: string + workerReadyCount: + description: |- + WorkerReadyCount of neutron background worker (periodic/OVN maintenance) + instances. Only populated when the WSGI deployment strategy is enabled. + format: int32 + type: integer type: object type: object served: true diff --git a/config/crd/bases/core.openstack.org_openstackversions.yaml b/config/crd/bases/core.openstack.org_openstackversions.yaml index beb521d207..1e060066c8 100644 --- a/config/crd/bases/core.openstack.org_openstackversions.yaml +++ b/config/crd/bases/core.openstack.org_openstackversions.yaml @@ -258,6 +258,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object @@ -699,6 +701,8 @@ spec: type: string manilaSharev1: type: string + neutronWsgi: + type: string rabbitmqVersion: type: string type: object diff --git a/config/operator/default_images.yaml b/config/operator/default_images.yaml index 198412fb64..ed6025f9cb 100644 --- a/config/operator/default_images.yaml +++ b/config/operator/default_images.yaml @@ -76,13 +76,13 @@ spec: - name: RELATED_IMAGE_EDPM_LOGROTATE_CROND_IMAGE_URL_DEFAULT value: quay.io/podified-antelope-centos9/openstack-cron:current-podified - name: RELATED_IMAGE_EDPM_NEUTRON_DHCP_AGENT_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-neutron-dhcp-agent:current-podified + value: quay.io/openstack-k8s-operators/openstack-neutron-dhcp-agent:master-latest - name: RELATED_IMAGE_EDPM_NEUTRON_METADATA_AGENT_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-neutron-metadata-agent-ovn:current-podified + value: quay.io/openstack-k8s-operators/openstack-neutron-server:master-latest - name: RELATED_IMAGE_EDPM_NEUTRON_OVN_AGENT_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-neutron-ovn-agent:current-podified + value: quay.io/openstack-k8s-operators/openstack-neutron-ovn-agent:master-latest - name: RELATED_IMAGE_EDPM_NEUTRON_SRIOV_AGENT_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-neutron-sriov-agent:current-podified + value: quay.io/openstack-k8s-operators/openstack-neutron-sriov-agent:master-latest - name: RELATED_IMAGE_EDPM_NODE_EXPORTER_IMAGE_URL_DEFAULT value: quay.io/prometheus/node-exporter:v1.5.0 - name: RELATED_IMAGE_EDPM_KEPLER_IMAGE_URL_DEFAULT @@ -114,7 +114,7 @@ spec: - name: RELATED_IMAGE_IRONIC_INSPECTOR_IMAGE_URL_DEFAULT value: quay.io/podified-antelope-centos9/openstack-ironic-inspector:current-podified - name: RELATED_IMAGE_IRONIC_NEUTRON_AGENT_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-ironic-neutron-agent:current-podified + value: quay.io/openstack-k8s-operators/openstack-ironic-neutron-agent:master-latest - name: RELATED_IMAGE_IRONIC_PXE_IMAGE_URL_DEFAULT value: quay.io/podified-antelope-centos9/openstack-ironic-pxe:current-podified - name: RELATED_IMAGE_IRONIC_PYTHON_AGENT_IMAGE_URL_DEFAULT @@ -132,7 +132,7 @@ spec: - name: RELATED_IMAGE_NET_UTILS_IMAGE_URL_DEFAULT value: quay.io/podified-antelope-centos9/openstack-netutils:current-podified - name: RELATED_IMAGE_NEUTRON_API_IMAGE_URL_DEFAULT - value: quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified + value: quay.io/openstack-k8s-operators/openstack-neutron-server:master-latest - name: RELATED_IMAGE_NOVA_API_IMAGE_URL_DEFAULT value: quay.io/podified-antelope-centos9/openstack-nova-api:current-podified - name: RELATED_IMAGE_NOVA_COMPUTE_IMAGE_URL_DEFAULT diff --git a/config/operator/manager_operator_images.yaml b/config/operator/manager_operator_images.yaml index d35b191b44..39e20be1f6 100644 --- a/config/operator/manager_operator_images.yaml +++ b/config/operator/manager_operator_images.yaml @@ -36,7 +36,7 @@ spec: - name: RELATED_IMAGE_MARIADB_OPERATOR_MANAGER_IMAGE_URL value: quay.io/openstack-k8s-operators/mariadb-operator@sha256:5501da826fd1e48b1e546033e7be64e008a34793ef9c995390b375250dafd937 - name: RELATED_IMAGE_NEUTRON_OPERATOR_MANAGER_IMAGE_URL - value: quay.io/openstack-k8s-operators/neutron-operator@sha256:d45f5e323447ff76a9198b1ac0b5ee9c4b2b5fd47a989177a939a3edb0fcc650 + value: quay.io/ykarel/neutron-operator:v0.0.2 - name: RELATED_IMAGE_NOVA_OPERATOR_MANAGER_IMAGE_URL value: quay.io/openstack-k8s-operators/nova-operator@sha256:13ae67ea4cc192eb64c77d220b9463862d48da92585a9f03d1d8c50c69f5acd8 - name: RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL diff --git a/go.mod b/go.mod index caf0d5d377..a2546fa386 100644 --- a/go.mod +++ b/go.mod @@ -156,6 +156,9 @@ require ( replace github.com/openstack-k8s-operators/openstack-operator/api => ./api //allow-merging +// TEMPORARY dev pin for OSPRH-33113-default-master (neutron WSGI support) +replace github.com/openstack-k8s-operators/neutron-operator/api => github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0 + // mschuppert: map to latest commit from release-4.20 tag // must consistent within modules and service operators replace github.com/openshift/api => github.com/openshift/api v0.0.0-20260710141509-36dec0bfafe4 //allow-merging diff --git a/go.sum b/go.sum index 70398b2ad9..29e6bd54ad 100644 --- a/go.sum +++ b/go.sum @@ -126,6 +126,8 @@ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnr github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.7.7 h1:z4P744DR+PIpkjwXSEc6TvN3L6LVzmUquFgmNm8wSUc= github.com/k8snetworkplumbingwg/network-attachment-definition-client v1.7.7/go.mod h1:CM7HAH5PNuIsqjMN0fGc1ydM74Uj+0VZFhob620nklw= +github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0 h1:pQIwt8pnJvmCoEza9L5mbVhLxwS1Knqn/0qLQdjNerE= +github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= @@ -192,8 +194,6 @@ github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260819143353-5 github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260819143353-54e418a4e480/go.mod h1:1GxA01Q63gvnZH+vljX/+Xz7wQmZxtYpTHO/JTAbCbE= github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62 h1:kPodlXj+hrF6Q3m0VpEz9gBU8QcQXXuRkQbTcDwI00E= github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62/go.mod h1:A1yXU4F8Qs+F29KcgaI3zBvPJjY3OUzlCt7QCY73wAI= -github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5 h1:mvhxTeMhH/U5hlkTjKUg07FFJpklss37MA5UFD2XIJQ= -github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4= github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312 h1:FYjSHGNAchiYk8mPXZKvHh5EZ2x66Ge3pKGowSzo8pg= github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312/go.mod h1:6Kk+XtByMkeQj7cKrRQxHsWFCHCyq1o0i4ls/niFBW4= github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20260822215725-f4a66af57796 h1:Vce2BPD48OnknETN2hEStXdZMyzY3i7/X/p4cvZZTMg= diff --git a/hack/export_operator_related_images.sh b/hack/export_operator_related_images.sh index 51765721b0..5bbea8ac7c 100644 --- a/hack/export_operator_related_images.sh +++ b/hack/export_operator_related_images.sh @@ -11,7 +11,7 @@ export RELATED_IMAGE_IRONIC_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-ope export RELATED_IMAGE_KEYSTONE_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/keystone-operator@sha256:f46ce044451d9c2b2a2f2f11fb2fdf5272003978581cc785ba98b8651d63caf2 export RELATED_IMAGE_MANILA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/manila-operator@sha256:41960d2a3c5224aec54b03c25b523b8d97801e10bc6a0170b5ae9d59e4cd1261 export RELATED_IMAGE_MARIADB_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/mariadb-operator@sha256:5501da826fd1e48b1e546033e7be64e008a34793ef9c995390b375250dafd937 -export RELATED_IMAGE_NEUTRON_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/neutron-operator@sha256:d45f5e323447ff76a9198b1ac0b5ee9c4b2b5fd47a989177a939a3edb0fcc650 +export RELATED_IMAGE_NEUTRON_OPERATOR_MANAGER_IMAGE_URL=quay.io/ykarel/neutron-operator:v0.0.2 export RELATED_IMAGE_NOVA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/nova-operator@sha256:13ae67ea4cc192eb64c77d220b9463862d48da92585a9f03d1d8c50c69f5acd8 export RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/octavia-operator@sha256:b7491d21c7123fbdda6ce11f7ed5d00fa519062502e1eda0f6d136eb58638ac6 export RELATED_IMAGE_OPENSTACK_BAREMETAL_OPERATOR_MANAGER_IMAGE_URL=quay.io/openstack-k8s-operators/openstack-baremetal-operator@sha256:573441a19263f204abd2fc3cb27620c9023edfabd27a68dda8f5db0fc1bafa9e diff --git a/hack/export_related_images.sh b/hack/export_related_images.sh index e3ef5be8b5..558773c250 100755 --- a/hack/export_related_images.sh +++ b/hack/export_related_images.sh @@ -13,7 +13,7 @@ export RELATED_IMAGE_NOVA_CONDUCTOR_IMAGE_URL_DEFAULT=quay.io/podified-antelope- export RELATED_IMAGE_NOVA_NOVNC_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-nova-novncproxy:current-podified export RELATED_IMAGE_NOVA_SCHEDULER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-nova-scheduler:current-podified export RELATED_IMAGE_NOVA_COMPUTE_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-nova-compute:current-podified -export RELATED_IMAGE_NEUTRON_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified +export RELATED_IMAGE_NEUTRON_API_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-neutron-server:master-latest export RELATED_IMAGE_MANILA_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-manila-api:current-podified export RELATED_IMAGE_MANILA_SCHEDULER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-manila-scheduler:current-podified export RELATED_IMAGE_MANILA_SHARE_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-manila-share:current-podified @@ -22,7 +22,7 @@ export RELATED_IMAGE_IRONIC_API_IMAGE_URL_DEFAULT=quay.io/podified-antelope-cent export RELATED_IMAGE_IRONIC_CONDUCTOR_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ironic-conductor:current-podified export RELATED_IMAGE_IRONIC_INSPECTOR_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ironic-inspector:current-podified export RELATED_IMAGE_IRONIC_PXE_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ironic-pxe:current-podified -export RELATED_IMAGE_IRONIC_NEUTRON_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ironic-neutron-agent:current-podified +export RELATED_IMAGE_IRONIC_NEUTRON_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-ironic-neutron-agent:master-latest export RELATED_IMAGE_IRONIC_PYTHON_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/ironic-python-agent:current-podified export RELATED_IMAGE_OS_CONTAINER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/edpm-hardened-uefi:current-podified export RELATED_IMAGE_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-baremetal-operator-agent:current-podified @@ -77,10 +77,10 @@ export RELATED_IMAGE_BARBICAN_WORKER_IMAGE_URL_DEFAULT=quay.io/podified-antelope export RELATED_IMAGE_BARBICAN_KEYSTONE_LISTENER_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-barbican-keystone-listener:current-podified export RELATED_IMAGE_EDPM_FRR_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-frr:current-podified export RELATED_IMAGE_EDPM_LOGROTATE_CROND_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-cron:current-podified -export RELATED_IMAGE_EDPM_NEUTRON_DHCP_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-neutron-dhcp-agent:current-podified -export RELATED_IMAGE_EDPM_NEUTRON_METADATA_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-neutron-metadata-agent-ovn:current-podified -export RELATED_IMAGE_EDPM_NEUTRON_OVN_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-neutron-ovn-agent:current-podified -export RELATED_IMAGE_EDPM_NEUTRON_SRIOV_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-neutron-sriov-agent:current-podified +export RELATED_IMAGE_EDPM_NEUTRON_DHCP_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-neutron-dhcp-agent:master-latest +export RELATED_IMAGE_EDPM_NEUTRON_METADATA_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-neutron-metadata-agent-ovn:master-latest +export RELATED_IMAGE_EDPM_NEUTRON_OVN_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-neutron-ovn-agent:master-latest +export RELATED_IMAGE_EDPM_NEUTRON_SRIOV_AGENT_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-neutron-sriov-agent:master-latest export RELATED_IMAGE_EDPM_OVN_BGP_AGENT_IMAGE_URL_DEFAULT=quay.io/podified-antelope-centos9/openstack-ovn-bgp-agent:current-podified export RELATED_IMAGE_EDPM_NODE_EXPORTER_IMAGE_URL_DEFAULT=quay.io/prometheus/node-exporter:v1.5.0 export RELATED_IMAGE_OPENSTACK_NETWORK_EXPORTER_IMAGE_URL_DEFAULT=quay.io/openstack-k8s-operators/openstack-network-exporter:current-podified diff --git a/internal/openstack/neutron.go b/internal/openstack/neutron.go index b72b570be2..251a4d5195 100644 --- a/internal/openstack/neutron.go +++ b/internal/openstack/neutron.go @@ -229,6 +229,15 @@ func ReconcileNeutron(ctx context.Context, instance *corev1beta1.OpenStackContro neutronAPI.Spec.DatabaseInstance = "openstack" } + if neutronAPI.GetAnnotations() == nil { + neutronAPI.SetAnnotations(make(map[string]string)) + } + if version.Status.ServiceDefaults.NeutronWsgi != nil && *version.Status.ServiceDefaults.NeutronWsgi == "true" { + neutronAPI.GetAnnotations()[neutronv1.NeutronWSGILabel] = "true" + } else { + neutronAPI.GetAnnotations()[neutronv1.NeutronWSGILabel] = "false" + } + // Append globally defined extraMounts to the service's own list. for _, ev := range instance.Spec.ExtraMounts { neutronAPI.Spec.ExtraMounts = append(neutronAPI.Spec.ExtraMounts, neutronv1.NeutronExtraVolMounts{ diff --git a/internal/openstack/version.go b/internal/openstack/version.go index 5fb3e8bb21..2eb585f9e2 100644 --- a/internal/openstack/version.go +++ b/internal/openstack/version.go @@ -241,6 +241,8 @@ func InitializeOpenStackVersionServiceDefaults(ctx context.Context) *corev1beta1 versionString := "4.2" defaults.RabbitmqVersion = &versionString // all new rabbitmq deployments will have rabbitmq-server 4.2 (FR5) + defaults.NeutronWsgi = &trueString // enable WSGI (httpd/mod_wsgi + split neutron-rpc/neutron-worker Deployments) for neutron + return defaults } diff --git a/zuul.d/projects.yaml b/zuul.d/projects.yaml index dfd7d8b9d9..f03af8d083 100644 --- a/zuul.d/projects.yaml +++ b/zuul.d/projects.yaml @@ -1,6 +1,11 @@ --- - project: name: openstack-k8s-operators/openstack-operator + vars: + # TODO: Image overrides can be dropped once default images changes to master for CI + cifmw_update_containers_custom_images: + neutronAPIImage: quay.io/openstack-k8s-operators/openstack-neutron-server:master-latest + edpmNeutronMetadataAgentImage: quay.io/openstack-k8s-operators/openstack-neutron-metadata-agent-ovn:master-latest github-check: jobs: - openstack-k8s-operators-content-provider