arm-pod10: Increase MaaS deploy timeout
[pharos.git] / config / pdf / idf-pod1.schema.yaml
index 0705fcc..7546279 100644 (file)
@@ -14,14 +14,14 @@ definitions:
     v0.1:
       # NOTE: I hope this is going away soon, so I won't model it yet
       type: 'object'
-  daisy:
-    v0.1:
-      type: 'object'
-      # NOTE: To be properly modeled by Daisy maintainers
   compass:
     v0.1:
       type: 'object'
       # NOTE: To be properly modeled by Compass4NFV maintainers
+  daisy:
+    v0.1:
+      type: 'object'
+      # NOTE: To be properly modeled by Daisy maintainers
   fuel:
     v0.1:
       type: 'object'
@@ -42,6 +42,13 @@ definitions:
                   type: ['string', 'null']
               required: ['admin', 'mgmt', 'private', 'public']
               additionalProperties: false
+            trunks:
+              type: 'object'
+              properties:
+                mgmt:
+                  type: 'boolean'
+              required: ['mgmt']
+              additionalProperties: false
           required: ['bridges']
           additionalProperties: false
         maas:
@@ -56,6 +63,12 @@ definitions:
         network:
           type: 'object'
           properties:
+            interface_mtu:
+              type: 'number'
+            ntp_strata_host1:
+              type: 'string'
+            ntp_strata_host2:
+              type: 'string'
             node:
               type: 'array'
               items:
@@ -73,8 +86,81 @@ definitions:
                 additionalProperties: false
           required: ['node']
           additionalProperties: false
+        reclass:  # Optional
+          type: 'object'
+          properties:
+            node:
+              type: 'array'
+              items:
+                type: 'object'
+                properties:
+                  compute_params:
+                    type: 'object'
+                    properties:
+                      common:  # Optional
+                        type: 'object'
+                        properties: &compute_params_common_properties
+                          nova_cpu_pinning:  # Optional
+                            type: 'string'
+                          compute_hugepages_size:
+                            type: 'string'
+                            enum: ['2M', '1G']
+                          compute_hugepages_count:
+                            type: 'number'
+                          compute_hugepages_mount:
+                            type: 'string'
+                          compute_kernel_isolcpu:  # Optional
+                            type: 'string'
+                          compute_ovs_pmd_cpu_mask:  # Optional
+                            type: ['string', 'number']
+                          compute_ovs_memory_channels:  # Optional
+                            type: ['string', 'number']
+                        required: ['compute_hugepages_size', 'compute_hugepages_count',
+                                   'compute_hugepages_mount']
+                        additionalProperties: false
+                      dpdk:  # Optional
+                        type: 'object'
+                        properties:
+                          <<: *compute_params_common_properties
+                          compute_dpdk_driver:
+                            type: 'string'
+                          compute_ovs_dpdk_socket_mem:
+                            type: ['string', 'number']
+                          compute_ovs_dpdk_lcore_mask:
+                            type: ['string', 'number']
+                          dpdk0_driver:
+                            type: 'string'
+                          dpdk0_n_rxq:
+                            type: 'number'
+                        required: ['compute_dpdk_driver', 'dpdk0_driver', 'dpdk0_n_rxq',
+                                   'compute_ovs_dpdk_socket_mem',
+                                   'compute_ovs_dpdk_lcore_mask']
+                        additionalProperties: false
+                    additionalProperties: false
+                required: ['compute_params']
+                additionalProperties: false
+          required: ['node']
+          additionalProperties: false
       required: ['jumphost', 'network']
       additionalProperties: false
+  osa:
+    v0.1:
+      type: 'object'
+      properties:
+        nodes_roles:
+          type: 'object'
+        groups:
+          type: 'object'
+        hostnames:
+          type: 'object'
+        network:
+          type: 'object'
+      required: ['nodes_roles', 'groups', 'hostnames', 'network']
+      additionalProperties: false
+  kubespray:
+    v0.1:
+      type: ['object', 'null']
+      # NOTE: To be properly modeled by XCI maintainers
 
 ##############################################################################
 # Top-level structure:
@@ -94,15 +180,19 @@ properties:
         type: 'array'
         items:
           type: 'string'
-          enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid']
+          enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa', 'kubespray']
       net_config:
         type: 'object'
-      fuel:
+      compass:
         type: 'object'
       daisy:
         type: 'object'
-      compass:
+      fuel:
         type: 'object'
+      osa:
+        type: ['object', 'null']
+      kubespray:
+        type: ['object', 'null']
     required: ['version']
     additionalProperties: false
     ############################################################################
@@ -114,16 +204,27 @@ properties:
         properties:
           net_config:
             $ref: '#/definitions/net_config/v0.1'
-          fuel:
-            $ref: '#/definitions/fuel/v0.1'
-          daisy:
-            $ref: '#/definitions/daisy/v0.1'
           compass:
             $ref: '#/definitions/compass/v0.1'
+          daisy:
+            $ref: '#/definitions/daisy/v0.1'
+          fuel:
+            $ref: '#/definitions/fuel/v0.1'
+          osa:
+            $ref: '#/definitions/osa/v0.1'
+          kubespray:
+            $ref: '#/definitions/kubespray/v0.1'
       fuel:
         required: ['net_config']
       daisy:
         required: ['net_config']
+      osa:
+        required: ['net_config']
+      kubespray:
+        required: ['net_config']
+  xci:
+    type: 'object'
+    # NOTE: To be properly modeled by XCI maintainers
 
 # Do not allow any properties not defined here. This lets us catch typos.
 additionalProperties: false