diff --git a/apis/bases/core.openstack.org_openstackcontrolplanes.yaml b/apis/bases/core.openstack.org_openstackcontrolplanes.yaml index 97723274d..95a639c54 100644 --- a/apis/bases/core.openstack.org_openstackcontrolplanes.yaml +++ b/apis/bases/core.openstack.org_openstackcontrolplanes.yaml @@ -3135,243 +3135,135 @@ spec: - extraVol type: object type: array - glanceAPIExternal: + glanceapis: properties: - containerImage: - type: string - customServiceConfig: - type: string - customServiceConfigSecrets: - items: - type: string - type: array - debug: - properties: - service: - default: false - type: boolean - type: object - defaultConfigOverwrite: - additionalProperties: - type: string - type: object - networkAttachments: - items: - type: string - type: array - nodeSelector: - additionalProperties: - type: string - type: object - override: + glanceAPI: properties: - service: - properties: - endpointURL: - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: - properties: - externalName: - type: string - externalTrafficPolicy: - type: string - internalTrafficPolicy: - type: string - ipFamilyPolicy: - type: string - loadBalancerClass: - type: string - loadBalancerSourceRanges: - items: - type: string - type: array - sessionAffinity: - type: string - sessionAffinityConfig: - properties: - clientIP: - properties: - timeoutSeconds: - format: int32 - type: integer - type: object - type: object - type: - type: string - type: object - type: object - type: object - pvc: - type: string - replicas: - default: 1 - format: int32 - maximum: 32 - minimum: 0 - type: integer - resources: - properties: - claims: + containerImage: + type: string + customServiceConfig: + type: string + customServiceConfigSecrets: items: - properties: - name: - type: string - required: - - name - type: object + type: string type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: + debug: + properties: + service: + default: false + type: boolean + type: object + defaultConfigOverwrite: additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: string type: object - requests: + networkAttachments: + items: + type: string + type: array + nodeSelector: additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: string type: object - type: object - required: - - containerImage - type: object - glanceAPIInternal: - properties: - containerImage: - type: string - customServiceConfig: - type: string - customServiceConfigSecrets: - items: - type: string - type: array - debug: - properties: - service: - default: false - type: boolean - type: object - defaultConfigOverwrite: - additionalProperties: - type: string - type: object - networkAttachments: - items: - type: string - type: array - nodeSelector: - additionalProperties: - type: string - type: object - override: - properties: - service: + override: properties: - endpointURL: - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: + service: properties: - externalName: - type: string - externalTrafficPolicy: - type: string - internalTrafficPolicy: - type: string - ipFamilyPolicy: - type: string - loadBalancerClass: + endpointURL: type: string - loadBalancerSourceRanges: - items: - type: string - type: array - sessionAffinity: - type: string - sessionAffinityConfig: + metadata: properties: - clientIP: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + externalName: + type: string + externalTrafficPolicy: + type: string + internalTrafficPolicy: + type: string + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + sessionAffinity: + type: string + sessionAffinityConfig: properties: - timeoutSeconds: - format: int32 - type: integer + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object type: object + type: + type: string type: object - type: - type: string type: object type: object - type: object - pvc: - type: string - replicas: - default: 1 - format: int32 - maximum: 32 - minimum: 0 - type: integer - resources: - properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + pvc: + type: string + replicas: + default: 1 + format: int32 + maximum: 32 + minimum: 0 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object type: object + required: + - containerImage type: object + type: + default: split + enum: + - split + - single + type: string required: - - containerImage + - glanceAPI type: object imageCacheSize: default: "" @@ -3427,8 +3319,7 @@ spec: required: - containerImage - databaseInstance - - glanceAPIExternal - - glanceAPIInternal + - glanceapis - imageCacheSize - secret - storageRequest diff --git a/apis/go.mod b/apis/go.mod index c900735df..8f2672537 100644 --- a/apis/go.mod +++ b/apis/go.mod @@ -109,3 +109,5 @@ replace ( // mschuppert: map to latest commit from release-4.13 tag // must consistent within modules and service operators replace github.com/openshift/api => github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 //allow-merging + +replace github.com/openstack-k8s-operators/glance-operator/api => github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4 diff --git a/apis/go.sum b/apis/go.sum index 10de58360..81b607f4e 100644 --- a/apis/go.sum +++ b/apis/go.sum @@ -33,6 +33,8 @@ github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCv github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= +github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4 h1:AUXeXJq4kUdTgsTALFLziGz9uVOGRhyelpiMu1Tr/q0= +github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4/go.mod h1:dJRUMrLRFt3weBS/FDcb+eZvoOGANr1XslmM5RnY8vw= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -130,8 +132,6 @@ github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxC github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4= github.com/openstack-k8s-operators/cinder-operator/api v0.3.1-0.20231006133827-ce89e0fd01f2 h1:sPQWPiTBSyNf1vdImemK4vAjavwmf/cKXkIrIMOVWTs= github.com/openstack-k8s-operators/cinder-operator/api v0.3.1-0.20231006133827-ce89e0fd01f2/go.mod h1:8NFIyjXZeC+T2UBcmTDTfSatRdhi2eaZlaAuzcT2rNk= -github.com/openstack-k8s-operators/glance-operator/api v0.3.1-0.20231010130554-ab1baca2edc1 h1:4lq+opoHznCsw80yXEntIl+R9FT1C0ssmgQn1Qt7zlw= -github.com/openstack-k8s-operators/glance-operator/api v0.3.1-0.20231010130554-ab1baca2edc1/go.mod h1:dJRUMrLRFt3weBS/FDcb+eZvoOGANr1XslmM5RnY8vw= github.com/openstack-k8s-operators/heat-operator/api v0.3.1-0.20231009062722-38938dcb2b5b h1:TgJRyviHEMquRTEczKKgsGdl6tzA0PIdt7PmtqFlTYk= github.com/openstack-k8s-operators/heat-operator/api v0.3.1-0.20231009062722-38938dcb2b5b/go.mod h1:WPQCwaFKWwIEgqXjZRvJ7+bRUXF5Y/eAqKpBiCEe/Q4= github.com/openstack-k8s-operators/horizon-operator/api v0.3.1-0.20231009062721-cda11ea96e2b h1:nA/cI+2fPqcBvM0jCo/WsrngfQQEd8RSGBY7xdFMC+o= diff --git a/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml b/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml index 97723274d..95a639c54 100644 --- a/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml +++ b/config/crd/bases/core.openstack.org_openstackcontrolplanes.yaml @@ -3135,243 +3135,135 @@ spec: - extraVol type: object type: array - glanceAPIExternal: + glanceapis: properties: - containerImage: - type: string - customServiceConfig: - type: string - customServiceConfigSecrets: - items: - type: string - type: array - debug: - properties: - service: - default: false - type: boolean - type: object - defaultConfigOverwrite: - additionalProperties: - type: string - type: object - networkAttachments: - items: - type: string - type: array - nodeSelector: - additionalProperties: - type: string - type: object - override: + glanceAPI: properties: - service: - properties: - endpointURL: - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: - properties: - externalName: - type: string - externalTrafficPolicy: - type: string - internalTrafficPolicy: - type: string - ipFamilyPolicy: - type: string - loadBalancerClass: - type: string - loadBalancerSourceRanges: - items: - type: string - type: array - sessionAffinity: - type: string - sessionAffinityConfig: - properties: - clientIP: - properties: - timeoutSeconds: - format: int32 - type: integer - type: object - type: object - type: - type: string - type: object - type: object - type: object - pvc: - type: string - replicas: - default: 1 - format: int32 - maximum: 32 - minimum: 0 - type: integer - resources: - properties: - claims: + containerImage: + type: string + customServiceConfig: + type: string + customServiceConfigSecrets: items: - properties: - name: - type: string - required: - - name - type: object + type: string type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: + debug: + properties: + service: + default: false + type: boolean + type: object + defaultConfigOverwrite: additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: string type: object - requests: + networkAttachments: + items: + type: string + type: array + nodeSelector: additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + type: string type: object - type: object - required: - - containerImage - type: object - glanceAPIInternal: - properties: - containerImage: - type: string - customServiceConfig: - type: string - customServiceConfigSecrets: - items: - type: string - type: array - debug: - properties: - service: - default: false - type: boolean - type: object - defaultConfigOverwrite: - additionalProperties: - type: string - type: object - networkAttachments: - items: - type: string - type: array - nodeSelector: - additionalProperties: - type: string - type: object - override: - properties: - service: + override: properties: - endpointURL: - type: string - metadata: - properties: - annotations: - additionalProperties: - type: string - type: object - labels: - additionalProperties: - type: string - type: object - type: object - spec: + service: properties: - externalName: - type: string - externalTrafficPolicy: - type: string - internalTrafficPolicy: - type: string - ipFamilyPolicy: - type: string - loadBalancerClass: + endpointURL: type: string - loadBalancerSourceRanges: - items: - type: string - type: array - sessionAffinity: - type: string - sessionAffinityConfig: + metadata: properties: - clientIP: + annotations: + additionalProperties: + type: string + type: object + labels: + additionalProperties: + type: string + type: object + type: object + spec: + properties: + externalName: + type: string + externalTrafficPolicy: + type: string + internalTrafficPolicy: + type: string + ipFamilyPolicy: + type: string + loadBalancerClass: + type: string + loadBalancerSourceRanges: + items: + type: string + type: array + sessionAffinity: + type: string + sessionAffinityConfig: properties: - timeoutSeconds: - format: int32 - type: integer + clientIP: + properties: + timeoutSeconds: + format: int32 + type: integer + type: object type: object + type: + type: string type: object - type: - type: string type: object type: object - type: object - pvc: - type: string - replicas: - default: 1 - format: int32 - maximum: 32 - minimum: 0 - type: integer - resources: - properties: - claims: - items: - properties: - name: - type: string - required: - - name - type: object - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - limits: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - requests: - additionalProperties: - anyOf: - - type: integer - - type: string - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true + pvc: + type: string + replicas: + default: 1 + format: int32 + maximum: 32 + minimum: 0 + type: integer + resources: + properties: + claims: + items: + properties: + name: + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + type: object type: object + required: + - containerImage type: object + type: + default: split + enum: + - split + - single + type: string required: - - containerImage + - glanceAPI type: object imageCacheSize: default: "" @@ -3427,8 +3319,7 @@ spec: required: - containerImage - databaseInstance - - glanceAPIExternal - - glanceAPIInternal + - glanceapis - imageCacheSize - secret - storageRequest diff --git a/config/samples/core_v1beta1_openstackcontrolplane.yaml b/config/samples/core_v1beta1_openstackcontrolplane.yaml index 8ad4d51cd..66533e7fd 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane.yaml @@ -51,9 +51,13 @@ spec: secret: osp-secret glance: template: + secret: osp-secret databaseInstance: openstack storageClass: "" storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml b/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml index 0562fd2f2..3e217820d 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_collapsed_cell.yaml @@ -34,9 +34,13 @@ spec: secret: osp-secret glance: template: + secret: osp-secret databaseInstance: openstack storageClass: "" storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml index 851a562e4..cba532584 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera.yaml @@ -50,9 +50,13 @@ spec: secret: osp-secret glance: template: + secret: osp-secret databaseInstance: openstack storageClass: "" storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml index b023168de..25beab62a 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_3replicas.yaml @@ -53,6 +53,10 @@ spec: databaseInstance: openstack storageClass: "" storageRequest: 10G + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml index 4e1901f91..d49d1b4e7 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation.yaml @@ -56,21 +56,21 @@ spec: databaseInstance: openstack storageClass: "" storageRequest: 10G - glanceAPIInternal: - override: - service: - metadata: - annotations: - metallb.universe.tf/address-pool: internalapi - metallb.universe.tf/allow-shared-ip: internalapi - metallb.universe.tf/loadBalancerIPs: 172.17.0.80 - spec: - type: LoadBalancer - networkAttachments: - - storage - glanceAPIExternal: - networkAttachments: - - storage + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 + override: + service: + metadata: + annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/allow-shared-ip: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.80 + spec: + type: LoadBalancer + networkAttachments: + - storage keystone: apiOverride: route: {} diff --git a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml index d71d83006..b5a8f3150 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_galera_network_isolation_3replicas.yaml @@ -56,21 +56,21 @@ spec: databaseInstance: openstack storageClass: "" storageRequest: 10G - glanceAPIInternal: - override: - service: - metadata: - annotations: - metallb.universe.tf/address-pool: internalapi - metallb.universe.tf/allow-shared-ip: internalapi - metallb.universe.tf/loadBalancerIPs: 172.17.0.80 - spec: - type: LoadBalancer - networkAttachments: - - storage - glanceAPIExternal: - networkAttachments: - - storage + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 + override: + service: + metadata: + annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/allow-shared-ip: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.80 + spec: + type: LoadBalancer + networkAttachments: + - storage keystone: apiOverride: route: {} diff --git a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml index 0619f35d2..f7b03b40d 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation.yaml @@ -56,21 +56,21 @@ spec: databaseInstance: openstack storageClass: "" storageRequest: 10G - glanceAPIInternal: - override: - service: - metadata: - annotations: - metallb.universe.tf/address-pool: internalapi - metallb.universe.tf/allow-shared-ip: internalapi - metallb.universe.tf/loadBalancerIPs: 172.17.0.80 - spec: - type: LoadBalancer - networkAttachments: - - storage - glanceAPIExternal: - networkAttachments: - - storage + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 + override: + service: + metadata: + annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/allow-shared-ip: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.80 + spec: + type: LoadBalancer + networkAttachments: + - storage keystone: apiOverride: route: {} diff --git a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_ceph.yaml b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_ceph.yaml index 62a1164b6..b601a1362 100644 --- a/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_ceph.yaml +++ b/config/samples/core_v1beta1_openstackcontrolplane_network_isolation_ceph.yaml @@ -101,21 +101,21 @@ spec: rbd_store_user = openstack storageClass: "" storageRequest: 10G - glanceAPIInternal: - override: - service: - metadata: - annotations: - metallb.universe.tf/address-pool: internalapi - metallb.universe.tf/allow-shared-ip: internalapi - metallb.universe.tf/loadBalancerIPs: 172.17.0.80 - spec: - type: LoadBalancer - networkAttachments: - - storage - glanceAPIExternal: - networkAttachments: - - storage + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 + override: + service: + metadata: + annotations: + metallb.universe.tf/address-pool: internalapi + metallb.universe.tf/allow-shared-ip: internalapi + metallb.universe.tf/loadBalancerIPs: 172.17.0.80 + spec: + type: LoadBalancer + networkAttachments: + - storage keystone: apiOverride: route: {} diff --git a/go.mod b/go.mod index 4908fdf35..f9e12109a 100644 --- a/go.mod +++ b/go.mod @@ -121,3 +121,5 @@ replace github.com/openstack-k8s-operators/openstack-operator/apis => ./apis // mschuppert: map to latest commit from release-4.13 tag // must consistent within modules and service operators replace github.com/openshift/api => github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 //allow-merging + +replace github.com/openstack-k8s-operators/glance-operator/api => github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4 diff --git a/go.sum b/go.sum index 5cba3be34..edb7b60d4 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,8 @@ github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCv github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0= +github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4 h1:AUXeXJq4kUdTgsTALFLziGz9uVOGRhyelpiMu1Tr/q0= +github.com/fmount/glance-operator/api v0.1.2-0.20231012113347-012e0477eda4/go.mod h1:dJRUMrLRFt3weBS/FDcb+eZvoOGANr1XslmM5RnY8vw= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= @@ -139,8 +141,6 @@ github.com/openstack-k8s-operators/cinder-operator/api v0.3.1-0.20231006133827-c github.com/openstack-k8s-operators/cinder-operator/api v0.3.1-0.20231006133827-ce89e0fd01f2/go.mod h1:8NFIyjXZeC+T2UBcmTDTfSatRdhi2eaZlaAuzcT2rNk= github.com/openstack-k8s-operators/dataplane-operator/api v0.3.1-0.20231012070625-9e18aa48308d h1:wo3S8vV4RP89GsWJHjUuwKU68Qhykihc7PPH70Ei5Vo= github.com/openstack-k8s-operators/dataplane-operator/api v0.3.1-0.20231012070625-9e18aa48308d/go.mod h1:YGDRqO0aZklaLWB95HIdx95zm6bX9mSO6PL3azFcUZk= -github.com/openstack-k8s-operators/glance-operator/api v0.3.1-0.20231010130554-ab1baca2edc1 h1:4lq+opoHznCsw80yXEntIl+R9FT1C0ssmgQn1Qt7zlw= -github.com/openstack-k8s-operators/glance-operator/api v0.3.1-0.20231010130554-ab1baca2edc1/go.mod h1:dJRUMrLRFt3weBS/FDcb+eZvoOGANr1XslmM5RnY8vw= github.com/openstack-k8s-operators/heat-operator/api v0.3.1-0.20231009062722-38938dcb2b5b h1:TgJRyviHEMquRTEczKKgsGdl6tzA0PIdt7PmtqFlTYk= github.com/openstack-k8s-operators/heat-operator/api v0.3.1-0.20231009062722-38938dcb2b5b/go.mod h1:WPQCwaFKWwIEgqXjZRvJ7+bRUXF5Y/eAqKpBiCEe/Q4= github.com/openstack-k8s-operators/horizon-operator/api v0.3.1-0.20231009062721-cda11ea96e2b h1:nA/cI+2fPqcBvM0jCo/WsrngfQQEd8RSGBY7xdFMC+o= diff --git a/hack/pin-bundle-images.sh b/hack/pin-bundle-images.sh index 1e64787ea..0b92a82a5 100755 --- a/hack/pin-bundle-images.sh +++ b/hack/pin-bundle-images.sh @@ -46,6 +46,9 @@ for MOD_PATH in $(go list -mod=readonly -m -json all | jq -r '. | select(.Path | REPO_CURL_URL="https://${CURL_REGISTRY}/api/v1/repository/${IMAGENAMESPACE}" fi else + # Current hack to point to a diff glance-operator-bundle built on top + # of https://github.com/openstack-k8s-operators/glance-operator/pull/329 + GITHUB_USER="fpantano" REPO_CURL_URL="https://${CURL_REGISTRY}/api/v1/repository/${GITHUB_USER}" REPO_URL="${CURL_REGISTRY}/${GITHUB_USER}" fi diff --git a/pkg/openstack/glance.go b/pkg/openstack/glance.go index 447235f64..4b1705adb 100644 --- a/pkg/openstack/glance.go +++ b/pkg/openstack/glance.go @@ -40,11 +40,8 @@ func ReconcileGlance(ctx context.Context, instance *corev1beta1.OpenStackControl } serviceOverrides := map[service.Endpoint]service.RoutedOverrideSpec{} - if instance.Spec.Glance.Template.GlanceAPIExternal.Override.Service != nil { - serviceOverrides[service.EndpointPublic] = *instance.Spec.Glance.Template.GlanceAPIExternal.Override.Service - } - if instance.Spec.Glance.Template.GlanceAPIInternal.Override.Service != nil { - serviceOverrides[service.EndpointInternal] = *instance.Spec.Glance.Template.GlanceAPIInternal.Override.Service + if instance.Spec.Glance.Template.GlanceAPIs.GlanceAPI.Override.Service != nil { + serviceOverrides[service.EndpointInternal] = *instance.Spec.Glance.Template.GlanceAPIs.GlanceAPI.Override.Service } // add selector to service overrides @@ -92,8 +89,7 @@ func ReconcileGlance(ctx context.Context, instance *corev1beta1.OpenStackControl helper.GetLogger().Info("Reconciling Glance", "Glance.Namespace", instance.Namespace, "Glance.Name", "glance") op, err := controllerutil.CreateOrPatch(ctx, helper.GetClient(), glance, func() error { instance.Spec.Glance.Template.DeepCopyInto(&glance.Spec) - glance.Spec.GlanceAPIExternal.Override.Service = ptr.To(serviceOverrides[service.EndpointPublic]) - glance.Spec.GlanceAPIInternal.Override.Service = ptr.To(serviceOverrides[service.EndpointInternal]) + glance.Spec.GlanceAPIs.GlanceAPI.Override.Service = ptr.To(serviceOverrides[service.EndpointInternal]) if glance.Spec.Secret == "" { glance.Spec.Secret = instance.Spec.Secret diff --git a/tests/kuttl/common/assert-sample-deployment.yaml b/tests/kuttl/common/assert-sample-deployment.yaml index 9e1b69611..f42bb60d9 100644 --- a/tests/kuttl/common/assert-sample-deployment.yaml +++ b/tests/kuttl/common/assert-sample-deployment.yaml @@ -43,6 +43,10 @@ spec: template: databaseInstance: openstack storageRequest: 10G + secret: osp-secret + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/tests/kuttl/tests/collapsed/01-assert-collapsed-cell.yaml b/tests/kuttl/tests/collapsed/01-assert-collapsed-cell.yaml index 2038be6c9..19e04ccc6 100644 --- a/tests/kuttl/tests/collapsed/01-assert-collapsed-cell.yaml +++ b/tests/kuttl/tests/collapsed/01-assert-collapsed-cell.yaml @@ -28,6 +28,9 @@ spec: template: databaseInstance: openstack storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/tests/kuttl/tests/galera-3replicas/01-assert-galera-3replicas.yaml b/tests/kuttl/tests/galera-3replicas/01-assert-galera-3replicas.yaml index 794f381df..41dcff850 100644 --- a/tests/kuttl/tests/galera-3replicas/01-assert-galera-3replicas.yaml +++ b/tests/kuttl/tests/galera-3replicas/01-assert-galera-3replicas.yaml @@ -44,6 +44,9 @@ spec: template: databaseInstance: openstack storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack diff --git a/tests/kuttl/tests/galera-basic/01-assert-galera.yaml b/tests/kuttl/tests/galera-basic/01-assert-galera.yaml index ccd7a9cc0..f335850b5 100644 --- a/tests/kuttl/tests/galera-basic/01-assert-galera.yaml +++ b/tests/kuttl/tests/galera-basic/01-assert-galera.yaml @@ -44,6 +44,9 @@ spec: template: databaseInstance: openstack storageRequest: 10G + glanceapis: + glanceAPI: + replicas: 1 cinder: template: databaseInstance: openstack