arm-pod10: Increase MaaS deploy timeout
[pharos.git] / config / pdf / idf-pod1.schema.yaml
index b23a82e..7546279 100644 (file)
@@ -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,11 +86,80 @@ 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
 
 ##############################################################################
@@ -98,7 +180,7 @@ properties:
         type: 'array'
         items:
           type: 'string'
-          enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa']
+          enum: ['apex', 'compass4nfv', 'daisy', 'fuel', 'joid', 'osa', 'kubespray']
       net_config:
         type: 'object'
       compass:
@@ -108,7 +190,9 @@ properties:
       fuel:
         type: 'object'
       osa:
-        type: 'object'
+        type: ['object', 'null']
+      kubespray:
+        type: ['object', 'null']
     required: ['version']
     additionalProperties: false
     ############################################################################
@@ -128,12 +212,19 @@ properties:
             $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