X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=mcp%2Fscripts%2Fxdf_data.sh.j2;h=e762fe9572bbd02d4ea1a7a22320ab25bf195d61;hb=904183e275ca6b2aa6cad11a330fc060d5379b3e;hp=bc01077617b143a2c78c595807da79e450d4c9f3;hpb=bef972ea691f73527a845cd8a8b89f1958eb9cb2;p=fuel.git diff --git a/mcp/scripts/xdf_data.sh.j2 b/mcp/scripts/xdf_data.sh.j2 index bc0107761..e762fe957 100644 --- a/mcp/scripts/xdf_data.sh.j2 +++ b/mcp/scripts/xdf_data.sh.j2 @@ -14,6 +14,7 @@ {%- import 'net_map.j2' as nm with context -%} {%- set arch = conf[conf.MCP_JUMP_ARCH] -%} {%- set V = conf.virtual -%} +{%- do V.nodes.update(arch.default.virtual.nodes) -%} {%- set section_map = { 'infra': -1, 'control': nm.ctl01.idx, @@ -33,11 +34,23 @@ {%- macro serialize_vnodes() -%} {%- set arr = [] -%} {%- for section in section_map -%} - {%- for n in V.nodes[section] -%} + {%- for n in V.nodes[section] or [] -%} {%- if section_map[section] < 0 or conf.nodes[section_map[section] + loop.index0].node.type == 'virtual' -%} {%- if n not in V -%}{%- do V.update({n: {}}) -%}{%- endif -%} + {%- set cpu_topo = 'cpu_topology' in V[n] and not conf.MCP_CMP_SS -%} + {%- if 'numa' in V[n] and cpu_topo -%} + {%- for k, v in V[n].numa.iteritems() -%} + {%- set c = pack([k, v.memory, v.cpus]) -%} + {%- do V[n].update({'s_numa': c if 's_numa' not in V[n] else pack([c, V[n].s_numa])}) -%} + {%- endfor -%} + {%- endif -%} {%- do arr.append(pack([n, V[n].ram or arch.default.ram, - V[n].vcpus or arch.default.vcpus])) -%} + V[n].vcpus or arch.default.vcpus, + '' if not cpu_topo else pack([ + V[n].cpu_topology.sockets, + V[n].cpu_topology.cores, + V[n].cpu_topology.threads, + '' if 's_numa' not in V[n] else V[n].s_numa])])) -%} {%- endif -%} {%- endfor -%} {%- endfor -%} @@ -48,7 +61,7 @@ {%- macro filter_nodes(type, output_as_query = False, sections = section_map) -%} {%- set arr = [] -%} {%- for section in sections -%} - {%- for n in V.nodes[section] -%} + {%- for n in V.nodes[section] or [] -%} {%- if ( (section_map[section] < 0 and type == 'virtual') or (section_map[section] >= 0 and conf.nodes[section_map[section] + loop.index0].node.type in type) ) -%} @@ -87,11 +100,14 @@ OPNFV_BRIDGES=( ) export CLUSTER_DOMAIN={{ conf.cluster.domain }} -cluster_states={{ bash_arr(conf.cluster.states) }} +cluster_states={{ bash_arr(arch.default.cluster.states + conf.cluster.states) }} virtual_nodes={{ filter_nodes('virtual') }} +control_nodes_query={{ filter_nodes(['baremetal', 'virtual'], True, ['control']) }} base_image={{ arch.base_image }} -# Serialize vnode data as ',,|,,[...]' +# Serialize vnode data as: +# ,,[,,,[,,, +# ,,,]]|,...' virtual_nodes_data={{ serialize_vnodes() }} # Serialize repos, packages to (pre-)install/remove for: