Skip to content

Commit be2538c

Browse files
MOS CIGerrit Code Review
MOS CI
authored and
Gerrit Code Review
committed
Merge "[Cinder] Set quotas for internal cinder project"
2 parents d8d75b3 + 06e8bfd commit be2538c

File tree

4 files changed

+36
-5
lines changed

4 files changed

+36
-5
lines changed

charts/openstack/cinder/templates/bin/_bootstrap.sh.tpl

+21-2
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,35 @@ openstack volume type show {{ $name }} || \
7373
{{- /* Check volume type and properties were added */}}
7474
openstack volume type list --long
7575

76-
# Set volumes quote to unlim for cinder service project to have a chance to create
77-
# volumes, images etc inside it.
7876
SERVICE_DOMAIN_ID=$(openstack --os-cloud admin-system domain show {{ .Values.endpoints.identity.auth.cinder.project_domain_name }} -f value -c id)
7977
SERVICE_PROJECT_ID=$(openstack --os-cloud admin-system project show {{ .Values.endpoints.identity.auth.cinder.project_name }} --domain ${SERVICE_DOMAIN_ID} -f value -c id)
8078

79+
INTERNAL_PROJECT_DOMAIN_ID=$(openstack --os-cloud admin-system domain show {{ .Values.conf.cinder.DEFAULT.internal_project_domain_name }} -f value -c id)
80+
INTERNAL_PROJECT_ID=$(openstack --os-cloud admin-system project show {{ .Values.conf.cinder.DEFAULT.internal_project_name }} --domain ${INTERNAL_PROJECT_DOMAIN_ID} -f value -c id)
81+
8182
# NOTE(vsaienko): unless is fixed PRODX-23599 in Yogga release, command: openstack --os-cloud admin quota set --volumes -1 507d9f0509524609bff4c0159432739a doesn't work.
8283
VOLUME_V3_ENDPOINT=$(openstack --os-cloud admin catalog show volumev3 |grep internal | awk '{print $4}')
8384
if [[ -n $VOLUME_V3_ENDPOINT ]]; then
8485
TOKEN=$(openstack token issue -f value -c id)
86+
# Set volumes quote to unlim for cinder service project to have a chance to create
87+
# volumes, images etc inside it.
8588
curl -X PUT ${VOLUME_V3_ENDPOINT}/os-quota-sets/${SERVICE_PROJECT_ID} -H "Accept: application/json" -H "Content-Type: application/json" -H "X-Auth-Token: $TOKEN" -d '{"quota_set": {"tenant_id": "'${SERVICE_PROJECT_ID}'", "volumes": -1}}'
89+
# Set cinder quotes for internal project
90+
curl -X PUT ${VOLUME_V3_ENDPOINT}/os-quota-sets/${INTERNAL_PROJECT_ID} \
91+
-H "Accept: application/json" \
92+
-H "Content-Type: application/json" \
93+
-H "X-Auth-Token: $TOKEN" \
94+
-d '{
95+
"quota_set": {
96+
"tenant_id": "'${INTERNAL_PROJECT_ID}'",
97+
"volumes": {{ .Values.bootstrap.quotas.Default.internal_cinder.volumes }},
98+
"snapshots": {{ .Values.bootstrap.quotas.Default.internal_cinder.snapshots }},
99+
"groups": {{ .Values.bootstrap.quotas.Default.internal_cinder.groups }},
100+
"gigabytes": {{ .Values.bootstrap.quotas.Default.internal_cinder.gigabytes }},
101+
"backups": {{ .Values.bootstrap.quotas.Default.internal_cinder.backups }},
102+
"backup_gigabytes": {{ .Values.bootstrap.quotas.Default.internal_cinder.backup_gigabytes }}
103+
}
104+
}'
86105
fi
87106

88107
{{- end }}

charts/openstack/cinder/templates/bin/_create-internal-tenant-id.py.tpl

+3-3
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ def log_info(func):
6969
return wrapper
7070

7171

72-
PROJECT_DOMAIN_ID = get_env_var("PROJECT_DOMAIN_ID", 'Default')
72+
INTERNAL_PROJECT_DOMAIN_NAME = get_env_var("INTERNAL_PROJECT_DOMAIN_NAME")
7373
INTERNAL_PROJECT_NAME = get_env_var("INTERNAL_PROJECT_NAME")
7474
INTERNAL_USER_NAME = get_env_var("INTERNAL_USER_NAME")
7575

@@ -106,10 +106,10 @@ def find_user(name, domain_id):
106106

107107
# Project domain
108108
project_domain_def = {
109-
"name": PROJECT_DOMAIN_ID,
109+
"name": INTERNAL_PROJECT_DOMAIN_NAME,
110110
}
111111

112-
project_domain = osc.identity.find_domain(PROJECT_DOMAIN_ID)
112+
project_domain = osc.identity.find_domain(INTERNAL_PROJECT_DOMAIN_NAME)
113113

114114
user_project_def = {
115115
"name": INTERNAL_PROJECT_NAME,

charts/openstack/cinder/templates/job-create-internal-tenant.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ spec:
100100
value: {{ .Values.conf.cinder.DEFAULT.internal_project_name | quote }}
101101
- name: INTERNAL_USER_NAME
102102
value: {{ .Values.conf.cinder.DEFAULT.internal_user_name | quote }}
103+
- name: INTERNAL_PROJECT_DOMAIN_NAME
104+
value: {{ .Values.conf.cinder.DEFAULT.internal_project_domain_name | quote }}
103105
- name: CINDER_NAMESPACE
104106
value: {{ $envAll.Release.Namespace | quote }}
105107

charts/openstack/cinder/values.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -611,6 +611,15 @@ bootstrap:
611611
name:
612612
group:
613613
volume_backend_name:
614+
quotas:
615+
Default:
616+
internal_cinder:
617+
volumes: -1
618+
snapshots: -1
619+
groups: -1
620+
gigabytes: -1
621+
backups: -1
622+
backup_gigabytes: -1
614623

615624
network:
616625
api:
@@ -1007,6 +1016,7 @@ conf:
10071016
# Internal tenant id
10081017
internal_project_name: internal_cinder
10091018
internal_user_name: internal_cinder
1019+
internal_project_domain_name: Default
10101020
# NOTE: tgtadm target helper has problems with WWN in multinode environments
10111021
# see bug PRODX-34069 and https://bugs.launchpad.net/cinder/+bug/1917750
10121022
# We use lioadm as target helper for LVM backend

0 commit comments

Comments
 (0)