[fdio] Bump VPP to 19.08.1-release
[fuel.git] / mcp / scripts / xdf_data.sh.j2
index c0629fe..79bc16c 100644 (file)
 #
 
 {%- import 'net_map.j2' as nm with context -%}
+{%- set cluster_states = conf.cluster.states if conf.MCP_NO_DEPLOY_ENVIRONMENT < 2 else [] -%}
 {%- set arch = conf[conf.MCP_JUMP_ARCH] -%}
 {%- set V = conf.virtual -%}
 {%- set section_map = {
-  'infra': -1,
   'control': nm.ctl01.idx,
   'compute': nm.cmp001.idx
 } -%}
 {%- macro serialize_vnodes() -%}
   {%- set arr = [] -%}
   {%- for section in section_map -%}
-    {%- for n in V.nodes[section] -%}
-      {%- if section_map[section] < 0 or conf.nodes[section_map[section] + loop.index0].node.type == 'virtual' -%}
+    {%- for n in V.nodes[section] or [] -%}
+      {%- if ( section_map[section] < conf.nodes | length and
+               conf.nodes[section_map[section] + loop.index0].node.type == 'virtual' ) -%}
         {%- if n not in V -%}{%- do V.update({n: {}}) -%}{%- endif -%}
-        {%- do arr.append(pack([n, V[n].ram or arch.default.ram,
-                                   V[n].vcpus or arch.default.vcpus])) -%}
+        {%- 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].disks or arch.default.disks,
+                                   V[n].ram or arch.default.ram,
+                                   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 -%}
 {%- macro filter_nodes(type, output_as_query = False, sections = section_map) -%}
   {%- set arr = [] -%}
   {%- for section in sections -%}
-    {%- for n in V.nodes[section] -%}
-      {%- 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) ) -%}
+    {%- for n in V.nodes[section] or [] -%}
+      {%- if ( section_map[section] < conf.nodes | length and
+               conf.nodes[section_map[section] + loop.index0].node.type in type ) -%}
         {%- do arr.append(n) -%}
       {%- endif -%}
     {%- endfor -%}
   {%- endif -%}
 {%- endmacro -%}
 
-{#- Pack apt_pkg data as string -#}
-{%- macro serialize_apt_pkg() -%}
+{#- Pack repo_pkg data as string -#}
+{%- macro serialize_repo_pkg() -%}
   {%- set arr = [] -%}
-  {%- set sections = [arch.common] -%}
-  {%- if conf.MCP_VCP -%}
-    {%- do sections.append(arch.control) -%}
+  {%- set sections = [arch[conf.MCP_OS].common] -%}
+  {%- if conf.MCP_VCP or '-vcp-' in conf.MCP_DEPLOY_SCENARIO -%}
+    {%- do sections.append(arch[conf.MCP_OS].control) -%}
   {%- endif -%}
   {%- for c in sections -%}
-    {%- do arr.append(pack([pack(c.apt['keys']), pack(c.apt.repos),
+    {%- do arr.append(pack([pack(c.repo['keys']), pack(c.repo.repos),
                             pack(c.pkg.install), pack(c.pkg.remove)], '^')) -%}
   {%- endfor -%}
   '{{ pack(arr, '^') }}'
@@ -87,15 +100,18 @@ OPNFV_BRIDGES=(
 )
 
 export CLUSTER_DOMAIN={{ conf.cluster.domain }}
-cluster_states={{ bash_arr(conf.cluster.states) }}
+dns_public={{ nm.dns_public[0] }}
+cluster_states={{ bash_arr(arch.default.cluster.states + cluster_states) }}
 virtual_nodes={{ filter_nodes('virtual') }}
 control_nodes_query={{ filter_nodes(['baremetal', 'virtual'], True, ['control']) }}
-base_image={{ arch.base_image }}
+base_image={{ arch[conf.MCP_OS].base_image }}
 
-# Serialize vnode data as '<name0>,<ram0>,<vcpu0>|<name1>,<ram1>,<vcpu1>[...]'
+# Serialize vnode data as:
+#   <name0>,<ram0>,<vcpu0>[,<sockets0>,<cores0>,<threads0>[,<cell0name0>,<cell0memory0>,
+#   <cell0cpus0>,<cell1name0>,<cell1memory0>,<cell1cpus0>]]|<name1>,...'
 virtual_nodes_data={{ serialize_vnodes() }}
 
 # Serialize repos, packages to (pre-)install/remove for:
 # - foundation node VM base image (virtual: all VMs, baremetal: cfg01|mas01)
 # - virtualized control plane VM base image (only when VCP is used)
-virtual_repos_pkgs={{ serialize_apt_pkg() }}
+virtual_repos_pkgs={{ serialize_repo_pkg() }}