Browse Source

Merge "Add a ComputePPC64LE role" into stable/queens

tags/8.4.1
Zuul 1 month ago
parent
commit
075a48e885
2 changed files with 95 additions and 0 deletions
  1. 63
    0
      roles/ComputePPC64LE.yaml
  2. 32
    0
      tools/yaml-validate.py

+ 63
- 0
roles/ComputePPC64LE.yaml View File

@@ -0,0 +1,63 @@
1
+###############################################################################
2
+# Role: ComputePPC64LE                                                        #
3
+###############################################################################
4
+- name: ComputePPC64LE
5
+  description: |
6
+    Basic Compute Node role for ppc64le servers
7
+  CountDefault: 0
8
+  networks:
9
+    - InternalApi
10
+    - Tenant
11
+    - Storage
12
+  HostnameFormatDefault: '%stackname%-novacomputeppc64le-%index%'
13
+  ImageDefault: ppc64le-overcloud-full
14
+  RoleParametersDefault:
15
+    TunedProfileName: "virtual-host"
16
+  update_serial: 25
17
+  ServicesDefault:
18
+    - OS::TripleO::Services::Aide
19
+    - OS::TripleO::Services::AuditD
20
+    - OS::TripleO::Services::CACerts
21
+    - OS::TripleO::Services::CephClient
22
+    - OS::TripleO::Services::CephExternal
23
+    - OS::TripleO::Services::CertmongerUser
24
+    - OS::TripleO::Services::Collectd
25
+    - OS::TripleO::Services::ComputeCeilometerAgent
26
+    - OS::TripleO::Services::ComputeNeutronCorePlugin
27
+    - OS::TripleO::Services::ComputeNeutronL3Agent
28
+    - OS::TripleO::Services::ComputeNeutronMetadataAgent
29
+    - OS::TripleO::Services::ComputeNeutronOvsAgent
30
+    - OS::TripleO::Services::Docker
31
+    - OS::TripleO::Services::Fluentd
32
+    - OS::TripleO::Services::IpaClient
33
+    - OS::TripleO::Services::Ipsec
34
+    - OS::TripleO::Services::Iscsid
35
+    - OS::TripleO::Services::Kernel
36
+    - OS::TripleO::Services::LoginDefs
37
+    - OS::TripleO::Services::MetricsQdr
38
+    - OS::TripleO::Services::MySQLClient
39
+    - OS::TripleO::Services::NeutronBgpVpnBagpipe
40
+    - OS::TripleO::Services::NeutronLinuxbridgeAgent
41
+    - OS::TripleO::Services::NeutronVppAgent
42
+    - OS::TripleO::Services::NovaCompute
43
+    - OS::TripleO::Services::NovaLibvirt
44
+    - OS::TripleO::Services::NovaLibvirtGuests
45
+    - OS::TripleO::Services::NovaMigrationTarget
46
+    - OS::TripleO::Services::Ntp
47
+    - OS::TripleO::Services::ContainersLogrotateCrond
48
+    - OS::TripleO::Services::OpenDaylightOvs
49
+    - OS::TripleO::Services::Rhsm
50
+    - OS::TripleO::Services::RsyslogSidecar
51
+    - OS::TripleO::Services::Securetty
52
+    - OS::TripleO::Services::SensuClient
53
+    - OS::TripleO::Services::SkydiveAgent
54
+    - OS::TripleO::Services::Snmp
55
+    - OS::TripleO::Services::Sshd
56
+    - OS::TripleO::Services::Timezone
57
+    - OS::TripleO::Services::TripleoFirewall
58
+    - OS::TripleO::Services::TripleoPackages
59
+    - OS::TripleO::Services::Tuned
60
+    - OS::TripleO::Services::Vpp
61
+    - OS::TripleO::Services::OVNController
62
+    - OS::TripleO::Services::OVNMetadataAgent
63
+    - OS::TripleO::Services::Ptp

+ 32
- 0
tools/yaml-validate.py View File

@@ -387,6 +387,35 @@ def validate_with_compute_role_services(role_filename, role_tpl, exclude_service
387 387
 
388 388
     return 0
389 389
 
390
+def validate_multiarch_compute_roles(role_filename, role_tpl):
391
+    errors = 0
392
+    roles_dir = os.path.dirname(role_filename)
393
+    compute_services = set(role_tpl[0].get('ServicesDefault', []))
394
+    compute_networks = set(role_tpl[0].get('networks', []))
395
+
396
+    for arch in ['ppc64le']:
397
+        arch_filename = os.path.join(roles_dir,
398
+                                     'Compute%s.yaml' % (arch.upper()))
399
+        with open(arch_filename) as f:
400
+            arch_tpl = yaml.safe_load(f)
401
+
402
+        arch_services = set(arch_tpl[0].get('ServicesDefault', []))
403
+        if compute_services != arch_services:
404
+            print('ERROR ServicesDefault in %s and %s do not match' %
405
+                  (role_filename, arch_filename))
406
+            print('ERROR problems with: %s' % (','.join(compute_services.symmetric_difference(arch_services))))
407
+            errors = 1
408
+
409
+        arch_networks = set(arch_tpl[0].get('networks', []))
410
+        if compute_networks != arch_networks:
411
+            print('ERROR networks in %s and %s do not match' %
412
+                  (role_filename, arch_filename))
413
+            print('ERROR problems with: %s' % (','.join(compute_networks.symmetric_difference(arch_networks))))
414
+            errors = 1
415
+
416
+    return errors
417
+
418
+
390 419
 def search(item, check_item, check_key):
391 420
     if check_item(item):
392 421
         return True
@@ -800,6 +829,9 @@ def validate(filename, param_map):
800 829
                         './roles/ComputeRBDEphemeral.yaml'):
801 830
             retval |= validate_with_compute_role_services(filename, tpl)
802 831
 
832
+        if filename == './roles/Compute.yaml':
833
+            retval |= validate_multiarch_compute_roles(filename, tpl)
834
+
803 835
         if filename.startswith('./network_data_'):
804 836
             retval = validate_network_data_file(filename)
805 837
 

Loading…
Cancel
Save