Skip to content

Commit

Permalink
Merge pull request #439 from krcmarik/dcn_cells
Browse files Browse the repository at this point in the history
DCN DT: Add multicells

One dedicated cell per site is being deployed with dedicated rabbitmw, Galera and nova services. The nova service and neutron-metadata service are pointed to their dedicated cell per DCN site.

Reviewed-by: John Fulton <johfulto@redhat.com>
Reviewed-by: Marián Krčmárik
  • Loading branch information
softwarefactory-project-zuul[bot] authored Nov 13, 2024
2 parents bfb0e6a + ec702a0 commit 949bdcd
Show file tree
Hide file tree
Showing 5 changed files with 237 additions and 3 deletions.
73 changes: 72 additions & 1 deletion dt/dcn/edpm-post-ceph/nodeset/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ components:
resources:
- ceph_secret.yaml
- nova_ceph.yaml
- neutron_metadata.yaml

patches:
- target:
Expand Down Expand Up @@ -56,6 +57,28 @@ replacements:
- spec.nova.template.apiServiceTemplate.customServiceConfig
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.nova.metadataServiceTemplate
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.nova.template.metadataServiceTemplate
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.nova.cellTemplates
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.nova.template.cellTemplates
options:
create: true
- source:
kind: ConfigMap
name: service-values
Expand Down Expand Up @@ -188,6 +211,28 @@ replacements:
- spec.manila.template.manilaShares.share1.customServiceConfig
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.galera.templates
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.galera.templates
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.rabbitmq.templates
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.rabbitmq.templates
options:
create: true
- source:
kind: ConfigMap
name: service-values
Expand Down Expand Up @@ -244,6 +289,7 @@ replacements:
targets:
- select:
kind: OpenStackDataPlaneService
name: nova-custom-ceph
fieldPaths:
- spec.dataSources
options:
Expand All @@ -264,10 +310,35 @@ replacements:
- source:
kind: ConfigMap
name: edpm-nodeset-values-post-ceph
fieldPath: data.customDataplanService.name
fieldPath: data.nova.customDataplaneService.name
targets:
- select:
kind: OpenStackDataPlaneService
name: nova-custom-ceph
fieldPaths:
- metadata.name
options:
create: true
- source:
kind: ConfigMap
name: edpm-nodeset-values-post-ceph
fieldPath: data.neutron-metadata.dataSources
targets:
- select:
kind: OpenStackDataPlaneService
name: neutron-metadata
fieldPaths:
- spec.dataSources
options:
create: true
- source:
kind: ConfigMap
name: edpm-nodeset-values-post-ceph
fieldPath: data.neutron-metadata.customDataplaneService.name
targets:
- select:
kind: OpenStackDataPlaneService
name: neutron-metadata
fieldPaths:
- metadata.name
options:
Expand Down
30 changes: 30 additions & 0 deletions dt/dcn/edpm-post-ceph/nodeset/neutron_metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneService
metadata:
name: neutron-metadata
namespace: openstack
spec:
addCertMounts: false
caCerts: combined-ca-bundle
containerImageFields:
- EdpmNeutronMetadataAgentImage
dataSources:
- secretRef:
name: neutron-ovn-metadata-agent-neutron-config
- secretRef:
name: nova-cell1-metadata-neutron-config
edpmServiceType: neutron-metadata
playbook: osp.edpm.neutron_metadata
tlsCerts:
default:
contents:
- dnsnames
- ips
issuer: osp-rootca-issuer-ovn
keyUsages:
- digital signature
- key encipherment
- client auth
networks:
- ctlplane
2 changes: 2 additions & 0 deletions examples/dt/dcn/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ This is a collection of CR templates that represent a Red Hat OpenStack Services
- 3 master/worker combo-node OpenShift cluster
- 3-replica Galera database
- RabbitMQ
- Multicells with a dedicated cell per DCN site
- Each cell uses dedicated rabbitmq, Galera and nova services
- Spine and leaf network architecture
- Network isolation
- OVN networking
Expand Down
123 changes: 123 additions & 0 deletions examples/dt/dcn/service-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,24 @@ data:
rbd_secret_uuid = CHANGEME
rbd_cluster_name = az2
backend_availability_zone = az2
galera:
templates:
openstack:
replicas: 1
secret: osp-secret
storageRequest: 5G
openstack-cell1:
replicas: 1
secret: osp-secret
storageRequest: 5G
openstack-cell2:
replicas: 1
secret: osp-secret
storageRequest: 5G
openstack-cell3:
replicas: 1
secret: osp-secret
storageRequest: 5G
glance:
keystoneEndpoint: az0
glanceAPIs:
Expand Down Expand Up @@ -209,6 +227,111 @@ data:
customServiceConfig: |
[DEFAULT]
default_schedule_zone=az0
metadataServiceTemplate:
enabled: false
cellTemplates:
cell0:
cellDatabaseAccount: nova-cell0
hasAPIAccess: true
cell1:
cellDatabaseInstance: openstack-cell1
cellDatabaseAccount: nova-cell1
cellMessageBusInstance: rabbitmq-cell1
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.81
spec:
type: LoadBalancer
replicas: 3
cell2:
cellDatabaseInstance: openstack-cell2
cellDatabaseAccount: nova-cell2
cellMessageBusInstance: rabbitmq-cell2
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.82
spec:
type: LoadBalancer
replicas: 3
cell3:
cellDatabaseInstance: openstack-cell3
cellDatabaseAccount: nova-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
rabbitmq:
templates:
rabbitmq:
override:
service:
metadata:
annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.85
spec:
type: LoadBalancer
replicas: 3
rabbitmq-cell1:
override:
service:
metadata:
annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.86
spec:
type: LoadBalancer
replicas: 3
rabbitmq-cell2:
override:
service:
metadata:
annotations:
metallb.universe.tf/address-pool: internalapi
metallb.universe.tf/loadBalancerIPs: 172.17.0.87
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
extraMounts:
- name: v1
region: r1
Expand Down
12 changes: 10 additions & 2 deletions examples/dt/dcn/values.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
---
apiVersion: v1
data:
customDataplanService:
name: nova-custom-ceph
nodeset_name: computes-edpm
ceph_conf:
az0.client.openstack.keyring: CHANGEME_CEPH_CONF
Expand All @@ -29,6 +27,8 @@ data:
- libvirt
- nova-custom-ceph
nova:
customDataplaneService:
name: nova-custom-ceph
ceph:
conf: CHANGEME_NOVA_CEPH_CONF
name: ceph-nova
Expand All @@ -39,6 +39,14 @@ data:
name: nova-cell1-compute-config
- secretRef:
name: nova-migration-ssh-key
neutron-metadata:
customDataplaneService:
name: neutron-metadata
dataSources:
- secretRef:
name: neutron-ovn-metadata-agent-neutron-config
- secretRef:
name: nova-cell1-metadata-neutron-config
kind: ConfigMap
metadata:
annotations:
Expand Down

0 comments on commit 949bdcd

Please sign in to comment.