Blame SOURCES/network-tier1-tags.diff

8b3abe
diff --git a/tests/commonvars.yml b/tests/commonvars.yml
8b3abe
new file mode 100644
8b3abe
index 0000000..50452f7
8b3abe
--- /dev/null
8b3abe
+++ b/tests/commonvars.yml
8b3abe
@@ -0,0 +1,2 @@
8b3abe
+restore_services:
8b3abe
+  - NetworkManager
8b3abe
diff --git a/tests/get_services_state.yml b/tests/get_services_state.yml
8b3abe
new file mode 100644
8b3abe
index 0000000..4fe5d36
8b3abe
--- /dev/null
8b3abe
+++ b/tests/get_services_state.yml
8b3abe
@@ -0,0 +1,4 @@
8b3abe
+- name: Get initial state of services
8b3abe
+  tags: tests::cleanup
8b3abe
+  service_facts:
8b3abe
+  register: initial_state
8b3abe
diff --git a/tests/playbooks/tests_states.yml b/tests/playbooks/tests_states.yml
8b3abe
index 7a1e207..3c1f65d 100644
8b3abe
--- a/tests/playbooks/tests_states.yml
8b3abe
+++ b/tests/playbooks/tests_states.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 # SPDX-License-Identifier: BSD-3-Clause
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     interface: statebr
8b3abe
     profile: "{{ interface }}"
8b3abe
@@ -22,6 +24,8 @@
8b3abe
             ip:
8b3abe
               dhcp4: false
8b3abe
               auto6: false
8b3abe
+      tags:
8b3abe
+        - 'tests::net::bridge'
8b3abe
     - include_tasks: tasks/assert-device_present.yml
8b3abe
     - include_tasks: tasks/assert-profile_present.yml
8b3abe
 
8b3abe
@@ -47,3 +51,28 @@
8b3abe
             state: down
8b3abe
     - include_tasks: tasks/assert-device_absent.yml
8b3abe
     - include_tasks: tasks/assert-profile_absent.yml
8b3abe
+
8b3abe
+  pre_tasks:
8b3abe
+    - name: Save host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: "../save_state.yml"
8b3abe
+
8b3abe
+  post_tasks:
8b3abe
+    - name: Remove test profile
8b3abe
+      tags:
8b3abe
+        - 'tests::cleanup'
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+        - 'tests::net::bridge::cleanup'
8b3abe
+      import_role:
8b3abe
+        name: linux-system-roles.network
8b3abe
+      vars:
8b3abe
+        network_connections:
8b3abe
+          - name: statebr
8b3abe
+            state: down
8b3abe
+            persistent_state: absent
8b3abe
+
8b3abe
+    - name: Restore host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: "../restore_state.yml"
8b3abe
diff --git a/tests/playbooks/tests_vlan_mtu.yml b/tests/playbooks/tests_vlan_mtu.yml
8b3abe
index ae0322e..bf6e518 100644
8b3abe
--- a/tests/playbooks/tests_vlan_mtu.yml
8b3abe
+++ b/tests/playbooks/tests_vlan_mtu.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 # SPDX-License-Identifier: BSD-3-Clause
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     type: veth
8b3abe
     interface: lsr101
8b3abe
@@ -10,6 +12,8 @@
8b3abe
     - include_tasks: tasks/manage-test-interface.yml
8b3abe
       vars:
8b3abe
         state: present
8b3abe
+      tags:
8b3abe
+        - 'tests::net::veth'
8b3abe
     - include_tasks: tasks/assert-device_present.yml
8b3abe
     - name: "TEST: I can configure the MTU for a vlan interface without autoconnect."
8b3abe
       debug:
8b3abe
@@ -37,6 +41,8 @@
8b3abe
             ip:
8b3abe
               dhcp4: false
8b3abe
               auto6: false
8b3abe
+      tags:
8b3abe
+        - 'tests::net::reconf'
8b3abe
     - include_tasks: tasks/assert-device_present.yml
8b3abe
       vars:
8b3abe
         interface: "{{ vlan_interface }}"
8b3abe
@@ -61,6 +67,26 @@
8b3abe
             persistent_state: absent
8b3abe
             state: down
8b3abe
       ignore_errors: true
8b3abe
+      tags:
8b3abe
+        - 'tests::cleanup'
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+        - 'tests::net::veth::cleanup'
8b3abe
     - include_tasks: tasks/manage-test-interface.yml
8b3abe
       vars:
8b3abe
         state: absent
8b3abe
+      tags:
8b3abe
+        - 'tests::cleanup'
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+        - 'tests::net::veth::cleanup'
8b3abe
+
8b3abe
+  pre_tasks:
8b3abe
+    - name: Save host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: "../save_state.yml"
8b3abe
+
8b3abe
+  post_tasks:
8b3abe
+    - name: Restore host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: "../restore_state.yml"
8b3abe
diff --git a/tests/restore_services_state.yml b/tests/restore_services_state.yml
8b3abe
new file mode 100644
8b3abe
index 0000000..2035dfc
8b3abe
--- /dev/null
8b3abe
+++ b/tests/restore_services_state.yml
8b3abe
@@ -0,0 +1,22 @@
8b3abe
+- block:
8b3abe
+    - name: load common vars
8b3abe
+      include_vars:
8b3abe
+        file: commonvars.yml
8b3abe
+
8b3abe
+    - name: Get final state of services
8b3abe
+      service_facts:
8b3abe
+      register: final_state
8b3abe
+
8b3abe
+    - name: Restore state of services
8b3abe
+      service:
8b3abe
+        name: "{{ item }}"
8b3abe
+        state: "{{ 'started' if
8b3abe
+                   initial_state.ansible_facts.services[sname]['state']
8b3abe
+                   == 'running' else 'stopped' }}"
8b3abe
+      when:
8b3abe
+         - sname in final_state.ansible_facts.services
8b3abe
+         - sname in initial_state.ansible_facts.services
8b3abe
+      vars:
8b3abe
+        sname: "{{ item + '.service' }}"
8b3abe
+      with_items: "{{ restore_services }}"
8b3abe
+  tags: tests::cleanup
8b3abe
diff --git a/tests/restore_state.yml b/tests/restore_state.yml
8b3abe
new file mode 100644
8b3abe
index 0000000..f4e3d5f
8b3abe
--- /dev/null
8b3abe
+++ b/tests/restore_state.yml
8b3abe
@@ -0,0 +1,24 @@
8b3abe
+---
8b3abe
+- name: Remove /etc/sysconfig/network if there was no one
8b3abe
+  tags:
8b3abe
+    - 'tests::cleanup'
8b3abe
+  file:
8b3abe
+    path: /etc/sysconfig/network
8b3abe
+    state: absent
8b3abe
+  when:
8b3abe
+    - etc_sysconfig_network_stat is defined
8b3abe
+    - not etc_sysconfig_network_stat.stat.exists
8b3abe
+
8b3abe
+- name: Restore services
8b3abe
+  import_tasks: restore_services_state.yml
8b3abe
+
8b3abe
+- name: reload NetworkManager
8b3abe
+  tags:
8b3abe
+    - 'tests::cleanup'
8b3abe
+  command: nmcli connection reload
8b3abe
+  when:
8b3abe
+    - sname in final_state.ansible_facts.services
8b3abe
+    - sname in initial_state.ansible_facts.services
8b3abe
+    - final_state.ansible_facts.services[sname]['state'] == 'running'
8b3abe
+  vars:
8b3abe
+    sname: NetworkManager.service
8b3abe
diff --git a/tests/save_state.yml b/tests/save_state.yml
8b3abe
new file mode 100644
8b3abe
index 0000000..5690aed
8b3abe
--- /dev/null
8b3abe
+++ b/tests/save_state.yml
8b3abe
@@ -0,0 +1,11 @@
8b3abe
+---
8b3abe
+- name: Get services state
8b3abe
+  import_tasks: get_services_state.yml
8b3abe
+
8b3abe
+- name: Investigate /etc/sysconfig/network presence
8b3abe
+  tags:
8b3abe
+    - 'tests::cleanup'
8b3abe
+  stat:
8b3abe
+    path: /etc/sysconfig/network
8b3abe
+  register: etc_sysconfig_network_stat
8b3abe
+  ignore_errors: yes
8b3abe
diff --git a/tests/tests_bridge.yml b/tests/tests_bridge.yml
8b3abe
index 9ead308..394d392 100644
8b3abe
--- a/tests/tests_bridge.yml
8b3abe
+++ b/tests/tests_bridge.yml
8b3abe
@@ -1,7 +1,17 @@
8b3abe
 # SPDX-License-Identifier: BSD-3-Clause
8b3abe
 ---
8b3abe
+- name: Save host state
8b3abe
+  hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+  tasks:
8b3abe
+    - import_tasks: save_state.yml
8b3abe
+
8b3abe
 - name: Test configuring bridges
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     interface: LSR-TST-br31
8b3abe
 
8b3abe
@@ -14,6 +24,9 @@
8b3abe
 
8b3abe
 - name: Add test bridge
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::net::bridge'
8b3abe
   vars:
8b3abe
     network_connections:
8b3abe
       - name: "{{ interface }}"
8b3abe
@@ -27,24 +40,40 @@
8b3abe
     - linux-system-roles.network
8b3abe
 
8b3abe
 - import_playbook: run-tasks.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     task: tasks/assert-device_present.yml
8b3abe
 
8b3abe
 - import_playbook: run-tasks.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
     task: tasks/assert-profile_present.yml
8b3abe
 
8b3abe
 - import_playbook: down-profile.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+    - 'tests::net::bridge::cleanup'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
 # FIXME: assert profile/device down
8b3abe
 
8b3abe
 - import_playbook: remove-profile.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+    - 'tests::net::bridge::cleanup'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
 
8b3abe
 - import_playbook: run-tasks.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
     task: tasks/assert-profile_absent.yml
8b3abe
@@ -53,3 +82,22 @@
8b3abe
 #- import_playbook: run-tasks.yml
8b3abe
 #  vars:
8b3abe
 #    task: tasks/assert-device_absent.yml
8b3abe
+
8b3abe
+- name: Remove test bridge
8b3abe
+  hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+    - 'tests::net::bridge::cleanup'
8b3abe
+  tasks:
8b3abe
+    - command: 'ip link delete "{{ interface }}"'
8b3abe
+      ignore_errors: yes
8b3abe
+
8b3abe
+- name: Restore host state
8b3abe
+  hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+  tasks:
8b3abe
+    - import_tasks: restore_state.yml
8b3abe
diff --git a/tests/tests_bridge_other_provider.yml b/tests/tests_bridge_other_provider.yml
8b3abe
index e5a4ad7..4d1d2dd 100644
8b3abe
--- a/tests/tests_bridge_other_provider.yml
8b3abe
+++ b/tests/tests_bridge_other_provider.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
   name: Run playbook 'tests_bridge.yml' with non-default provider
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
   - name: Get service facts
8b3abe
     service_facts: null
8b3abe
diff --git a/tests/tests_default.yml b/tests/tests_default.yml
8b3abe
index fda6ed5..0ce3ab9 100644
8b3abe
--- a/tests/tests_default.yml
8b3abe
+++ b/tests/tests_default.yml
8b3abe
@@ -2,5 +2,19 @@
8b3abe
 ---
8b3abe
 - name: Test executing the role with default parameters
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   roles:
8b3abe
     - linux-system-roles.network
8b3abe
+
8b3abe
+  pre_tasks:
8b3abe
+    - name: Save host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: save_state.yml
8b3abe
+
8b3abe
+  post_tasks:
8b3abe
+    - name: Restore host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: restore_state.yml
8b3abe
diff --git a/tests/tests_default_other_provider.yml b/tests/tests_default_other_provider.yml
8b3abe
index 697bc57..0c70dac 100644
8b3abe
--- a/tests/tests_default_other_provider.yml
8b3abe
+++ b/tests/tests_default_other_provider.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
   name: Run playbook 'tests_default.yml' with non-default provider
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
   - name: Get service facts
8b3abe
     service_facts: null
8b3abe
diff --git a/tests/tests_ethernet.yml b/tests/tests_ethernet.yml
8b3abe
index 25f117d..c85f853 100644
8b3abe
--- a/tests/tests_ethernet.yml
8b3abe
+++ b/tests/tests_ethernet.yml
8b3abe
@@ -1,6 +1,16 @@
8b3abe
 # SPDX-License-Identifier: BSD-3-Clause
8b3abe
 ---
8b3abe
+- name: Save host state
8b3abe
+  hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+  tasks:
8b3abe
+    - import_tasks: save_state.yml
8b3abe
+
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - debug:
8b3abe
         msg: Inside ethernet tests
8b3abe
@@ -9,6 +19,9 @@
8b3abe
 
8b3abe
 - name: Test configuring ethernet devices
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::net::veth'
8b3abe
   vars:
8b3abe
     type: veth
8b3abe
     interface: lsr27
8b3abe
@@ -18,6 +31,7 @@
8b3abe
       set_fact:
8b3abe
         type: "{{ type }}"
8b3abe
         interface: "{{ interface }}"
8b3abe
+#        cacheable: yes
8b3abe
     - include_tasks: tasks/show-interfaces.yml
8b3abe
     - include_tasks: tasks/manage-test-interface.yml
8b3abe
       vars:
8b3abe
@@ -26,6 +40,9 @@
8b3abe
 
8b3abe
 - name: Test static interface up
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::net::reconf'
8b3abe
   vars:
8b3abe
     network_connections:
8b3abe
       - name: "{{ interface }}"
8b3abe
@@ -39,6 +56,8 @@
8b3abe
     - linux-system-roles.network
8b3abe
 
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - debug:
8b3abe
         var: network_provider
8b3abe
@@ -46,17 +65,38 @@
8b3abe
 # FIXME: assert profile present
8b3abe
 # FIXME: assert profile/device up + IP address
8b3abe
 - import_playbook: down-profile.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
 # FIXME: assert profile/device down
8b3abe
 - import_playbook: remove-profile.yml
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
   vars:
8b3abe
     profile: "{{ interface }}"
8b3abe
 # FIXME: assert profile away
8b3abe
 - name: Remove interfaces
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::cleanup'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+    - 'tests::net::veth::cleanup'
8b3abe
   tasks:
8b3abe
     - include_tasks: tasks/manage-test-interface.yml
8b3abe
       vars:
8b3abe
         state: absent
8b3abe
     - include_tasks: tasks/assert-device_absent.yml
8b3abe
+
8b3abe
+- name: Restore host state
8b3abe
+  hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
+    - 'tests::tier1::cleanup'
8b3abe
+  tasks:
8b3abe
+    - import_tasks: restore_state.yml
8b3abe
diff --git a/tests/tests_ethernet_other_provider.yml b/tests/tests_ethernet_other_provider.yml
8b3abe
index 456b052..5a5dbb0 100644
8b3abe
--- a/tests/tests_ethernet_other_provider.yml
8b3abe
+++ b/tests/tests_ethernet_other_provider.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
   name: Run playbook 'tests_ethernet.yml' with non-default provider
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
   - name: Get service facts
8b3abe
     service_facts: null
8b3abe
diff --git a/tests/tests_helpers-and-asserts.yml b/tests/tests_helpers-and-asserts.yml
8b3abe
index 36f02c2..b44599a 100644
8b3abe
--- a/tests/tests_helpers-and-asserts.yml
8b3abe
+++ b/tests/tests_helpers-and-asserts.yml
8b3abe
@@ -2,6 +2,8 @@
8b3abe
 ---
8b3abe
 - name: Check that creating and removing test devices and assertions work
8b3abe
   hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - name: test veth interface management
8b3abe
       include_tasks: tasks/create-and-remove-interface.yml
8b3abe
@@ -15,6 +17,18 @@
8b3abe
         type: dummy
8b3abe
         interface: dummy1298
8b3abe
 
8b3abe
+  pre_tasks:
8b3abe
+    - name: Save host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: save_state.yml
8b3abe
+
8b3abe
+  post_tasks:
8b3abe
+    - name: Restore host state
8b3abe
+      tags:
8b3abe
+        - 'tests::tier1::cleanup'
8b3abe
+      import_tasks: restore_state.yml
8b3abe
+
8b3abe
 # FIXME: when: does not seem to work with include_tasks, therefore this cannot be safely tested for now
8b3abe
 #    - name: test tap interfaces
8b3abe
 #      include_tasks: tasks/create-and-remove-interface.yml
8b3abe
diff --git a/tests/tests_states.yml b/tests/tests_states.yml
8b3abe
index eff3436..46cfe87 100644
8b3abe
--- a/tests/tests_states.yml
8b3abe
+++ b/tests/tests_states.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 # empty playbook to gather facts for import_playbook when clause
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
 
8b3abe
 # workaround for: https://github.com/ansible/ansible/issues/27973
8b3abe
 # There is no way in Ansible to abort a playbook hosts with specific OS
8b3abe
diff --git a/tests/tests_unit.yml b/tests/tests_unit.yml
8b3abe
index c6ea4ef..8d56cf4 100644
8b3abe
--- a/tests/tests_unit.yml
8b3abe
+++ b/tests/tests_unit.yml
8b3abe
@@ -2,6 +2,8 @@
8b3abe
 ---
8b3abe
 - hosts: all
8b3abe
   name: Setup for test running
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - name: Install EPEL on enterprise Linux for python2-mock
8b3abe
       command: yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
8b3abe
@@ -27,6 +29,8 @@
8b3abe
 
8b3abe
 - hosts: all
8b3abe
   name: execute python unit tests
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - name: Copy python modules
8b3abe
       copy:
8b3abe
diff --git a/tests/tests_vlan_mtu_initscripts.yml b/tests/tests_vlan_mtu_initscripts.yml
8b3abe
index a57db4b..d3a48c7 100644
8b3abe
--- a/tests/tests_vlan_mtu_initscripts.yml
8b3abe
+++ b/tests/tests_vlan_mtu_initscripts.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 # set network provider and gather facts
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - name: Set network provider to 'initscripts'
8b3abe
       set_fact:
8b3abe
diff --git a/tests/tests_vlan_mtu_nm.yml b/tests/tests_vlan_mtu_nm.yml
8b3abe
index d830817..68b61b5 100644
8b3abe
--- a/tests/tests_vlan_mtu_nm.yml
8b3abe
+++ b/tests/tests_vlan_mtu_nm.yml
8b3abe
@@ -1,6 +1,8 @@
8b3abe
 ---
8b3abe
 # set network provider and gather facts
8b3abe
 - hosts: all
8b3abe
+  tags:
8b3abe
+    - 'tests::tier1'
8b3abe
   tasks:
8b3abe
     - name: Set network provider to 'nm'
8b3abe
       set_fact: