Skip to content

Commit

Permalink
Add multi-cell DT
Browse files Browse the repository at this point in the history
  • Loading branch information
jamepark4 committed Oct 23, 2024
1 parent 21ece11 commit 01ef803
Show file tree
Hide file tree
Showing 23 changed files with 1,137 additions and 0 deletions.
60 changes: 60 additions & 0 deletions automation/vars/nova-three-cells.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
---
vas:
nova-three-cells:
stages:
- path: examples/dt/nova/nova-three-cells/control-plane/nncp
wait_conditions:
- >-
oc -n openstack wait nncp
-l osp/nncm-config-type=standard
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured
--timeout=60s
values:
- name: network-values
src_file: values.yaml
build_output: nncp.yaml

- path: examples/dt/nova/nova-three-cells/control-plane
wait_conditions:
- >-
oc -n openstack wait osctlplane controlplane --for condition=Ready
--timeout=1800s
values:
- name: network-values
src_file: nncp/values.yaml
- name: service-values
src_file: service-values.yaml
build_output: control-plane.yaml

- path: examples/dt/nova/nova-three-cells/edpm/nodeset
wait_conditions:
- >-
oc -n openstack wait
osdpns openstack-edpm --for condition=SetupReady
--timeout=60m
values:
- name: edpm-nodeset-values
src_file: values.yaml
build_output: nodeset.yaml

- path: examples/dt/nova/nova-three-cells/edpm/nodeset2
wait_conditions:
- >-
oc -n openstack wait
osdpns openstack-edpm-2 --for condition=SetupReady
--timeout=60m
values:
- name: edpm-nodeset2-values
src_file: values.yaml
build_output: nodeset2.yaml

- path: examples/dt/nova/nova-three-cells/edpm/deployment
wait_conditions:
- >-
oc -n openstack wait openstackdataplanedeployment
edpm-deployment --for condition=Ready
--timeout=60m
values:
- name: edpm-deployment-values
src_file: values.yaml
build_output: deployment.yaml
11 changes: 11 additions & 0 deletions dt/nova/nova-three-cells/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Deployed Topology - Nova/MultipleCells

If you are looking for information on how to deploy the multiplecells based DT, then
please the [README](../../examples/dt/nova/nova- multiplecells/README.md) in the examples
directory.

This directory `dt/nova/multiplecells/`, exists so that the
[kustomization.yaml](../../examples/dt/nova/nova-three-cells/kustomization.yaml) in
the examples directory of nova-three-cells topology, reference it by path as a
component. It's contents are likely uninteresting unless you want to understand
how kustomize was implemented in this repository.
21 changes: 21 additions & 0 deletions dt/nova/nova-three-cells/edpm/deployment/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

transformers:
# Set namespace to OpenStack on all namespaced objects without a namespace
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../../../../lib/dataplane/deployment
20 changes: 20 additions & 0 deletions dt/nova/nova-three-cells/edpm/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

transformers:
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../../lib/dataplane
23 changes: 23 additions & 0 deletions dt/nova/nova-three-cells/edpm/nodeset/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

transformers:
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../../../../lib/dataplane/nodeset

resources:
- nova_cell_service.yaml
21 changes: 21 additions & 0 deletions dt/nova/nova-three-cells/edpm/nodeset/nova_cell_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
apiVersion: dataplane.openstack.org/v1beta1
kind: OpenStackDataPlaneService
metadata:
name: nova
spec:
label: nova
dataSources:
- secretRef:
name: nova-cell1-compute-config
- secretRef:
name: nova-migration-ssh-key
- configMapRef:
name: nova-extra-config
optional: true
playbook: osp.edpm.nova
caCerts: combined-ca-bundle
edpmServiceType: nova
containerImageFields:
- NovaComputeImage
- EdpmIscsidImage
135 changes: 135 additions & 0 deletions dt/nova/nova-three-cells/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
---
apiVersion: kustomize.config.k8s.io/v1alpha1
kind: Component

transformers:
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../../lib/networking/metallb
- ../../../lib/networking/netconfig
- ../../../lib/networking/nad
- ../../../lib/control-plane

replacements:
- 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.glance.customServiceConfig
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.glance.template.customServiceConfig
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.glance.default.replicas
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.glance.template.glanceAPIs.default.replicas
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.swift.enabled
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.swift.enabled
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.telemetry.enabled
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.telemetry.enabled
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.telemetry.template.ceilometer.enabled
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.telemetry.template.ceilometer.enabled
options:
create: true
- source:
kind: ConfigMap
name: network-values
fieldPath: data.rabbitmq-cell2.endpoint_annotations
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.rabbitmq.templates.rabbitmq-cell2.override.service.metadata.annotations
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.rabbitmq.templates.rabbitmq-cell2.replicas
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.rabbitmq.templates.rabbitmq-cell2.replicas
options:
create: true
- source:
kind: ConfigMap
name: network-values
fieldPath: data.lbServiceType
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.rabbitmq.templates.rabbitmq-cell2.override.service.spec.type
options:
create: true
- source:
kind: ConfigMap
name: service-values
fieldPath: data.nova.template.cellTemplates
targets:
- select:
kind: OpenStackControlPlane
fieldPaths:
- spec.nova.template.cellTemplates
options:
create: true
12 changes: 12 additions & 0 deletions dt/nova/nova-three-cells/namespace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
28 changes: 28 additions & 0 deletions examples/dt/nova/nova-three-cells/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Deployed Topology - Nova/MultipleCells

TBD

## Purpose

TBD

## Environment

### Nodes


## Node topology
TBD

### Networks
TBD

#### Networks in RH OSP
TBD

### Services, enabled features and configurations
TBD

#### Support services
TBD

2 changes: 2 additions & 0 deletions examples/dt/nova/nova-three-cells/control-plane.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Configuring networking and deploy the OpenStack control plane
TBD
10 changes: 10 additions & 0 deletions examples/dt/nova/nova-three-cells/control-plane/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

components:
- ../../../../../dt/nova/nova-three-cells

resources:
- nncp/values.yaml
- service-values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

transformers:
- |-
apiVersion: builtin
kind: NamespaceTransformer
metadata:
name: _ignored_
namespace: openstack
setRoleBindingSubjects: none
unsetOnly: true
fieldSpecs:
- path: metadata/name
kind: Namespace
create: true
components:
- ../../../../../../lib/nncp

resources:
- values.yaml
Loading

0 comments on commit 01ef803

Please sign in to comment.