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 multi-cell DT #401

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
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
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
Loading