forked from openstack-k8s-operators/architecture
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[uni-epsilon] Provide deployment topology
Based-On: openstack-k8s-operators#83 Based-On: openstack-k8s-operators#145 Based-On: openstack-k8s-operators#152 Based-On: openstack-k8s-operators#159 Jira: https://issues.redhat.com/browse/OSPRH-4989
- Loading branch information
Showing
17 changed files
with
962 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
--- | ||
vas: | ||
uni05epsilon: | ||
stages: | ||
- path: examples/dt/uni05epsilon/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/uni05epsilon/control-plane | ||
wait_conditions: | ||
- >- | ||
oc -n openstack wait openstackcontrolplane | ||
controlplane | ||
--for condition=Ready | ||
--timeout=30m | ||
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/uni05epsilon | ||
wait_conditions: | ||
- >- | ||
oc -n openstack wait openstackdataplanedeployment | ||
edpm-deployment | ||
--for condition=Ready | ||
--timeout=1200s | ||
values: | ||
- name: edpm-values | ||
src_file: values.yaml | ||
build_output: edpm.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
# Deployment Topology – Epsilon | ||
|
||
If you are looking for information on how to deploy the Epsilon based DT, | ||
then please see the [README](../../examples/dt/uni05epsilon/README.md) | ||
in the examples directory. | ||
|
||
This directory `dt/uni05epsilon/` exists so that | ||
the [kustomization.yaml](../../examples/dt/uni05epsilon/kustomization.yaml) | ||
in the examples directory of `uni05epsilon` topology reference it by path | ||
as a component. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
--- | ||
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.cinderBackup.customServiceConfig | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.cinder.template.cinderBackup.customServiceConfig | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.cinderBackup.replicas | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.cinder.template.cinderBackup.replicas | ||
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.glance.customServiceConfig | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.glance.template.customServiceConfig | ||
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.ironic.enabled | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.ironic.enabled | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.octavia.enabled | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.octavia.enabled | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.heat.enabled | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.heat.enabled | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.ovn.ovnController.availability-zones | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.ovn.template.ovnController.external-ids.availability-zones | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.neutron.customServiceConfig | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.neutron.template.customServiceConfig | ||
options: | ||
create: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
data-plane.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# Deployment Topology – Epsilon | ||
|
||
This document contains a list of integration test suites that would be | ||
executed against the below specified topology of Red Hat OpenStack Services | ||
on OpenShift. It also contains a collection of custom resources (CRs) for | ||
deploying the test environment. | ||
|
||
|
||
## Purpose | ||
|
||
This topology is used for executing integration tests that evaluate the | ||
`default` backends of the below mentioned services. | ||
|
||
|
||
## Environment | ||
|
||
|
||
### Nodes | ||
|
||
| Role | Machine Type | Count | | ||
| ----------------- | ------------ | ----- | | ||
| Compact OpenShift | vm | 3 | | ||
| OpenStack Compute | vm | 3 | | ||
|
||
|
||
### Networks | ||
|
||
| Name | Type | Interface | CIDR | | ||
| ------------ | -------- | --------- | --------------- | | ||
| Provisioning | untagged | nic1 | 172.22.0.0/24 | | ||
| Machine | untagged | nic2 | 192.168.32.0/20 | | ||
| RH OSP | trunk | nic3 | | | ||
|
||
|
||
#### VLAN networks in RH OSP | ||
|
||
| Name | Type | CIDR | | ||
| ----------- | ----------- | ----------------- | | ||
| ctlplane | untagged | 192.168.122.0/24 | | ||
| internalapi | VLAN tagged | 172.17.0.0/24 | | ||
| storage | VLAN tagged | 172.18.0.0/24 | | ||
| tenant | VLAN tagged | 172.19.0.0/24 | | ||
| external | VLAN tagged | 192.168.32.0/20 | | ||
|
||
|
||
### Services, enabled features and configurations | ||
|
||
| Service | configuration | Lock-in coverage? | | ||
| ---------------- | ----------------------- | ------------------ | | ||
| Barbican | (default) | Must have | | ||
| Cinder | iSCSI/netapp, NFS, ceph | Must have | | ||
| Cinder Backup | Swift | Must have | | ||
| Glance | cinder/NFS, ceph, swift | Must have | | ||
| Horizon | N/A | Must have | | ||
| Ironic | | Must have | | ||
| Neutron | Geneve (OVN) | Must have | | ||
| Octavia | act-stby | Must have | | ||
| Swift | (default) | Must have | | ||
|
||
|
||
#### Support services | ||
|
||
The following table lists services which are not the main focus of the testing | ||
(which may be covered by additional scenarios), but are required for the DT to | ||
work properly and can be deployed with any/default configuration. | ||
|
||
| Service | Reason | | ||
| ---------------- |--------------------------- | | ||
| Nova | needed by scenario testing | | ||
| Keystone | needed by all services | | ||
| Heat | needed by Telemetry | | ||
| Redis | needed by Octavia | | ||
|
||
|
||
### Additional configuration | ||
|
||
- Always-on, default services and features: TLSe | ||
- Two additional fake baremetal nodes | ||
- Availability zones for OVN (zone-1 & zone-2) | ||
- iSCSI service is enabled on all OpenShift nodes. | ||
|
||
|
||
#### iSCSI | ||
|
||
It is assumed *iSCSI* services are enabled in all nodes participating in the | ||
Red Hat OpenShift cluster. If not, a `MachineConfig` similar to the below one | ||
is applied. The node would be *rebooted* after applying the configuration. | ||
|
||
```YAML | ||
--- | ||
apiVersion: machineconfiguration.openshift.io/v1 | ||
kind: MachineConfig | ||
metadata: | ||
labels: | ||
machineconfiguration.openshift.io/role: master | ||
service: cinder | ||
name: 90-master-cinder-enable-iscsid | ||
spec: | ||
config: | ||
ignition: | ||
version: 3.2.0 | ||
systemd: | ||
units: | ||
- enabled: true | ||
name: iscsid.service | ||
``` | ||
## Workflow | ||
1. [Install the OpenStack K8S operators and their dependencies](../../common/README.md) | ||
2. [Configure and deploy the OpenStack control plane](control-plane.md) | ||
4. [Configure and deploy the OpenStack data plane](data-plane.md) |
Oops, something went wrong.