diff options
author | Cristina Pauna <cristina.pauna@enea.com> | 2018-02-20 18:29:42 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-02-23 02:24:11 +0100 |
commit | 63e122a1d0e7e4ca402353d331f44eda63d966c3 (patch) | |
tree | 64650dd1c46bc5b400cfd31699e0c4ec78b29eb8 /config | |
parent | ffc697113c99fa1e955bdce068d67ca153898566 (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.yaml | 55 |
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: |