diff --git a/roles/ControllerStorageDashboard.yaml b/roles/ControllerStorageDashboard.yaml index 17afeb1340..a1f8b1b983 100644 --- a/roles/ControllerStorageDashboard.yaml +++ b/roles/ControllerStorageDashboard.yaml @@ -85,7 +85,6 @@ - OS::TripleO::Services::Docker - OS::TripleO::Services::Etcd - OS::TripleO::Services::ExternalSwiftProxy - - OS::TripleO::Services::Fluentd - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd @@ -140,6 +139,7 @@ - OS::TripleO::Services::NeutronML2FujitsuFossw - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NeutronAgentsIBConfig - OS::TripleO::Services::NovaApi - OS::TripleO::Services::NovaConductor - OS::TripleO::Services::NovaIronic @@ -152,14 +152,15 @@ - OS::TripleO::Services::OctaviaHealthManager - OS::TripleO::Services::OctaviaHousekeeping - OS::TripleO::Services::OctaviaWorker + - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::PlacementApi - - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::Podman + - OS::TripleO::Services::Rear - OS::TripleO::Services::Redis - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Rsyslog @@ -182,4 +183,3 @@ - OS::TripleO::Services::Tuned - OS::TripleO::Services::Vpp - OS::TripleO::Services::Zaqar - diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index a630c56e4c..0992c8f5fc 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -50,6 +50,7 @@ - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CephGrafana - OS::TripleO::Services::CephMds - OS::TripleO::Services::CephMgr - OS::TripleO::Services::CephMon @@ -139,6 +140,7 @@ - OS::TripleO::Services::NeutronML2FujitsuFossw - OS::TripleO::Services::NeutronOvsAgent - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NeutronAgentsIBConfig - OS::TripleO::Services::NovaApi - OS::TripleO::Services::NovaConductor - OS::TripleO::Services::NovaIronic @@ -151,14 +153,15 @@ - OS::TripleO::Services::OctaviaHealthManager - OS::TripleO::Services::OctaviaHousekeeping - OS::TripleO::Services::OctaviaWorker + - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OVNDBs - OS::TripleO::Services::OVNController - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::PlacementApi - - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingRpc - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::Podman + - OS::TripleO::Services::Rear - OS::TripleO::Services::Redis - OS::TripleO::Services::Rhsm - OS::TripleO::Services::Rsyslog diff --git a/tools/yaml-validate.py b/tools/yaml-validate.py index 5fb7b612ee..5f392795cc 100755 --- a/tools/yaml-validate.py +++ b/tools/yaml-validate.py @@ -360,6 +360,23 @@ def validate_controller_dashboard(filename, tpl): return 0 +def validate_controller_storage_nfs(filename, tpl, exclude_service=()): + control_role_filename = os.path.join(os.path.dirname(filename), + './Controller.yaml') + with open(control_role_filename, 'r') as f: + control_role_tpl = yaml.load(f.read(), Loader=yaml.SafeLoader) + + control_role_services = control_role_tpl[0]['ServicesDefault'] + for role in tpl: + if role['name'] == 'ControllerStorageNfs': + services = [x for x in role['ServicesDefault'] if (x not in exclude_service)] + if sorted(services) != sorted(control_role_services): + print('ERROR: ServicesDefault in %s is different from ' + 'ServicesDefault in roles/Controller.yaml' % filename) + return 1 + return 0 + + def validate_hci_role(hci_role_filename, hci_role_tpl): role_files = ['HciCephAll', 'HciCephFile', 'HciCephMon', 'HciCephObject'] if hci_role_filename in ['./roles/' + x + '.yaml' for x in role_files]: @@ -1107,6 +1124,14 @@ def validate(filename, param_map): filename.startswith('./roles/ComputeHCIOvsDpdk.yaml'): retval |= validate_hci_computehci_role(filename, tpl) + if filename.startswith('./roles/ControllerStorageNfs.yaml'): + exclude = [ + 'OS::TripleO::Services::CephNfs'] + retval |= validate_controller_storage_nfs(filename, tpl, exclude) + + if filename.startswith('./roles/ControllerStorageDashboard.yaml'): + retval |= validate_controller_dashboard(filename, tpl) + if filename.startswith('./roles/ComputeOvsDpdk.yaml') or \ filename.startswith('./roles/ComputeSriov.yaml') or \ filename.startswith('./roles/ComputeOvsDpdkRT.yaml') or \