summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorCristina Pauna <cristina.pauna@enea.com>2018-02-20 18:29:42 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-02-23 02:24:11 +0100
commit63e122a1d0e7e4ca402353d331f44eda63d966c3 (patch)
tree64650dd1c46bc5b400cfd31699e0c4ec78b29eb8 /config
parentffc697113c99fa1e955bdce068d67ca153898566 (diff)
[fuel] IDF: Add DPDK parameters support
In order to enable DPDK for OVS scenarios in Armband, we need DPDK specific configuration to be parameterizable. The default DPDK configuration values will remain in Fuel repo and will be overriden with the values defined in IDF (only if present). Since hugepage config and CPU pinning also apply to non-DPDK scenarios, handle them together for 'common', respectively 'dpdk'. To keep things simple, we will reuse the format expected by Fuel's reclass model, so we can pass the whole config block as-is. - IDF schema: fuel: Add strict checking of new block's structure, while allowing the rvalues to be more or less freestyle; - arm-pod6 IDF: Add initial config block implementation; JIRA: ARMBAND-342 Change-Id: I9224f06bb6b9fb2387414eb2a1be35461c27fb99 Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Diffstat (limited to 'config')
-rw-r--r--config/pdf/idf-pod1.schema.yaml55
1 files changed, 55 insertions, 0 deletions
diff --git a/config/pdf/idf-pod1.schema.yaml b/config/pdf/idf-pod1.schema.yaml
index b23a82e3..857749c4 100644
--- a/config/pdf/idf-pod1.schema.yaml
+++ b/config/pdf/idf-pod1.schema.yaml
@@ -73,6 +73,61 @@ 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: