-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This is based on other peding changes referenced below. ATM heavly miss using the validations for arbitrary command call, which expected to move elsewhere in the future or solved in another way. It can produce a passing minimal CI job ATM. Line-length warning limit extended some config lines are really long, and less readable when wrapped. https://github.com/openstack-k8s-operators/architecture/pull/73/files#diff-2b848ad66a53ba3c4f0a6111d518dcf85c4995f7299ee657c76c1a95a0058ebe 184193a #83
- Loading branch information
Showing
18 changed files
with
1,008 additions
and
1 deletion.
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 |
---|---|---|
|
@@ -5,5 +5,5 @@ ignore: | |
|
||
rules: | ||
line-length: | ||
max: 100 | ||
max: 256 | ||
level: warning |
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,74 @@ | ||
--- | ||
vas: | ||
uni06zeta: | ||
stages: | ||
- path: examples/dt/uni06zeta/control-plane/nncp | ||
validations: | ||
- >- | ||
oc -n openstack wait nncp | ||
-l osp/nncm-config-type=standard | ||
--for jsonpath='{.status.conditions[0].reason}'=SuccessfullyConfigured | ||
--timeout=60s | ||
- >- | ||
oc label node master-0 openstack.org/cinder-lvm='' | ||
- >- | ||
ssh hypervisor sudo ip link add link osp_trunk name vlan218 type vlan id 218 | ||
- >- | ||
ssh hypervisor sudo ip addr add 172.38.0.1/24 dev vlan218 | ||
- >- | ||
ssh hypervisor sudo ip link set dev vlan218 up | ||
- >- | ||
ssh hypervisor sudo iptables -A POSTROUTING -s 172.38.0.0/24 ! -d 172.38.0.0/24 -j MASQUERADE -t nat | ||
values: | ||
- name: network-values | ||
src_file: values.yaml | ||
build_output: nncp.yaml | ||
|
||
- path: examples/dt/uni06zeta/control-plane | ||
validations: | ||
- >- | ||
oc -n openstack wait openstackcontrolplane | ||
controlplane | ||
--for condition=Ready | ||
--timeout=600s | ||
- >- | ||
oc rsh -n openstack openstackclient openstack container create | ||
volumebackups | ||
- >- | ||
oc rsh -n openstack openstackclient openstack credential create | ||
--type ec2 --project admin admin | ||
'{"access": "401e5f2c73eb45d3b0256dc8dbe65cf5", | ||
"secret": "6032b0bbcced409d955568be27382c44"}' | ||
- >- | ||
mkdir -p /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/templates/common/edpm-values | ||
- >- | ||
cp /home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/templates/hci/edpm-values/values.yaml.j2 | ||
/home/zuul/src/github.com/openstack-k8s-operators/ci-framework/roles/ci_gen_kustomize_values/templates/common/edpm-values/ | ||
values: | ||
- name: network-values | ||
- name: service-values | ||
src_file: service-values.yaml | ||
build_output: control-plane.yaml | ||
|
||
- path: examples/dt/uni06zeta | ||
validations: | ||
- >- | ||
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,11 @@ | ||
# Deployed Topology - Zeta | ||
|
||
If you are looking for information on how to deploy the zeta based DT, then | ||
please the [README](../../examples/dt/uni06zeta/README.md) in the examples | ||
directory. | ||
|
||
This directory `dt/uni06zeta/`, exists so that the | ||
[kustomization.yaml](../../examples/dt/uni06zeta/kustomization.yaml) in | ||
the examples directory of uni06zeta 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. |
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,155 @@ | ||
--- | ||
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 | ||
- ../../lib/control-plane | ||
|
||
replacements: | ||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.cinderVolumes.lvm-nvme-tcp.replicas | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.cinder.template.cinderVolumes.lvm-nvme-tcp.replicas | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.cinderVolumes.lvm-nvme-tcp.nodeSelector.openstack\.org/cinder-lvm | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.cinder.template.cinderVolumes.lvm-nvme-tcp.nodeSelector.openstack\.org/cinder-lvm | ||
options: | ||
create: true | ||
|
||
- source: | ||
kind: ConfigMap | ||
name: service-values | ||
fieldPath: data.cinderVolumes.lvm-nvme-tcp.customServiceConfig | ||
targets: | ||
- select: | ||
kind: OpenStackControlPlane | ||
fieldPaths: | ||
- spec.cinder.template.cinderVolumes.lvm-nvme-tcp.customServiceConfig | ||
options: | ||
create: true | ||
|
||
- 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.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 | ||
|
||
# TODO: octavia | ||
- 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,102 @@ | ||
# Deployed Topology - Zeta | ||
|
||
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 | ||
|
||
Focused on components with a bit of heterogenous configuration (please see below). | ||
|
||
## Environment | ||
|
||
### Nodes | ||
|
||
|
||
## Node topology | ||
| Node role | bm/vm | amount | | ||
| ------------------------------------------------ | ----- | ------ | | ||
| Openshift master/worker combo-node cluster | vm | 3 | | ||
| Compute nodes | vm | 2 | | ||
| HCI Ceph (TBD, see below) | vm | - | | ||
|
||
### Networks | ||
|
||
| Name | Type | Interface | | ||
| ---- | ---- | --------- | | ||
| Provisioning | untagged | nic1 | | ||
| Machine | untagged | nic2 | | ||
| RH OSP | trunk | nic3 | | ||
|
||
#### Networks in RH OSP | ||
|
||
| Name | Type | | ||
| ---- | ---- | | ||
| ctlplane | untagged | | ||
| internalapi | VLAN tagged | | ||
| Storage | VLAN tagged | | ||
| Tenant | VLAN tagged | | ||
|
||
### Services, enabled features and configurations | ||
|
||
| Service | configuration | Lock-in coverage? | | ||
| ---------------- | ------------------------- | ------------------ | | ||
| Cinder | nvemof-tcp / lvm | Must have | | ||
| Cinder Backup | Swift/S3/zstd | Must have | | ||
| Glance | Swift | Must have | | ||
| Swift | (default) | Must have | | ||
| Octavia | (ovn) | Must have | | ||
| Horizon | N/A | Must have | | ||
| Barbican | (default) | Must have | | ||
| Neutron | OVN/no-dvr/provider_vlans | 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 | | ||
| ---------------- |--------------------------- | | ||
| Barbican | needed by other services | | ||
| Neutron | needed by other services | | ||
| Nova | needed by scenario testing | | ||
| Swift | needed by scenario testing | | ||
| Keystone | needed by all services | | ||
|
||
### Additional configuration | ||
|
||
- Always-on, default services and features: TLSe | ||
- Logical volume with the name cinder-volumes exists on a OpenShift node. | ||
- The S3 backend for cinder-backup requires a valid S3 implementation, which could be provided by HCI Ceph services or by Swift, if Swift can be deployed first. | ||
cinder-backup expected to compress the backups. | ||
|
||
#### Cinder backend - LVM | ||
|
||
It is assumed that worker nodes or the master nodes have extra disks(or loopack device) | ||
and there exists a logical volume group with the name *cinder-volumes*. If not, a | ||
for example a `MachineConfig` can be used to create one. | ||
|
||
The LVM backend for Cinder is a special case as the storage data is on the | ||
OpenShift node and has no external storage systems. The target ips are not managed by | ||
the operators, recommended to create dedicated label for each target serving node | ||
and configure the storage ips of each cinder-volume instance with LVM backend. | ||
|
||
|
||
## Testing tree | ||
|
||
| Test framework | When to run | Special configuration | | ||
| ---------------- | -------------------- | ----------------------| | ||
| relevant volume tests | tempest stage | | | ||
| relevant image tests | tempest stage | | | ||
| relevant object-storage tests | tempest stage | | | ||
| relevant networking tests | tempest stage | full CentOS/RHEL image | | ||
| horizon integration | own stage (post-tempest)| | | ||
|
||
|
||
## Workflow | ||
|
||
1. [Install the OpenStack K8S operators and their dependencies](../../common/README.md) | ||
2. [Configure and deploy the OpenStack control plane](control-plane.md) | ||
3. [Configure and deploy the OpenStack data plane](data-plane.md) |
Oops, something went wrong.