Skip to content

Commit 3a80ea2

Browse files
karelyatinclaude
andcommitted
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: openstack-k8s-operators/neutron-operator#689 Depends-On: openstack-k8s-operators/ci-framework#4099 Resolves: #OSPRH-33114 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent e22415e commit 3a80ea2

18 files changed

Lines changed: 74 additions & 18 deletions

api/bases/core.openstack.org_openstackversions.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,8 @@ spec:
258258
type: string
259259
manilaSharev1:
260260
type: string
261+
neutronWsgi:
262+
type: string
261263
rabbitmqVersion:
262264
type: string
263265
type: object
@@ -699,6 +701,8 @@ spec:
699701
type: string
700702
manilaSharev1:
701703
type: string
704+
neutronWsgi:
705+
type: string
702706
rabbitmqVersion:
703707
type: string
704708
type: object

api/core/v1beta1/openstackversion_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@ type ServiceDefaults struct {
183183
RabbitmqVersion *string `json:"rabbitmqVersion,omitempty"`
184184
GlanceLocationAPI *string `json:"glanceLocationAPI,omitempty"`
185185
ManilaSharev1 *string `json:"manilaSharev1,omitempty"`
186+
NeutronWsgi *string `json:"neutronWsgi,omitempty"`
186187
}
187188

188189
// OpenStackVersionStatus defines the observed state of OpenStackVersion

api/core/v1beta1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/go.mod

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,3 +142,6 @@ replace k8s.io/component-base => k8s.io/component-base v0.33.13 //allow-merging
142142
replace k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20250627150254-e9823e99808e //allow-merging
143143

144144
replace github.com/cert-manager/cmctl/v2 => github.com/cert-manager/cmctl/v2 v2.3.0 //allow-merging
145+
146+
// TEMPORARY dev pin for OSPRH-33113-default-master (neutron WSGI support)
147+
replace github.com/openstack-k8s-operators/neutron-operator/api => github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0

api/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE
102102
github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung=
103103
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
104104
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
105+
github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0 h1:pQIwt8pnJvmCoEza9L5mbVhLxwS1Knqn/0qLQdjNerE=
106+
github.com/karelyatin/neutron-operator/api v0.0.0-20260827134028-4c882fe52aa0/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4=
105107
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
106108
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
107109
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
162164
github.com/openstack-k8s-operators/manila-operator/api v0.6.1-0.20260819143353-54e418a4e480/go.mod h1:1GxA01Q63gvnZH+vljX/+Xz7wQmZxtYpTHO/JTAbCbE=
163165
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62 h1:kPodlXj+hrF6Q3m0VpEz9gBU8QcQXXuRkQbTcDwI00E=
164166
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260822071633-1e127e728e62/go.mod h1:A1yXU4F8Qs+F29KcgaI3zBvPJjY3OUzlCt7QCY73wAI=
165-
github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5 h1:mvhxTeMhH/U5hlkTjKUg07FFJpklss37MA5UFD2XIJQ=
166-
github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260822072640-756f4ac745b5/go.mod h1:fayH8kSHQUhv4oQY/hONoFVG6pgYihLQBHJPoyELrt4=
167167
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312 h1:FYjSHGNAchiYk8mPXZKvHh5EZ2x66Ge3pKGowSzo8pg=
168168
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260825130502-98c7a40e3312/go.mod h1:6Kk+XtByMkeQj7cKrRQxHsWFCHCyq1o0i4ls/niFBW4=
169169
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20260822215725-f4a66af57796 h1:Vce2BPD48OnknETN2hEStXdZMyzY3i7/X/p4cvZZTMg=

bindata/crds/crds.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22618,6 +22618,8 @@ spec:
2261822618
type: string
2261922619
manilaSharev1:
2262022620
type: string
22621+
neutronWsgi:
22622+
type: string
2262122623
rabbitmqVersion:
2262222624
type: string
2262322625
type: object
@@ -23059,6 +23061,8 @@ spec:
2305923061
type: string
2306023062
manilaSharev1:
2306123063
type: string
23064+
neutronWsgi:
23065+
type: string
2306223066
rabbitmqVersion:
2306323067
type: string
2306423068
type: object

bindata/crds/neutron.openstack.org_neutronapis.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,9 +1306,22 @@ spec:
13061306
description: ReadyCount of neutron API instances
13071307
format: int32
13081308
type: integer
1309+
rpcReadyCount:
1310+
description: |-
1311+
RPCReadyCount of neutron-rpc-server instances. Only populated when the
1312+
WSGI deployment strategy is enabled and the RPC worker is not disabled
1313+
via rpc_workers=0 in customServiceConfig.
1314+
format: int32
1315+
type: integer
13091316
transportURLSecret:
13101317
description: TransportURLSecret - Secret containing RabbitMQ transportURL
13111318
type: string
1319+
workerReadyCount:
1320+
description: |-
1321+
WorkerReadyCount of neutron background worker (periodic/OVN maintenance)
1322+
instances. Only populated when the WSGI deployment strategy is enabled.
1323+
format: int32
1324+
type: integer
13121325
type: object
13131326
type: object
13141327
served: true

config/crd/bases/core.openstack.org_openstackversions.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,8 @@ spec:
258258
type: string
259259
manilaSharev1:
260260
type: string
261+
neutronWsgi:
262+
type: string
261263
rabbitmqVersion:
262264
type: string
263265
type: object
@@ -699,6 +701,8 @@ spec:
699701
type: string
700702
manilaSharev1:
701703
type: string
704+
neutronWsgi:
705+
type: string
702706
rabbitmqVersion:
703707
type: string
704708
type: object

config/operator/default_images.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,13 @@ spec:
7676
- name: RELATED_IMAGE_EDPM_LOGROTATE_CROND_IMAGE_URL_DEFAULT
7777
value: quay.io/podified-antelope-centos9/openstack-cron:current-podified
7878
- name: RELATED_IMAGE_EDPM_NEUTRON_DHCP_AGENT_IMAGE_URL_DEFAULT
79-
value: quay.io/podified-antelope-centos9/openstack-neutron-dhcp-agent:current-podified
79+
value: quay.io/openstack-s2i-containers/openstack-neutron-dhcp-agent:master-latest
8080
- name: RELATED_IMAGE_EDPM_NEUTRON_METADATA_AGENT_IMAGE_URL_DEFAULT
81-
value: quay.io/podified-antelope-centos9/openstack-neutron-metadata-agent-ovn:current-podified
81+
value: quay.io/openstack-s2i-containers/openstack-neutron-server:master-latest
8282
- name: RELATED_IMAGE_EDPM_NEUTRON_OVN_AGENT_IMAGE_URL_DEFAULT
83-
value: quay.io/podified-antelope-centos9/openstack-neutron-ovn-agent:current-podified
83+
value: quay.io/openstack-s2i-containers/openstack-neutron-ovn-agent:master-latest
8484
- name: RELATED_IMAGE_EDPM_NEUTRON_SRIOV_AGENT_IMAGE_URL_DEFAULT
85-
value: quay.io/podified-antelope-centos9/openstack-neutron-sriov-agent:current-podified
85+
value: quay.io/openstack-s2i-containers/openstack-neutron-sriov-agent:master-latest
8686
- name: RELATED_IMAGE_EDPM_NODE_EXPORTER_IMAGE_URL_DEFAULT
8787
value: quay.io/prometheus/node-exporter:v1.5.0
8888
- name: RELATED_IMAGE_EDPM_KEPLER_IMAGE_URL_DEFAULT
@@ -114,7 +114,7 @@ spec:
114114
- name: RELATED_IMAGE_IRONIC_INSPECTOR_IMAGE_URL_DEFAULT
115115
value: quay.io/podified-antelope-centos9/openstack-ironic-inspector:current-podified
116116
- name: RELATED_IMAGE_IRONIC_NEUTRON_AGENT_IMAGE_URL_DEFAULT
117-
value: quay.io/podified-antelope-centos9/openstack-ironic-neutron-agent:current-podified
117+
value: quay.io/openstack-s2i-containers/openstack-ironic-neutron-agent:master-latest
118118
- name: RELATED_IMAGE_IRONIC_PXE_IMAGE_URL_DEFAULT
119119
value: quay.io/podified-antelope-centos9/openstack-ironic-pxe:current-podified
120120
- name: RELATED_IMAGE_IRONIC_PYTHON_AGENT_IMAGE_URL_DEFAULT
@@ -132,7 +132,7 @@ spec:
132132
- name: RELATED_IMAGE_NET_UTILS_IMAGE_URL_DEFAULT
133133
value: quay.io/podified-antelope-centos9/openstack-netutils:current-podified
134134
- name: RELATED_IMAGE_NEUTRON_API_IMAGE_URL_DEFAULT
135-
value: quay.io/podified-antelope-centos9/openstack-neutron-server:current-podified
135+
value: quay.io/openstack-s2i-containers/openstack-neutron-server:master-latest
136136
- name: RELATED_IMAGE_NOVA_API_IMAGE_URL_DEFAULT
137137
value: quay.io/podified-antelope-centos9/openstack-nova-api:current-podified
138138
- name: RELATED_IMAGE_NOVA_COMPUTE_IMAGE_URL_DEFAULT

config/operator/manager_operator_images.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ spec:
3636
- name: RELATED_IMAGE_MARIADB_OPERATOR_MANAGER_IMAGE_URL
3737
value: quay.io/openstack-k8s-operators/mariadb-operator@sha256:5501da826fd1e48b1e546033e7be64e008a34793ef9c995390b375250dafd937
3838
- name: RELATED_IMAGE_NEUTRON_OPERATOR_MANAGER_IMAGE_URL
39-
value: quay.io/openstack-k8s-operators/neutron-operator@sha256:d45f5e323447ff76a9198b1ac0b5ee9c4b2b5fd47a989177a939a3edb0fcc650
39+
value: quay.io/ykarel/neutron-operator:v0.0.2
4040
- name: RELATED_IMAGE_NOVA_OPERATOR_MANAGER_IMAGE_URL
4141
value: quay.io/openstack-k8s-operators/nova-operator@sha256:13ae67ea4cc192eb64c77d220b9463862d48da92585a9f03d1d8c50c69f5acd8
4242
- name: RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL

0 commit comments

Comments
 (0)