diff --git a/contrib/os-services/os-services.yml b/contrib/os-services/os-services.yml
new file mode 100644
index 0000000000000000000000000000000000000000..34c9d8c4b4f3bb0442fcebd37c1de1567df6ccfa
--- /dev/null
+++ b/contrib/os-services/os-services.yml
@@ -0,0 +1,4 @@
+---
+- hosts: all
+  roles:
+    - { role: prepare }
diff --git a/contrib/os-services/roles/prepare/defaults/main.yml b/contrib/os-services/roles/prepare/defaults/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9c4a149056422926bcccb1f3266b625cf9ee53c4
--- /dev/null
+++ b/contrib/os-services/roles/prepare/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+disable_service_firewall: false
diff --git a/contrib/os-services/roles/prepare/tasks/main.yml b/contrib/os-services/roles/prepare/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ddae80ce9ebe3886c7bd7a4ee922c4e1e6bc39d8
--- /dev/null
+++ b/contrib/os-services/roles/prepare/tasks/main.yml
@@ -0,0 +1,23 @@
+---
+- block:
+  - name: List services
+    service_facts:
+
+  - name: Disable service firewalld
+    systemd:
+      name: firewalld
+      state: stopped
+      enabled: no
+    when:
+      "'firewalld.service' in services"
+
+  - name: Disable service ufw
+    systemd:
+      name: ufw
+      state: stopped
+      enabled: no
+    when:
+      "'ufw.service' in services"
+
+  when:
+  - disable_service_firewall