Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api/bases/operator.openstack.org_openstacks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ spec:
- manila
- mariadb
- neutron
- nova
- workloads
- octavia
- openstack-baremetal
- ovn
Expand Down
3 changes: 3 additions & 0 deletions api/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ require (
sigs.k8s.io/yaml v1.6.0 // indirect
)

// Temporarily point to fork for testing nova->workloads rename
replace github.com/openstack-k8s-operators/nova-operator/api => github.com/amartyasinha/nova-operator/api v0.0.0-20260825094446-8ca07beb350d

// 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
Expand Down
4 changes: 2 additions & 2 deletions api/go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
github.com/amartyasinha/nova-operator/api v0.0.0-20260825094446-8ca07beb350d h1:zPo/7X5fNeqKl9EMCQ61CmqA52Z9fWTIxIDngJI4ghU=
github.com/amartyasinha/nova-operator/api v0.0.0-20260825094446-8ca07beb350d/go.mod h1:6Kk+XtByMkeQj7cKrRQxHsWFCHCyq1o0i4ls/niFBW4=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
Expand Down Expand Up @@ -164,8 +166,6 @@ github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260815095432-
github.com/openstack-k8s-operators/mariadb-operator/api v0.6.1-0.20260815095432-ee0e4a46015e/go.mod h1:f3KPR3QM0jPbWGhXougv1BxnW+Bnc2vLE4TvBlYTLdo=
github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260815100037-cd2ac3283266 h1:JlEZxQLMck1GrXbYSX7BCZVWe2JGWVpLftG0/BX0DmM=
github.com/openstack-k8s-operators/neutron-operator/api v0.6.1-0.20260815100037-cd2ac3283266/go.mod h1:MqaSkvkEeMCLR3/tVAPg8jlB7nJw2pHymfGJ9mNgjHg=
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260814001024-80a63d2d555f h1:p71R2Iji6NPJHlJ9S0DeVqo58n+9GFgojheYIP/fYS4=
github.com/openstack-k8s-operators/nova-operator/api v0.6.1-0.20260814001024-80a63d2d555f/go.mod h1:/xrb6NvHRgj38XXz5RJjtqsrLBEgkaZ+6WTPpL5X3Rw=
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20260815074607-ebcbe88dc375 h1:A+BwSwm/oSOvBEbPz3tQwhi4ucvRceSBepk3tZ91STU=
github.com/openstack-k8s-operators/octavia-operator/api v0.6.1-0.20260815074607-ebcbe88dc375/go.mod h1:BtUafbYGalxauqo4tRJRSDeas7OXWsPQgZLKR1JrXhc=
github.com/openstack-k8s-operators/openstack-baremetal-operator/api v0.6.1-0.20260815053044-b1de07d3dec3 h1:Mrx9sDELzfO8JJEeeSbMdCWqdpG3SfY9ZTVlDLBklJ8=
Expand Down
4 changes: 2 additions & 2 deletions api/operator/v1beta1/openstack_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const (
ManilaOperatorName = "manila"
MariaDBOperatorName = "mariadb"
NeutronOperatorName = "neutron"
NovaOperatorName = "nova"
NovaOperatorName = "workloads"
OctaviaOperatorName = "octavia"
OpenStackBaremetalOperatorName = "openstack-baremetal"
OvnOperatorName = "ovn"
Expand Down Expand Up @@ -184,7 +184,7 @@ type OpenStackSpec struct {
type OperatorSpec struct {
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:Enum:=openstack;barbican;cinder;designate;glance;heat;horizon;infra;ironic;keystone;manila;mariadb;neutron;nova;octavia;openstack-baremetal;ovn;swift;telemetry;test;watcher
// +kubebuilder:validation:Enum:=openstack;barbican;cinder;designate;glance;heat;horizon;infra;ironic;keystone;manila;mariadb;neutron;workloads;octavia;openstack-baremetal;ovn;swift;telemetry;test;watcher
// Name of the service operators.
Name string `json:"name"`

Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novaapis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova-api service. This secret is expected to be
generated by the nova-operator based on the information passed to the
generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novacells.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1562,7 +1562,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova cell. This secret is expected to be
generated by the nova-operator based on the information passed to the
generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novacomputes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the NovaCompute service. This secret is expected to be
generated by the nova-operator based on the information passed to the
generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novaconductors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova-conductor service. This secret is expected to
be generated by the nova-operator based on the information passed to the
be generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novametadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -504,7 +504,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova-conductor service. This secret is expected to
be generated by the nova-operator based on the information passed to the
be generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novanovncproxies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova-novncproxy service. This secret is expected to
be generated by the nova-operator based on the information passed to the
be generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
2 changes: 1 addition & 1 deletion bindata/crds/nova.openstack.org_novaschedulers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ spec:
description: |-
Secret is the name of the Secret instance containing password
information for the nova-scheduler service. This secret is expected to
be generated by the nova-operator based on the information passed to the
be generated by the workloads-operator based on the information passed to the
Nova CR.
type: string
serviceAccount:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ metadata:
app.kubernetes.io/instance: selfsigned-issuer
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: issuer
app.kubernetes.io/part-of: nova-operator
name: nova-operator-selfsigned-issuer
app.kubernetes.io/part-of: workloads-operator
name: workloads-operator-selfsigned-issuer
namespace: '{{ .OperatorNamespace }}'
spec:
selfSigned: {}
Expand All @@ -20,9 +20,9 @@ apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/name: nova-operator
app.kubernetes.io/name: workloads-operator
control-plane: controller-manager
name: nova-operator-controller-manager-metrics-service
name: workloads-operator-controller-manager-metrics-service
namespace: '{{ .OperatorNamespace }}'
spec:
ports:
Expand All @@ -31,7 +31,7 @@ spec:
protocol: TCP
targetPort: 8443
selector:
app.kubernetes.io/name: nova-operator
app.kubernetes.io/name: workloads-operator
control-plane: controller-manager
---
apiVersion: cert-manager.io/v1
Expand All @@ -42,17 +42,17 @@ metadata:
app.kubernetes.io/created-by: openstack-operator
app.kubernetes.io/instance: metrics-certs
app.kubernetes.io/managed-by: kustomize
app.kubernetes.io/name: nova-operator
name: nova-operator-metrics-certs
app.kubernetes.io/name: workloads-operator
name: workloads-operator-metrics-certs
namespace: '{{ .OperatorNamespace }}'
spec:
dnsNames:
- nova-operator-metrics-service.{{ .OperatorNamespace }}.svc
- nova-operator-metrics-service.{{ .OperatorNamespace }}.svc.cluster.local
- workloads-operator-metrics-service.{{ .OperatorNamespace }}.svc
- workloads-operator-metrics-service.{{ .OperatorNamespace }}.svc.cluster.local
issuerRef:
kind: Issuer
name: nova-operator-selfsigned-issuer
name: workloads-operator-selfsigned-issuer
privateKey:
algorithm: ECDSA
size: 256
secretName: nova-operator-metrics-server-cert
secretName: workloads-operator-metrics-server-cert
2 changes: 1 addition & 1 deletion config/crd/bases/operator.openstack.org_openstacks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ spec:
- manila
- mariadb
- neutron
- nova
- workloads
- octavia
- openstack-baremetal
- ovn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: nova-operator-leader-election-role
name: workloads-operator-leader-election-role
rules:
- apiGroups:
- ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: nova-operator-leader-election-rolebinding
name: workloads-operator-leader-election-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: nova-operator-leader-election-role
name: workloads-operator-leader-election-role
subjects:
- kind: ServiceAccount
name: nova-operator-controller-manager
name: workloads-operator-controller-manager
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nova-operator-manager-role
name: workloads-operator-manager-role
rules:
- apiGroups:
- ""
Expand Down Expand Up @@ -280,6 +280,14 @@ rules:
- securitycontextconstraints
verbs:
- use
- apiGroups:
- security.openshift.io
resourceNames:
- nonroot-v2
resources:
- securitycontextconstraints
verbs:
- use
- apiGroups:
- topology.openstack.org
resources:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: nova-operator-manager-rolebinding
name: workloads-operator-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: nova-operator-manager-role
name: workloads-operator-manager-role
subjects:
- kind: ServiceAccount
name: nova-operator-controller-manager
name: workloads-operator-controller-manager
namespace: openstack-operators
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nova-operator-operator-metrics-auth-role
name: workloads-operator-operator-metrics-auth-role
rules:
- apiGroups:
- authentication.k8s.io
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: nova-operator-operator-metrics-auth-rolebinding
name: workloads-operator-operator-metrics-auth-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: nova-operator-operator-metrics-auth-role
name: workloads-operator-operator-metrics-auth-role
subjects:
- kind: ServiceAccount
name: nova-operator-operator-controller-manager
name: workloads-operator-operator-controller-manager
namespace: openstack-operators
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: nova-operator-operator-metrics-reader
name: workloads-operator-operator-metrics-reader
rules:
- nonResourceURLs:
- /metrics
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: nova-operator-controller-manager
name: workloads-operator-controller-manager
2 changes: 1 addition & 1 deletion config/operator/deployment/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ images:
newTag: latest
patches:
- patch: '[{"op": "replace", "path": "/spec/template/spec/containers/0/env/0", "value":
{"name": "OPENSTACK_RELEASE_VERSION", "value": "0.7.0-1784642723"}}]'
{"name": "OPENSTACK_RELEASE_VERSION", "value": "19.0.0-1787651873"}}]'
target:
kind: Deployment
name: openstack-operator-controller-init
Expand Down
4 changes: 2 additions & 2 deletions config/operator/manager_operator_images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ spec:
value: quay.io/openstack-k8s-operators/mariadb-operator@sha256:68c13707abfb5bc4bdac0e3fd20979c59c940ac8aaaab5c7b11a472d7243379e
- name: RELATED_IMAGE_NEUTRON_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/neutron-operator@sha256:299c0d38979676b5348977d65f0b0244df983d2ddad91e8f8f7939316ed3bc31
- name: RELATED_IMAGE_NOVA_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/nova-operator@sha256:d52b8ade84ba1aaa61a38dc3b72a1a63b1812a095206511b4f5f829bc403b7cc
- name: RELATED_IMAGE_WORKLOADS_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/amartyasinha/workloads-operator@sha256:b152cc0dc8cc135fb7ce9c7d11a4ac5149275a03d1fe43d2916716595e22c585
- name: RELATED_IMAGE_OCTAVIA_OPERATOR_MANAGER_IMAGE_URL
value: quay.io/openstack-k8s-operators/octavia-operator@sha256:286a7a19ed07bef549a5e434460207067095a665e0762b2a3e2ff88345ffe68b
- name: RELATED_IMAGE_OPENSTACK_BAREMETAL_OPERATOR_MANAGER_IMAGE_URL
Expand Down
14 changes: 7 additions & 7 deletions docs/assemblies/ctlplane_resources.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11388,7 +11388,7 @@ NovaAPISpec defines the desired state of NovaAPI
| true

| secret
| Secret is the name of the Secret instance containing password information for the nova-api service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova-api service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -11649,7 +11649,7 @@ NovaCellSpec defines the desired state of NovaCell
| true

| secret
| Secret is the name of the Secret instance containing password information for the nova cell. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova cell. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -11945,7 +11945,7 @@ NovaComputeSpec defines the desired state of NovaCompute
| true

| secret
| Secret is the name of the Secret instance containing password information for the NovaCompute service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the NovaCompute service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -12135,7 +12135,7 @@ NovaConductorSpec defines the desired state of NovaConductor
| true

| secret
| Secret is the name of the Secret instance containing password information for the nova-conductor service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova-conductor service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -12361,7 +12361,7 @@ NovaMetadataSpec defines the desired state of NovaMetadata
| true

| secret
| Secret is the name of the Secret instance containing password information for the nova-conductor service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova-conductor service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -12591,7 +12591,7 @@ NovaNoVNCProxySpec defines the desired state of NovaNoVNCProxy
| true

| secret
| Secret is the name of the Secret instance containing password information for the nova-novncproxy service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova-novncproxy service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down Expand Up @@ -12828,7 +12828,7 @@ NovaSchedulerSpec defines the desired state of NovaScheduler
| Field | Description | Scheme | Required

| secret
| Secret is the name of the Secret instance containing password information for the nova-scheduler service. This secret is expected to be generated by the nova-operator based on the information passed to the Nova CR.
| Secret is the name of the Secret instance containing password information for the nova-scheduler service. This secret is expected to be generated by the workloads-operator based on the information passed to the Nova CR.
| string
| true

Expand Down
2 changes: 1 addition & 1 deletion docs/build_docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ DATAPLANE_PATHS=(
"api/dataplane/v1beta1/common.go"
)

# Getting APIs from Services (use find to support multi-group operators like nova-operator)
# Getting APIs from Services (use find to support multi-group operators like workloads-operator)
SERVICE_PATH=($(MODCACHE=$(go env GOMODCACHE) awk '/openstack-k8s-operators/ && ! /lib-common/ && ! /openstack-operator/ && ! /infra/ && ! /replace/ {print ENVIRON["MODCACHE"] "/" $1 "@" $2}' api/go.mod))
for SERVICE in ${SERVICE_PATH[@]};do
CTLPLANE_PATHS+=($(find ${SERVICE} -path "*/v1beta1/*_types.go"))
Expand Down
3 changes: 3 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,9 @@ require (

replace github.com/openstack-k8s-operators/openstack-operator/api => ./api //allow-merging

// Temporarily point to fork for testing nova->workloads rename
replace github.com/openstack-k8s-operators/nova-operator/api => github.com/amartyasinha/nova-operator/api v0.0.0-20260825094446-8ca07beb350d

// 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
Expand Down
Loading
Loading