Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add scaling down a DCN site #462

Conversation

krcmarik
Copy link
Contributor

@krcmarik krcmarik commented Dec 9, 2024

  • Provide an example of CR with scaled down AZ1
  • Take the control plane CR generation out to the separated step

@openshift-ci openshift-ci bot requested review from leifmadsen and raukadah December 9, 2024 13:21
@fultonj fultonj requested review from fultonj and removed request for leifmadsen and raukadah December 9, 2024 14:10
@fultonj
Copy link
Contributor

fultonj commented Dec 9, 2024

  1. Please add the following to the commit message and the PR message.
Depends-On: https://github.com/openstack-k8s-operators/ci-framework/pull/2591
  1. Please update the instructions in the README(s) so that it's clear how to use this new content.

One idea I have is that you could update architecture/examples/dt/dcn//dataplane-post-ceph.md to add a new section to the bottom after "Additional Availability Zones":

https://github.com/openstack-k8s-operators/architecture/blob/main/examples/dt/dcn/dataplane-post-ceph.md#additional-availability-zones

It could say something like:

This DT includes an example of how to scale down one of the deployed AZs. The example 
values in examples/dt/dcn/control-plane/scaledown/service-values.yaml have an example
of how to DTs should look when AZ1 is removed. To view them run the following command.

kustomize build architecture/examples/dt/dcn/control-plane/scaledown/

I assume the following will work based on my quick review of this PR but I haven't tried it myself.

Could you add something like the above so that someone who only has architecture repository
could use it to generate example CRs?

@fultonj
Copy link
Contributor

fultonj commented Feb 4, 2025

This patch adds an updated CR of kind OpenStackContrlPlane (oscp) with an AZ scaled down. I diff'd the oscp CR with all AZs against the newly generated one from this PR with az2 scaled down and we can see from the diff below that it is correct. I.e. az2 was removed.

--- dataplane-nodeset-post-ceph_az2.yaml	2025-02-04 08:58:46.651827335 -0500
+++ control-plane-scale-downed_az2.yaml	2025-02-04 08:59:25.526111721 -0500
@@ -94,21 +94,6 @@
             rbd_secret_uuid = aface4f9-2351-5d63-8de8-2663eae1f6af
             rbd_cluster_name = az1
             backend_availability_zone = az1
-        az2:
-          customServiceConfig: |
-            [DEFAULT]
-            enabled_backends = ceph
-            glance_api_servers = https://glance-az2-internal.openstack.svc:9292
-            [ceph]
-            volume_backend_name = ceph
-            volume_driver = cinder.volume.drivers.rbd.RBDDriver
-            rbd_ceph_conf = /etc/ceph/az2.conf
-            rbd_user = openstack
-            rbd_pool = volumes
-            rbd_flatten_volume_from_snapshot = False
-            rbd_secret_uuid = b520bed5-c91f-57a3-92a6-a9f840e02708
-            rbd_cluster_name = az2
-            backend_availability_zone = az2
       customServiceConfig: |
         [DEFAULT]
         storage_availability_zone = az0
@@ -164,19 +149,6 @@
           sources:
           - secret:
               name: ceph-conf-files-az1
-    - extraVolType: Ceph
-      mounts:
-      - mountPath: /etc/ceph
-        name: ceph-az2
-        readOnly: true
-      propagation:
-      - az2
-      volumes:
-      - name: ceph-az2
-        projected:
-          sources:
-          - secret:
-              name: ceph-conf-files-az2
     name: v1
     region: r1
   galera:
@@ -194,10 +166,6 @@
         replicas: 1
         secret: osp-secret
         storageRequest: 5G
-      openstack-cell3:
-        replicas: 1
-        secret: osp-secret
-        storageRequest: 5G
   glance:
     apiOverrides:
       default:
@@ -210,7 +178,7 @@
           customServiceConfig: |
             [DEFAULT]
             enabled_import_methods = [web-download,copy-image,glance-direct]
-            enabled_backends = az0:rbd,az1:rbd,az2:rbd
+            enabled_backends = az0:rbd,az1:rbd
             [glance_store]
             default_backend = az0
             [az0]
@@ -225,12 +193,6 @@
             rbd_store_pool = images
             rbd_store_user = openstack
             rbd_thin_provisioning = True
-            [az2]
-            rbd_store_ceph_conf = /etc/ceph/az2.conf
-            store_description = "az2 RBD backend"
-            rbd_store_pool = images
-            rbd_store_user = openstack
-            rbd_thin_provisioning = True
           networkAttachments:
           - storage
           override:
@@ -278,39 +240,6 @@
                   type: LoadBalancer
           replicas: 1
           type: edge
-        az2:
-          customServiceConfig: |
-            [DEFAULT]
-            enabled_import_methods = [web-download,copy-image,glance-direct]
-            enabled_backends = az0:rbd,az2:rbd
-            [glance_store]
-            default_backend = az2
-            [az0]
-            rbd_store_ceph_conf = /etc/ceph/az0.conf
-            store_description = "az0 RBD backend"
-            rbd_store_pool = images
-            rbd_store_user = openstack
-            rbd_thin_provisioning = True
-            [az2]
-            rbd_store_ceph_conf = /etc/ceph/az2.conf
-            store_description = "az2 RBD backend"
-            rbd_store_pool = images
-            rbd_store_user = openstack
-            rbd_thin_provisioning = True
-          networkAttachments:
-          - storage
-          override:
-            service:
-              internal:
-                metadata:
-                  annotations:
-                    metallb.universe.tf/address-pool: internalapi
-                    metallb.universe.tf/allow-shared-ip: internalapi
-                    metallb.universe.tf/loadBalancerIPs: 172.17.0.82
-                spec:
-                  type: LoadBalancer
-          replicas: 1
-          type: edge
       keystoneEndpoint: az0
       preserveJobs: false
       storage:
@@ -527,25 +456,6 @@
                 spec:
                   type: LoadBalancer
             replicas: 3
-        cell3:
-          cellDatabaseAccount: nova-cell3
-          cellDatabaseInstance: openstack-cell3
-          cellMessageBusInstance: rabbitmq-cell3
-          conductorServiceTemplate:
-            replicas: 1
-          hasAPIAccess: true
-          metadataServiceTemplate:
-            enabled: true
-            override:
-              service:
-                metadata:
-                  annotations:
-                    metallb.universe.tf/address-pool: internalapi
-                    metallb.universe.tf/allow-shared-ip: internalapi
-                    metallb.universe.tf/loadBalancerIPs: 172.17.0.83
-                spec:
-                  type: LoadBalancer
-            replicas: 3
       metadataServiceTemplate:
         enabled: false
       preserveJobs: false
@@ -643,16 +553,6 @@
             spec:
               type: LoadBalancer
         replicas: 3
-      rabbitmq-cell3:
-        override:
-          service:
-            metadata:
-              annotations:
-                metallb.universe.tf/address-pool: internalapi
-                metallb.universe.tf/loadBalancerIPs: 172.17.0.88
-            spec:
-              type: LoadBalancer
-        replicas: 3
   secret: osp-secret
   storageClass: lvms-local-storage
   swift:

@fultonj
Copy link
Contributor

fultonj commented Feb 4, 2025

I'm +2 to merge this. Since it depends on openstack-k8s-operators/ci-framework#2591 I'll wait for that to merge first.

cc @abays FYI

Copy link
Contributor

@fultonj fultonj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/lgtm

@fultonj fultonj changed the title DNM Add scaling down a DCN site Add scaling down a DCN site Feb 6, 2025
@openshift-ci openshift-ci bot removed the lgtm label Feb 6, 2025
- Provide an example of CR with scaled down AZ1
- Take the control plane CR generation out to the separated step

Depends-On: openstack-k8s-operators/ci-framework#2591
Copy link
Contributor

@fultonj fultonj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve
/lgtm

@openshift-ci openshift-ci bot added the lgtm label Feb 6, 2025
Copy link

openshift-ci bot commented Feb 6, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: fultonj, krcmarik

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Contributor

Build succeeded (gate pipeline).
https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/e33051c756644e3eac60e948b0bc04a8

✔️ noop SUCCESS in 0s
✔️ rhoso-architecture-validate-dcn SUCCESS in 4m 24s

@softwarefactory-project-zuul softwarefactory-project-zuul bot merged commit b773b51 into openstack-k8s-operators:main Feb 6, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants