diff options
author | Cristina Pauna <cristina.pauna@enea.com> | 2018-02-21 16:50:12 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2018-02-25 23:45:14 +0100 |
commit | 672ae12f6a4ef316230e6187692ec647786add9c (patch) | |
tree | 15f05fc9367267ebfdbeddc63ba225b30cfcc8c8 /mcp/reclass/classes/cluster/all-mcp-arch-common | |
parent | ebbd37dfb0605db89e84229fd891aa0cd141d1b0 (diff) |
[ovs/dpdk] Parameterize node-specific compute args
- node-specific parameters (nova pinning, hugepages, dpdk) should be
configurable via IDF, on a per-node basis;
- keep default settings for lf-pod2, with and without DPDK,
override them for virtual deploys via local-virtual1 IDF;
- leave neutron_tenant_* vars hardcoded for now, as they are required
on both ctl and cmp nodes - this way we'll deal stricly with
cmp params, so we can nicely pass them via config.yml to reclass
per-node (and not per-role), allowing mixed computes later;
- add compute params for ovs/odl-noha, preparing them for
deployment on baremetal later.
JIRA: ARMBAND-343
Change-Id: I89a58b9565679ab3882d85f07ae817690ae85c67
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Diffstat (limited to 'mcp/reclass/classes/cluster/all-mcp-arch-common')
-rw-r--r-- | mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 | 30 | ||||
-rw-r--r-- | mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 | 35 |
2 files changed, 61 insertions, 4 deletions
diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 index 54b2b5504..6cf04b33a 100644 --- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_dpdk_pdf.yml.j2 @@ -11,11 +11,33 @@ parameters: reclass: storage: node: - openstack_compute_node01: + # NOTE: Until SDF is in place, assume all computes are identical + openstack_compute_node01: &openstack_compute_node01 params: +{#- No partial defaults, all or nothing. Defaults tuned for lf-pod2. #} +{%- if conf.idf.fuel.reclass is defined %} +{%- if conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.dpdk is defined %} +{#- Can't dump json here due to dpdk0_* below, explicitly create yaml #} +{%- set _dpdk = conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.dpdk %} +{%- for _i in _dpdk %} + {{ _i }}: '"{{ _dpdk[_i] }}"' +{%- endfor %} +{%- endif %} +{%- else %} + nova_cpu_pinning: '"5-7,13-15"' + compute_hugepages_size: 2M + compute_hugepages_count: 8192 + compute_hugepages_mount: /mnt/hugepages_2M + compute_kernel_isolcpu: 2,3,5,6,7,10,11,13,14,15 + compute_dpdk_driver: uio + compute_ovs_pmd_cpu_mask: '"0xc04"' + compute_ovs_dpdk_socket_mem: '"2048,2048"' + compute_ovs_dpdk_lcore_mask: '"0x8"' + compute_ovs_memory_channels: '"2"' + dpdk0_driver: igb_uio + dpdk0_n_rxq: 2 +{%- endif %} dpdk0_name: {{ nm.cmp001.nic_private }} dpdk0_pci: '"{{ nm.cmp001.bus_private }}"' openstack_compute_node02: - params: - dpdk0_name: {{ nm.cmp001.nic_private }} - dpdk0_pci: '"{{ nm.cmp001.bus_private }}"' + <<: *openstack_compute_node01 diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 new file mode 100644 index 000000000..677f0c9a0 --- /dev/null +++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/config_pdf.yml.j2 @@ -0,0 +1,35 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +{%- import 'net_map.j2' as nm with context %} +--- +parameters: + reclass: + storage: + node: + # NOTE: Until SDF is in place, assume all computes are identical + openstack_compute_node01: &openstack_compute_node01 + params: +{#- No partial defaults, all or nothing. Defaults tuned for lf-pod2. #} +{%- if conf.idf.fuel.reclass is defined %} +{%- if conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.common is defined %} +{%- set _common = conf.idf.fuel.reclass.node[nm.cmp001.idx].compute_params.common %} +{%- for _i in _common %} + {{ _i }}: '"{{ _common[_i] }}"' +{%- endfor %} +{%- else %} + dummy_value: ~ +{%- endif %} +{%- else %} + nova_cpu_pinning: '"1,2,3,4,5,7,8,9,10,11"' + compute_hugepages_size: 1G + compute_hugepages_count: 16 + compute_hugepages_mount: /mnt/hugepages_1G + compute_kernel_isolcpu: ${_param:nova_cpu_pinning} +{%- endif %} + openstack_compute_node02: + <<: *openstack_compute_node01 |