Allow to specify underlay and salt roles separatelly

- Manage custom node roles with 'underlay' fixture and use the
  nodes names for 'execute_commands' templates:
    export ROLES='["role1", "role2", ...]'

- Install salt-minion on custom node roles from config.underlay.ssh
    export SALT_ROLES='["salt-role1", "salt-role2", ...]'

The SALT_ROLES allows to specify only the nodes for salt-minion, while
other nodes from ROLES will be available only for UnderlayManager.

Change-Id: Iab2d021ecf8a9f2fce6c322aea6439b8d1d11106
diff --git a/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml b/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
index 317021a..bcbcad0 100644
--- a/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
+++ b/tcp_tests/templates/virtual-mcp-pike-ovs-ceph/ceph.yaml
@@ -113,14 +113,23 @@
   retry: {count: 1, delay: 10}
   skip_fail: false
 
-{% for ssh in config.underlay.ssh %}
+{%- for ssh in config.underlay.ssh %}
+  {%- set salt_roles = [] %}
+  {%- for role in ssh['roles'] %}
+    {%- if role in config.salt_deploy.salt_roles %}
+      {%- set _ = salt_roles.append(role) %}
+    {%- endif %}
+  {%- endfor %}
+
+  {%- if salt_roles %}
 - description: Restart salt-minion as workaround of PROD-16970
   cmd: |
     service salt-minion restart;  # For case if salt-minion was already installed
   node_name: {{ ssh['node_name'] }}
   retry: {count: 1, delay: 1}
   skip_fail: false
-{% endfor %}
+  {%- endif %}
+{%- endfor %}
 
 - description: Connect ceph to glance
   cmd: |