diff --git a/openstack/tempest/kvm-tempest/.helmignore b/openstack/tempest/kvm-tempest/.helmignore new file mode 100644 index 00000000000..f0c13194444 --- /dev/null +++ b/openstack/tempest/kvm-tempest/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/openstack/tempest/kvm-tempest/Chart.lock b/openstack/tempest/kvm-tempest/Chart.lock new file mode 100644 index 00000000000..8e620b1c602 --- /dev/null +++ b/openstack/tempest/kvm-tempest/Chart.lock @@ -0,0 +1,9 @@ +dependencies: +- name: tempest-base + repository: file://../tempest-base + version: 0.1.0 +- name: owner-info + repository: oci://keppel.eu-de-1.cloud.sap/ccloud-helm + version: 0.2.0 +digest: sha256:714510c44e6ccd3aca3894b2e22ba383dd697c578ca9e21c537d57218d447031 +generated: "2023-05-22T23:43:02.558525+04:00" diff --git a/openstack/tempest/kvm-tempest/Chart.yaml b/openstack/tempest/kvm-tempest/Chart.yaml new file mode 100644 index 00000000000..b90584e0aea --- /dev/null +++ b/openstack/tempest/kvm-tempest/Chart.yaml @@ -0,0 +1,11 @@ +description: A Helm chart for Openstack Tempest testing. +name: kvm-tempest +version: 0.1.0 +apiVersion: v2 +dependencies: + - name: tempest-base + repository: file://../tempest-base + version: 0.1.0 + - name: owner-info + repository: oci://keppel.eu-de-1.cloud.sap/ccloud-helm + version: 0.2.0 diff --git a/openstack/tempest/kvm-tempest/templates/bin/_tempest-start-and-cleanup.sh.tpl b/openstack/tempest/kvm-tempest/templates/bin/_tempest-start-and-cleanup.sh.tpl new file mode 100644 index 00000000000..434e93f10b8 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/bin/_tempest-start-and-cleanup.sh.tpl @@ -0,0 +1,109 @@ +#!/usr/bin/env bash + +set -o pipefail + +{{- include "tempest-base.function_start_tempest_tests" . }} + +function cleanup_security_groups() { + for secgroup in $(openstack security group list | grep -E "tempest-securitygroup|tempest_security_group" | awk '{ print $4 }'); + do + echo "Security group $secgroup will be deleted"; + openstack security group delete ${secgroup}; + done +} + +function cleanup_images() { + for image in $(openstack image list -f value -c Name | grep tempest); + do + if [ "$image" = "ubuntu-20.04-tempest" ]; then + echo "Tempest specific image will not deleted"; + elif [ "$image" = "ubuntu-focal-kvm-tempest" ]; then + echo "Tempest specific image will not deleted"; + else + echo "Image $image will be deleted"; + openstack image delete ${image}; + fi + done +} + +function cleanup_fips_user() { + # Delete all fips for nova user + COUNTER=0 + for user in nova-tempestuser1 nova-tempestuser2 nova-tempestuser3 nova-tempestuser4 nova-tempestuser5 nova-tempestuser6 nova-tempestuser7 nova-tempestuser8 nova-tempestuser9 nova-tempestuser10 nova-tempestuser11 nova-tempestuser12 nova-tempestuser13 nova-tempestuser14 nova-tempestuser15 nova-tempestuser16 nova-tempestuser17 nova-tempestuser18; do + let COUNTER++ + export OS_USERNAME=$user + TEMPESTPROJECT=nova-tempest$COUNTER + export OS_TENANT_NAME=$TEMPESTPROJECT + export OS_PROJECT_NAME=$TEMPESTPROJECT + for ip in $(openstack floating ip list | grep 10. | awk '{ print $2 }'); do openstack floating ip delete ${ip}; done + done +} + +function cleanup_fips_admin() { + # Delete all fips for nova admin + COUNTER=0 + for admin in nova-tempestadmin1 nova-tempestadmin2 nova-tempestadmin3 nova-tempestadmin4 nova-tempestadmin5 nova-tempestadmin6 nova-tempestadmin7 nova-tempestadmin8; do + let COUNTER++ + export OS_USERNAME=$admin + TEMPESTPROJECT=nova-tempest-admin$COUNTER + export OS_TENANT_NAME=$TEMPESTPROJECT + export OS_PROJECT_NAME=$TEMPESTPROJECT + for ip in $(openstack floating ip list | grep 10. | awk '{ print $2 }'); do openstack floating ip delete ${ip}; done + done +} + +function cleanup_nova() { + for i in $(seq 1 18); do + export OS_USERNAME=nova-tempestuser${i} + export OS_PROJECT_NAME=nova-tempest${i} + cleanup_security_groups + cleanup_images + done + + for i in $(seq 1 8); do + export OS_USERNAME=nova-tempestadmin${i} + export OS_PROJECT_NAME=nova-tempest-admin${i} + cleanup_security_groups + cleanup_images + done +} + +function cleanup_tempest_leftovers() { + + echo "Run cleanup" + + delete_os_items() { + os_item_type=$1 + for item_id in $(openstack $os_item_type list -f value -c ID); do + openstack $os_item_type delete ${item_id} + done + } + + delete_tempest_os_items() { + os_item_type=$1 + for i in $(seq 1 18); do + export OS_USERNAME=nova-tempestuser${i} + export OS_PROJECT_NAME=nova-tempest${i} + delete_os_items "$os_item_type" + done + + for i in $(seq 1 8); do + export OS_USERNAME=nova-tempestadmin${i} + export OS_PROJECT_NAME=nova-tempest-admin${i} + delete_os_items "$os_item_type" + done + } + + # Delete types sequentially so that the deletion of servers in project 1 is + # eventually completed by the time script gets to deleting ports in project 1 + delete_tempest_os_items "server" + delete_tempest_os_items "port" + delete_tempest_os_items "server group" + cleanup_nova + cleanup_fips_user + cleanup_fips_admin +} + +{{- include "tempest-base.function_main" . }} + +main diff --git a/openstack/tempest/kvm-tempest/templates/configmap-bin-tempest.yaml b/openstack/tempest/kvm-tempest/templates/configmap-bin-tempest.yaml new file mode 100644 index 00000000000..0f4163f98e1 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/configmap-bin-tempest.yaml @@ -0,0 +1,12 @@ +{{- if (index .Values (print .Chart.Name | replace "-" "_")).tempest.enabled}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Chart.Name }}-bin + labels: + system: openstack + type: configuration +data: + tempest-start-and-cleanup.sh: | +{{ include (print .Template.BasePath "/bin/_tempest-start-and-cleanup.sh.tpl") . | indent 4 }} +{{ end }} diff --git a/openstack/tempest/kvm-tempest/templates/configmap-etc-tempest.yaml b/openstack/tempest/kvm-tempest/templates/configmap-etc-tempest.yaml new file mode 100644 index 00000000000..95b2db4c096 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/configmap-etc-tempest.yaml @@ -0,0 +1,20 @@ +{{- if (index .Values (print .Chart.Name | replace "-" "_")).tempest.enabled}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Chart.Name }}-etc + labels: + system: openstack + type: configuration +data: + tempest_accounts.yaml: | +{{ include (print .Template.BasePath "/etc/_tempest_accounts.yaml.tpl") . | indent 4 }} + tempest_deployment_config.json: | +{{ include (print .Template.BasePath "/etc/_tempest_deployment_config.json.tpl") . | indent 4 }} + tempest_expected_failures_list.yaml: | +{{- include "tempest-base.expected_failures" (dict "myXfails" (index .Values (print .Chart.Name | replace "-" "_")).tempest.expected_failures) | indent 4 }} + tempest_skip_list.yaml: | +{{- include "tempest-base.skip_list" (dict "mySkipList" (index .Values (print .Chart.Name | replace "-" "_")).tempest.skip_list)| indent 4 }} + tempest_extra_options: | +{{ include (print .Template.BasePath "/etc/_tempest_extra_options.tpl") . | indent 4 }} +{{ end }} diff --git a/openstack/tempest/kvm-tempest/templates/etc/_tempest_accounts.yaml.tpl b/openstack/tempest/kvm-tempest/templates/etc/_tempest_accounts.yaml.tpl new file mode 100644 index 00000000000..90ed6fae128 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/etc/_tempest_accounts.yaml.tpl @@ -0,0 +1,128 @@ +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin1 + username: nova-tempestadmin1 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin2 + username: nova-tempestadmin2 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin3 + username: nova-tempestadmin3 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin4 + username: nova-tempestadmin4 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin5 + username: nova-tempestadmin5 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin6 + username: nova-tempestadmin6 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin7 + username: nova-tempestadmin7 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest-admin8 + username: nova-tempestadmin8 + types: + - admin + - primary +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest1 + username: nova-tempestuser1 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest2 + username: nova-tempestuser2 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest3 + username: nova-tempestuser3 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest4 + username: nova-tempestuser4 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest5 + username: nova-tempestuser5 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest6 + username: nova-tempestuser6 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest7 + username: nova-tempestuser7 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest8 + username: nova-tempestuser8 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest9 + username: nova-tempestuser9 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest10 + username: nova-tempestuser10 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest11 + username: nova-tempestuser11 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest12 + username: nova-tempestuser12 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest13 + username: nova-tempestuser13 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest14 + username: nova-tempestuser14 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest15 + username: nova-tempestuser15 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest16 + username: nova-tempestuser16 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest17 + username: nova-tempestuser17 +- domain_name: tempest + password: {{ .Values.tempestAdminPassword | quote }} + project_name: nova-tempest18 + username: nova-tempestuser18 diff --git a/openstack/tempest/kvm-tempest/templates/etc/_tempest_deployment_config.json.tpl b/openstack/tempest/kvm-tempest/templates/etc/_tempest_deployment_config.json.tpl new file mode 100644 index 00000000000..546a251d0b9 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/etc/_tempest_deployment_config.json.tpl @@ -0,0 +1,143 @@ +{ + "openstack": { + "auth_url": "http://{{ if .Values.global.clusterDomain }}keystone.{{.Release.Namespace}}.svc.{{ required "Missing clusterDomain value!" .Values.global.clusterDomain}}{{ else }}keystone.{{.Release.Namespace}}.svc.kubernetes.{{required "Missing region value!" .Values.global.region}}.{{ required "Missing tld value!" .Values.global.tld}}{{end}}:5000/v3", + "region_name": "{{ .Values.global.region }}", + "endpoint_type": "public", + "admin": { + "username": "nova-tempestadmin1", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "domain_name": "tempest" + }, + "users": [ + { + "username": "nova-tempestuser1", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest1", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser2", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest2", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser3", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest3", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser4", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest4", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser5", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest5", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser6", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest6", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser7", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest7", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser8", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest8", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser9", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest9", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser10", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest10", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser11", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest11", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser12", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest12", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser13", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest13", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser14", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest14", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser15", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest15", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser16", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest16", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser17", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest17", + "project_domain_name": "tempest" + }, + { + "username": "nova-tempestuser18", + "password": {{ .Values.tempestAdminPassword | quote }}, + "user_domain_name": "tempest", + "project_name": "nova-tempest18", + "project_domain_name": "tempest" + } + ], + "https_insecure": true, + "https_cacert": "" + } +} diff --git a/openstack/tempest/kvm-tempest/templates/etc/_tempest_extra_options.tpl b/openstack/tempest/kvm-tempest/templates/etc/_tempest_extra_options.tpl new file mode 100644 index 00000000000..a0c6a73c4e2 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/etc/_tempest_extra_options.tpl @@ -0,0 +1,119 @@ +[DEFAULT] +debug = True +use_stderr = True +rally_debug = True + +[auth] +use_dynamic_credentials = False +create_isolated_networks = False +test_accounts_file = /{{ .Chart.Name }}-etc/tempest_accounts.yaml +default_credentials_domain_name = tempest +admin_project_name = {{ default "neutron-tempest-admin1" (index .Values (print .Chart.Name | replace "-" "_")).tempest.admin_project_name }} +admin_username = {{ default "neutron-tempest-admin1" (index .Values (print .Chart.Name | replace "-" "_")).tempest.admin_name }} +admin_password = {{ required "A valid .Values.tempestAdminPassword required!" .Values.tempestAdminPassword }} +admin_domain_name = tempest +admin_domain_scope = True + +[identity] +uri_v3 = http://{{ if .Values.global.clusterDomain }}keystone.{{.Release.Namespace}}.svc.{{.Values.global.clusterDomain}}{{ else }}keystone.{{.Release.Namespace}}.svc.kubernetes.{{.Values.global.region}}.{{.Values.global.tld}}{{end}}:5000/v3 +endpoint_type = public +v3_endpoint_type = public +region = {{ .Values.global.region }} +default_domain_id = {{ .Values.tempest_common.domainId }} +admin_domain_scope = False +disable_ssl_certificate_validation = True +auth_version = v3 +username = {{ default "neutron-tempest-admin1" (index .Values (print .Chart.Name | replace "-" "_")).tempest.admin_name }} +password = {{ required "A valid .Values.tempestAdminPassword required!" .Values.tempestAdminPassword }} +domain_name = tempest +admin_role = admin +admin_domain_name = tempest +admin_username = {{ default "neutron-tempest-admin1" (index .Values (print .Chart.Name | replace "-" "_")).tempest.admin_name }} +admin_password = {{ required "A valid .Values.tempestAdminPassword required!" .Values.tempestAdminPassword }} +catalog_type = identity +user_unique_last_password_count = 5 +user_lockout_duration = 300 +user_lockout_failure_attempts = 5 + +[identity-feature-enabled] +domain_specific_drivers = True +project_tags = True +application_credentials = True +api_v2 = False +api_v2_admin = False +api_v3 = True +trust = True +security_compliance = True + +[image] +build_timeout=600 + +[network] +project_network_cidr = 10.199.0.0/16 +public_network_id = {{ .Values.tempest_common.public_network_id }} +endpoint_type = public +shared_physical_network= {{ .Values.tempest_common.shared_physical_network | default true }} +floating_network_name = FloatingIP-external-monsoon3-01 +build_timeout=600 +build_interval=20 +subnet_id = a5703f23-ffcb-4ca7-9dfe-ab9861d91bf5 + +[network-feature-enabled] +ipv6 = False + + +[compute] +# image_ref and image_ref_alt will be changed to the image-id during init-script as the image-id can change over time. +image_ref = a62f00e2-ac73-4a32-b697-4bc60c6b7507 +image_ref_alt = a62f00e2-ac73-4a32-b697-4bc60c6b7507 +endpoint_type = public +v3_endpoint_type = public +region = {{ .Values.global.region }} +flavor_ref = 21 +flavor_ref_alt = 31 +min_microversio = 2.1 +max_microversion = latest +fixed_network_name = {{ (index .Values (print .Chart.Name | replace "-" "_")).tempest.fixed_network_name }} +build_timeout=600 +compute_volume_common_az=qa-de-1d + +[compute-feature-enabled] +resize = True +unified_limits = False +cold_migration = True +live_migration = True +live_migrate_back_and_forth = True +vnc_console = True +vnc_server_header = WebSockify +serial_console = False +spice_console = False +attach_encrypted_volume = False + +[validation] +image_ssh_user = ubuntu +ssh_key_type = rsa + +[volume] +catalog_type = volumev3 +endpoint_type = public +min_microversion = 3.0 +max_microversion = latest +volume_size = 10 +build_timeout=600 +volume_type = nfs + +[volume-feature-enabled] +backup = true + +[service_available] +manila = False +neutron = True +cinder = True +glance = True +nova = True +swift = False +designate = False +ironic = False +barbican = False +keystone = False +octavia = False diff --git a/openstack/tempest/kvm-tempest/templates/seed.yaml b/openstack/tempest/kvm-tempest/templates/seed.yaml new file mode 100644 index 00000000000..c8f18de1926 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/seed.yaml @@ -0,0 +1,3447 @@ +apiVersion: "openstack.stable.sap.cc/v1" +kind: "OpenstackSeed" +metadata: + name: {{ .Chart.Name }}-seed + labels: + chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" + release: "{{ .Release.Name }}" + heritage: "{{ .Release.Service }}" +spec: + rbac_policies: + - target_tenant_name: nova-tempest-admin1@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin2@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin3@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin4@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin5@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin6@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin7@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin8@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest1@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest2@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest3@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest4@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest5@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest6@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest7@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest8@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest9@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest10@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest11@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest12@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest13@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest14@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest15@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest16@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest17@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest18@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_shared_network value!" .Values.tempest_common.rbac_policy_object_name_shared_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin1@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin2@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin3@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin4@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin5@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin6@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin7@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest-admin8@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest1@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest2@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest3@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest4@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest5@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest6@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest7@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest8@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest9@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest10@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest11@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest12@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest13@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest14@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest15@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest16@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest17@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + - target_tenant_name: nova-tempest18@tempest + object_type: network + object_name: {{ required "Missing rbac_policy_object_name_private_network value!" .Values.tempest_common.rbac_policy_object_name_private_network }} + action: access_as_shared + domains: + - name: tempest + groups: + - name: administrators + description: 'Administrators' + users: + - nova-tempestadmin1 + - nova-tempestadmin2 + - nova-tempestadmin3 + - nova-tempestadmin4 + - nova-tempestadmin5 + - nova-tempestadmin6 + - nova-tempestadmin7 + - nova-tempestadmin8 + role_assignments: + - project: nova-tempest-admin1 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin2 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin3 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin4 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin5 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin6 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin7 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + - project: nova-tempest-admin8 + role: admin + - project: service + role: admin + - domain: tempest + role: admin + - domain: tempest + role: resource_admin + - domain: tempest + role: admin + inherited: true + projects: + - name: nova-tempest-admin1 + description: nova Tempest Admin Test Project 1 + - name: nova-tempest-admin2 + description: nova Tempest Admin Test Project 2 + - name: nova-tempest-admin3 + description: nova Tempest Admin Test Project 3 + - name: nova-tempest-admin4 + description: nova Tempest Admin Test Project 4 + - name: nova-tempest-admin5 + description: nova Tempest Admin Test Project 5 + - name: nova-tempest-admin6 + description: nova Tempest Admin Test Project 6 + - name: nova-tempest-admin7 + description: nova Tempest Admin Test Project 7 + - name: nova-tempest-admin8 + description: nova Tempest Admin Test Project 8 + - name: nova-tempest1 + description: nova Tempest Test Project 1 + - name: nova-tempest2 + description: nova Tempest Test Project 2 + - name: nova-tempest3 + description: nova Tempest Test Project 3 + - name: nova-tempest4 + description: nova Tempest Test Project 4 + - name: nova-tempest5 + description: nova Tempest Test Project 5 + - name: nova-tempest6 + description: nova Tempest Test Project 6 + - name: nova-tempest7 + description: nova Tempest Test Project 7 + - name: nova-tempest8 + description: nova Tempest Test Project 8 + - name: nova-tempest9 + description: nova Tempest Test Project 9 + - name: nova-tempest10 + description: nova Tempest Test Project 10 + - name: nova-tempest11 + description: nova Tempest Test Project 11 + - name: nova-tempest12 + description: nova Tempest Test Project 12 + - name: nova-tempest13 + description: nova Tempest Test Project 13 + - name: nova-tempest14 + description: nova Tempest Test Project 14 + - name: nova-tempest15 + description: nova Tempest Test Project 15 + - name: nova-tempest16 + description: nova Tempest Test Project 16 + - name: nova-tempest17 + description: nova Tempest Test Project 17 + - name: nova-tempest18 + description: nova Tempest Test Project 18 + users: + - name: nova-tempestadmin1 + description: nova Tempest Administrator 1 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin2 + description: nova Tempest Administrator 2 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin3 + description: nova Tempest Administrator 3 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin4 + description: nova Tempest Administrator 4 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin5 + description: nova Tempest Administrator 5 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin6 + description: nova Tempest Administrator 6 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin7 + description: nova Tempest Administrator 7 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestadmin8 + description: nova Tempest Administrator 8 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest-admin1 + role: member + - project: nova-tempest-admin1 + role: admin + - project: nova-tempest-admin1 + role: network_admin + - project: nova-tempest-admin1 + role: compute_admin + - project: nova-tempest-admin1 + role: cloud_compute_admin + - project: nova-tempest-admin1 + role: resource_admin + - project: nova-tempest-admin1 + role: volume_admin + - project: nova-tempest-admin1 + role: cloud_volume_admin + - project: nova-tempest-admin2 + role: member + - project: nova-tempest-admin2 + role: admin + - project: nova-tempest-admin2 + role: network_admin + - project: nova-tempest-admin2 + role: compute_admin + - project: nova-tempest-admin2 + role: cloud_compute_admin + - project: nova-tempest-admin2 + role: resource_admin + - project: nova-tempest-admin2 + role: volume_admin + - project: nova-tempest-admin2 + role: cloud_volume_admin + - project: nova-tempest-admin3 + role: member + - project: nova-tempest-admin3 + role: admin + - project: nova-tempest-admin3 + role: network_admin + - project: nova-tempest-admin3 + role: compute_admin + - project: nova-tempest-admin3 + role: cloud_compute_admin + - project: nova-tempest-admin3 + role: resource_admin + - project: nova-tempest-admin3 + role: volume_admin + - project: nova-tempest-admin3 + role: cloud_volume_admin + - project: nova-tempest-admin4 + role: member + - project: nova-tempest-admin4 + role: admin + - project: nova-tempest-admin4 + role: network_admin + - project: nova-tempest-admin4 + role: compute_admin + - project: nova-tempest-admin4 + role: cloud_compute_admin + - project: nova-tempest-admin4 + role: resource_admin + - project: nova-tempest-admin4 + role: volume_admin + - project: nova-tempest-admin4 + role: cloud_volume_admin + - project: nova-tempest-admin5 + role: member + - project: nova-tempest-admin5 + role: admin + - project: nova-tempest-admin5 + role: network_admin + - project: nova-tempest-admin5 + role: compute_admin + - project: nova-tempest-admin5 + role: cloud_compute_admin + - project: nova-tempest-admin5 + role: resource_admin + - project: nova-tempest-admin5 + role: volume_admin + - project: nova-tempest-admin5 + role: cloud_volume_admin + - project: nova-tempest-admin6 + role: member + - project: nova-tempest-admin6 + role: admin + - project: nova-tempest-admin6 + role: network_admin + - project: nova-tempest-admin6 + role: compute_admin + - project: nova-tempest-admin6 + role: cloud_compute_admin + - project: nova-tempest-admin6 + role: resource_admin + - project: nova-tempest-admin6 + role: volume_admin + - project: nova-tempest-admin6 + role: cloud_volume_admin + - project: nova-tempest-admin7 + role: member + - project: nova-tempest-admin7 + role: admin + - project: nova-tempest-admin7 + role: network_admin + - project: nova-tempest-admin7 + role: compute_admin + - project: nova-tempest-admin7 + role: cloud_compute_admin + - project: nova-tempest-admin7 + role: resource_admin + - project: nova-tempest-admin7 + role: volume_admin + - project: nova-tempest-admin7 + role: cloud_volume_admin + - project: nova-tempest-admin8 + role: member + - project: nova-tempest-admin8 + role: admin + - project: nova-tempest-admin8 + role: network_admin + - project: nova-tempest-admin8 + role: compute_admin + - project: nova-tempest-admin8 + role: cloud_compute_admin + - project: nova-tempest-admin8 + role: resource_admin + - project: nova-tempest-admin8 + role: volume_admin + - project: nova-tempest-admin8 + role: cloud_volume_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: cloud_compute_admin + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: cloud_compute_admin + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: cloud_compute_admin + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: cloud_compute_admin + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: cloud_compute_admin + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: cloud_compute_admin + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: cloud_compute_admin + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: cloud_compute_admin + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: cloud_compute_admin + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: cloud_compute_admin + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: cloud_compute_admin + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: cloud_compute_admin + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: cloud_compute_admin + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: cloud_compute_admin + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: cloud_compute_admin + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: cloud_compute_admin + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: cloud_compute_admin + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: cloud_compute_admin + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin + - name: nova-tempestuser1 + description: nova Tempest Test User 1 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest1 + role: admin + - project: nova-tempest1 + role: network_admin + - project: nova-tempest1 + role: compute_admin + - project: nova-tempest1 + role: member + - project: nova-tempest1 + role: resource_admin + - project: nova-tempest1 + role: volume_admin + - name: nova-tempestuser2 + description: nova Tempest Test User 2 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest2 + role: admin + - project: nova-tempest2 + role: network_admin + - project: nova-tempest2 + role: compute_admin + - project: nova-tempest2 + role: member + - project: nova-tempest2 + role: resource_admin + - project: nova-tempest2 + role: volume_admin + - name: nova-tempestuser3 + description: nova Tempest Test User 3 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest3 + role: admin + - project: nova-tempest3 + role: network_admin + - project: nova-tempest3 + role: compute_admin + - project: nova-tempest3 + role: member + - project: nova-tempest3 + role: resource_admin + - project: nova-tempest3 + role: volume_admin + - name: nova-tempestuser4 + description: nova Tempest Test User 4 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest4 + role: admin + - project: nova-tempest4 + role: network_admin + - project: nova-tempest4 + role: compute_admin + - project: nova-tempest4 + role: member + - project: nova-tempest4 + role: resource_admin + - project: nova-tempest4 + role: volume_admin + - name: nova-tempestuser5 + description: nova Tempest Test User 5 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest5 + role: admin + - project: nova-tempest5 + role: network_admin + - project: nova-tempest5 + role: compute_admin + - project: nova-tempest5 + role: member + - project: nova-tempest5 + role: resource_admin + - project: nova-tempest5 + role: volume_admin + - name: nova-tempestuser6 + description: nova Tempest Test User 6 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest6 + role: admin + - project: nova-tempest6 + role: network_admin + - project: nova-tempest6 + role: compute_admin + - project: nova-tempest6 + role: member + - project: nova-tempest6 + role: resource_admin + - project: nova-tempest6 + role: volume_admin + - name: nova-tempestuser7 + description: nova Tempest Test User 7 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest7 + role: admin + - project: nova-tempest7 + role: network_admin + - project: nova-tempest7 + role: compute_admin + - project: nova-tempest7 + role: member + - project: nova-tempest7 + role: resource_admin + - project: nova-tempest7 + role: volume_admin + - name: nova-tempestuser8 + description: nova Tempest Test User 8 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest8 + role: admin + - project: nova-tempest8 + role: network_admin + - project: nova-tempest8 + role: compute_admin + - project: nova-tempest8 + role: member + - project: nova-tempest8 + role: resource_admin + - project: nova-tempest8 + role: volume_admin + - name: nova-tempestuser9 + description: nova Tempest Test User 9 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest9 + role: admin + - project: nova-tempest9 + role: network_admin + - project: nova-tempest9 + role: compute_admin + - project: nova-tempest9 + role: member + - project: nova-tempest9 + role: resource_admin + - project: nova-tempest9 + role: volume_admin + - name: nova-tempestuser10 + description: nova Tempest Test User 10 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest10 + role: admin + - project: nova-tempest10 + role: network_admin + - project: nova-tempest10 + role: compute_admin + - project: nova-tempest10 + role: member + - project: nova-tempest10 + role: resource_admin + - project: nova-tempest10 + role: volume_admin + - name: nova-tempestuser11 + description: nova Tempest Test User 11 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest11 + role: admin + - project: nova-tempest11 + role: network_admin + - project: nova-tempest11 + role: compute_admin + - project: nova-tempest11 + role: member + - project: nova-tempest11 + role: resource_admin + - project: nova-tempest11 + role: volume_admin + - name: nova-tempestuser12 + description: nova Tempest Test User 12 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest12 + role: admin + - project: nova-tempest12 + role: network_admin + - project: nova-tempest12 + role: compute_admin + - project: nova-tempest12 + role: member + - project: nova-tempest12 + role: resource_admin + - project: nova-tempest12 + role: volume_admin + - name: nova-tempestuser13 + description: nova Tempest Test User 13 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest13 + role: admin + - project: nova-tempest13 + role: network_admin + - project: nova-tempest13 + role: compute_admin + - project: nova-tempest13 + role: member + - project: nova-tempest13 + role: resource_admin + - project: nova-tempest13 + role: volume_admin + - name: nova-tempestuser14 + description: nova Tempest Test User 14 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest14 + role: admin + - project: nova-tempest14 + role: network_admin + - project: nova-tempest14 + role: compute_admin + - project: nova-tempest14 + role: member + - project: nova-tempest14 + role: resource_admin + - project: nova-tempest14 + role: volume_admin + - name: nova-tempestuser15 + description: nova Tempest Test User 15 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest15 + role: admin + - project: nova-tempest15 + role: network_admin + - project: nova-tempest15 + role: compute_admin + - project: nova-tempest15 + role: member + - project: nova-tempest15 + role: resource_admin + - project: nova-tempest15 + role: volume_admin + - name: nova-tempestuser16 + description: nova Tempest Test User 16 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest16 + role: admin + - project: nova-tempest16 + role: network_admin + - project: nova-tempest16 + role: compute_admin + - project: nova-tempest16 + role: member + - project: nova-tempest16 + role: resource_admin + - project: nova-tempest16 + role: volume_admin + - name: nova-tempestuser17 + description: nova Tempest Test User 17 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest17 + role: admin + - project: nova-tempest17 + role: network_admin + - project: nova-tempest17 + role: compute_admin + - project: nova-tempest17 + role: member + - project: nova-tempest17 + role: resource_admin + - project: nova-tempest17 + role: volume_admin + - name: nova-tempestuser18 + description: nova Tempest Test User 18 + password: {{ required "Missing tempestAdminPassword value!" .Values.tempestAdminPassword | quote }} + role_assignments: + - project: nova-tempest18 + role: admin + - project: nova-tempest18 + role: network_admin + - project: nova-tempest18 + role: compute_admin + - project: nova-tempest18 + role: member + - project: nova-tempest18 + role: resource_admin + - project: nova-tempest18 + role: volume_admin diff --git a/openstack/tempest/kvm-tempest/templates/tempest-pod.yaml b/openstack/tempest/kvm-tempest/templates/tempest-pod.yaml new file mode 100644 index 00000000000..0fca29c8d40 --- /dev/null +++ b/openstack/tempest/kvm-tempest/templates/tempest-pod.yaml @@ -0,0 +1,58 @@ +{{- if (index .Values (print .Chart.Name | replace "-" "_")).tempest.enabled }} +apiVersion: v1 +kind: Pod +metadata: + name: {{ .Chart.Name }} + labels: + system: openstack + type: configuration +spec: + restartPolicy: Never + containers: + - name: {{ .Chart.Name }} + # As nova has no tempest plugin project we use standard tempest tests for compute -> use neutron-tempest-plugin image + image: {{ default "keppel.eu-de-1.cloud.sap/ccloud" .Values.global.registry}}/nova-tempest-plugin-python3:{{ default "latest" (index .Values (print .Chart.Name | replace "-" "_")).tempest.imageTag}} + command: + - kubernetes-entrypoint + env: + - name: COMMAND + value: "/container.init/tempest-start-and-cleanup.sh" + - name: NAMESPACE + value: {{ .Release.Namespace }} + - name: OS_REGION_NAME + value: {{ required "Missing region value!" .Values.global.region }} + - name: OS_USER_DOMAIN_NAME + value: "tempest" + - name: OS_PROJECT_DOMAIN_NAME + value: "tempest" + - name: OS_INTERFACE + value: "public" + - name: OS_ENDPOINT_TYPE + value: "public" + - name: OS_PASSWORD + value: {{ .Values.tempestAdminPassword | quote }} + - name: OS_IDENTITY_API_VERSION + value: "3" + - name: OS_AUTH_URL + value: "http://{{ if .Values.global.clusterDomain }}keystone.{{.Release.Namespace}}.svc.{{ required "Missing clusterDomain value!" .Values.global.clusterDomain}}{{ else }}keystone.{{.Release.Namespace}}.svc.kubernetes.{{required "Missing region value!" .Values.global.region}}.{{ required "Missing tld value!" .Values.global.tld}}{{end}}:5000/v3" + resources: + requests: + memory: "2048Mi" + cpu: "1000m" + limits: + memory: "8192Mi" + cpu: "2000m" + volumeMounts: + - mountPath: /{{ .Chart.Name }}-etc + name: {{ .Chart.Name }}-etc + - mountPath: /container.init + name: container-init + volumes: + - name: {{ .Chart.Name }}-etc + configMap: + name: {{ .Chart.Name }}-etc + - name: container-init + configMap: + name: {{ .Chart.Name }}-bin + defaultMode: 0755 +{{- end }} diff --git a/openstack/tempest/kvm-tempest/values.yaml b/openstack/tempest/kvm-tempest/values.yaml new file mode 100644 index 00000000000..a4869e673cf --- /dev/null +++ b/openstack/tempest/kvm-tempest/values.yaml @@ -0,0 +1,11 @@ +# You can override subchart values here, e.g. concurrency +run_pattern: tempest.api.compute + +concurrency: 1 +owner-info: + helm-chart-url: 'https://github.com/sapcc/helm-charts/tree/master/openstack/tempest/kvm-tempest' + maintainers: + - Mikhail Samoylov + - Dmitry Galkin + support-group: network-api + service: nova