Add missing update_serial key to compute roles

I missed this the changes from I4ee0110a6c2b9466d81e37e5df27f5f81a6eceb5 when
rebasing I9f40a2a3561fcb1d1fec9d9c3c1f9cabaf02650c.

Add the missing key to the roles and add some validation to catch this.

Change-Id: I0f38df69777340ebbdc5c419f121524dbc74cad7
Related-bug: #1831617
Implements: blueprint nova-backend-per-role
(cherry picked from commit c2977e3c00)
(cherry picked from commit 7b72488d2e)
(cherry picked from commit d9dcd8d516)
This commit is contained in:
Oliver Walsh 2019-07-17 16:08:40 +01:00
parent 4b9aed2470
commit 3a69cc589e
4 changed files with 24 additions and 1 deletions

View File

@ -12,6 +12,8 @@
HostnameFormatDefault: '%stackname%-computehciovsdpdk-%index%'
disable_upgrade_deployment: True
deprecated_nic_config_name: 'compute-dpdk.yaml'
# CephOSD present so serial has to be 1
update_serial: 1
RoleParametersDefault:
TunedProfileName: "cpu-partitioning"
VhostuserSocketGroup: "hugetlbfs"

View File

@ -9,6 +9,7 @@
- InternalApi
- Tenant
- Storage
update_serial: 25
HostnameFormatDefault: '%stackname%-novacompute-local-%index%'
RoleParametersDefault:
TunedProfileName: "virtual-host"

View File

@ -9,6 +9,7 @@
- InternalApi
- Tenant
- Storage
update_serial: 25
HostnameFormatDefault: '%stackname%-novacompute-rbd-%index%'
RoleParametersDefault:
TunedProfileName: "virtual-host"

View File

@ -365,8 +365,27 @@ def validate_with_compute_role_services(role_filename, role_tpl, exclude_service
'ServicesDefault in roles/Compute.yaml'.format(role_filename,
', '.join(missing_services)))
return 1
return 0
cmpt_us = cmpt_tpl[0].get('update_serial', None)
tpl_us = role_tpl[0].get('update_serial', None)
if 'OS::TripleO::Services::CephOSD' in role_services:
if tpl_us not in (None, 1):
print('ERROR: update_serial in {0} ({1}) '
'is should be 1 as it includes CephOSD'.format(
role_filename,
tpl_us,
cmpt_us))
return 1
elif cmpt_us is not None and tpl_us != cmpt_us:
print('ERROR: update_serial in {0} ({1}) '
'does not match roles/Compute.yaml {2}'.format(
role_filename,
tpl_us,
cmpt_us))
return 1
return 0
def search(item, check_item, check_key):
if check_item(item):