import rhel-system-roles-1.0-9.el8
This commit is contained in:
commit
01597c6efd
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
SOURCES/kdump-0c2bb28.tar.gz
|
||||||
|
SOURCES/network-d5891d4.tar.gz
|
||||||
|
SOURCES/postfix-0.1.tar.gz
|
||||||
|
SOURCES/selinux-6cd1ec8.tar.gz
|
||||||
|
SOURCES/storage-1594e25.tar.gz
|
||||||
|
SOURCES/timesync-924650d.tar.gz
|
6
.rhel-system-roles.metadata
Normal file
6
.rhel-system-roles.metadata
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
36b200d1c6a8d1cb1ea87e3e9aa8c4f6bbd8155d SOURCES/kdump-0c2bb28.tar.gz
|
||||||
|
530aaa9302d90c278b9e1c8d8513e516494e3380 SOURCES/network-d5891d4.tar.gz
|
||||||
|
66c82331f4ac9598c506c3999965b4d07dbfe49d SOURCES/postfix-0.1.tar.gz
|
||||||
|
246383bd6823533ed3a51a0501b75e38ba852908 SOURCES/selinux-6cd1ec8.tar.gz
|
||||||
|
aa1c37b04cef831148d9834033fe414156ba62df SOURCES/storage-1594e25.tar.gz
|
||||||
|
ffd2a706e4e3007684aa9874c8457ad5c8920050 SOURCES/timesync-924650d.tar.gz
|
100
SOURCES/kdump-tier1-tags.diff
Normal file
100
SOURCES/kdump-tier1-tags.diff
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
diff --git a/tests/commonvars.yml b/tests/commonvars.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2cd3566
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/commonvars.yml
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+restore_services:
|
||||||
|
+ - kdump
|
||||||
|
diff --git a/tests/get_services_state.yml b/tests/get_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4fe5d36
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/get_services_state.yml
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+- name: Get initial state of services
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
+ service_facts:
|
||||||
|
+ register: initial_state
|
||||||
|
diff --git a/tests/restore_services_state.yml b/tests/restore_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2035dfc
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/restore_services_state.yml
|
||||||
|
@@ -0,0 +1,22 @@
|
||||||
|
+- block:
|
||||||
|
+ - name: load common vars
|
||||||
|
+ include_vars:
|
||||||
|
+ file: commonvars.yml
|
||||||
|
+
|
||||||
|
+ - name: Get final state of services
|
||||||
|
+ service_facts:
|
||||||
|
+ register: final_state
|
||||||
|
+
|
||||||
|
+ - name: Restore state of services
|
||||||
|
+ service:
|
||||||
|
+ name: "{{ item }}"
|
||||||
|
+ state: "{{ 'started' if
|
||||||
|
+ initial_state.ansible_facts.services[sname]['state']
|
||||||
|
+ == 'running' else 'stopped' }}"
|
||||||
|
+ when:
|
||||||
|
+ - sname in final_state.ansible_facts.services
|
||||||
|
+ - sname in initial_state.ansible_facts.services
|
||||||
|
+ vars:
|
||||||
|
+ sname: "{{ item + '.service' }}"
|
||||||
|
+ with_items: "{{ restore_services }}"
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
diff --git a/tests/tests_default.yml b/tests/tests_default.yml
|
||||||
|
index 4c93830..60d7967 100644
|
||||||
|
--- a/tests/tests_default.yml
|
||||||
|
+++ b/tests/tests_default.yml
|
||||||
|
@@ -1,6 +1,18 @@
|
||||||
|
|
||||||
|
- name: Ensure that the rule runs with default parameters
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- kdump
|
||||||
|
+
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_default_wrapper.yml b/tests/tests_default_wrapper.yml
|
||||||
|
index 2763fbd..617acb3 100644
|
||||||
|
--- a/tests/tests_default_wrapper.yml
|
||||||
|
+++ b/tests/tests_default_wrapper.yml
|
||||||
|
@@ -1,6 +1,9 @@
|
||||||
|
---
|
||||||
|
- name: Create static inventory from hostvars
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
tasks:
|
||||||
|
- name: create temporary file
|
||||||
|
tempfile:
|
||||||
|
@@ -17,10 +20,16 @@
|
||||||
|
|
||||||
|
|
||||||
|
- name: Run tests_default.yml normally
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
import_playbook: tests_default.yml
|
||||||
|
|
||||||
|
- name: Run tests_default.yml in check_mode
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
tasks:
|
||||||
|
- name: Run ansible-playbook with tests_default.yml in check mode
|
||||||
|
command: ansible-playbook -vvv -i {{ tempinventory.path }} --check tests_default.yml
|
6
SOURCES/md2html.sh
Normal file
6
SOURCES/md2html.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
for file in "$@"; do
|
||||||
|
pandoc -f markdown_github "${file}" -t asciidoc -o "${file%.md}.tmp.adoc" ||exit $?
|
||||||
|
touch -r "${file}" "${file%.md}.tmp.adoc" ||exit $?
|
||||||
|
TZ=UTC asciidoc -o "${file%.md}.html" -a footer-style=none -a toc2 -a source-highlighter=highlight "${file%.md}.tmp.adoc" ||exit $?
|
||||||
|
rm "${file%.md}.tmp.adoc"
|
||||||
|
done
|
6
SOURCES/network-permissions.diff
Normal file
6
SOURCES/network-permissions.diff
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
diff --git a/library/network_connections.py b/library/network_connections.py
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
||||||
|
diff --git a/tests/unit/test_network_connections.py b/tests/unit/test_network_connections.py
|
||||||
|
old mode 100755
|
||||||
|
new mode 100644
|
551
SOURCES/network-tier1-tags.diff
Normal file
551
SOURCES/network-tier1-tags.diff
Normal file
@ -0,0 +1,551 @@
|
|||||||
|
diff --git a/tests/commonvars.yml b/tests/commonvars.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..50452f7
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/commonvars.yml
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+restore_services:
|
||||||
|
+ - NetworkManager
|
||||||
|
diff --git a/tests/get_services_state.yml b/tests/get_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4fe5d36
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/get_services_state.yml
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+- name: Get initial state of services
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
+ service_facts:
|
||||||
|
+ register: initial_state
|
||||||
|
diff --git a/tests/playbooks/tests_states.yml b/tests/playbooks/tests_states.yml
|
||||||
|
index 7a1e207..3c1f65d 100644
|
||||||
|
--- a/tests/playbooks/tests_states.yml
|
||||||
|
+++ b/tests/playbooks/tests_states.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
interface: statebr
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
@@ -22,6 +24,8 @@
|
||||||
|
ip:
|
||||||
|
dhcp4: false
|
||||||
|
auto6: false
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::net::bridge'
|
||||||
|
- include_tasks: tasks/assert-device_present.yml
|
||||||
|
- include_tasks: tasks/assert-profile_present.yml
|
||||||
|
|
||||||
|
@@ -47,3 +51,28 @@
|
||||||
|
state: down
|
||||||
|
- include_tasks: tasks/assert-device_absent.yml
|
||||||
|
- include_tasks: tasks/assert-profile_absent.yml
|
||||||
|
+
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Save host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: "../save_state.yml"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Remove test profile
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::bridge::cleanup'
|
||||||
|
+ import_role:
|
||||||
|
+ name: linux-system-roles.network
|
||||||
|
+ vars:
|
||||||
|
+ network_connections:
|
||||||
|
+ - name: statebr
|
||||||
|
+ state: down
|
||||||
|
+ persistent_state: absent
|
||||||
|
+
|
||||||
|
+ - name: Restore host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: "../restore_state.yml"
|
||||||
|
diff --git a/tests/playbooks/tests_vlan_mtu.yml b/tests/playbooks/tests_vlan_mtu.yml
|
||||||
|
index ae0322e..bf6e518 100644
|
||||||
|
--- a/tests/playbooks/tests_vlan_mtu.yml
|
||||||
|
+++ b/tests/playbooks/tests_vlan_mtu.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
type: veth
|
||||||
|
interface: lsr101
|
||||||
|
@@ -10,6 +12,8 @@
|
||||||
|
- include_tasks: tasks/manage-test-interface.yml
|
||||||
|
vars:
|
||||||
|
state: present
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::net::veth'
|
||||||
|
- include_tasks: tasks/assert-device_present.yml
|
||||||
|
- name: "TEST: I can configure the MTU for a vlan interface without autoconnect."
|
||||||
|
debug:
|
||||||
|
@@ -37,6 +41,8 @@
|
||||||
|
ip:
|
||||||
|
dhcp4: false
|
||||||
|
auto6: false
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::net::reconf'
|
||||||
|
- include_tasks: tasks/assert-device_present.yml
|
||||||
|
vars:
|
||||||
|
interface: "{{ vlan_interface }}"
|
||||||
|
@@ -61,6 +67,26 @@
|
||||||
|
persistent_state: absent
|
||||||
|
state: down
|
||||||
|
ignore_errors: true
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::veth::cleanup'
|
||||||
|
- include_tasks: tasks/manage-test-interface.yml
|
||||||
|
vars:
|
||||||
|
state: absent
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::veth::cleanup'
|
||||||
|
+
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Save host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: "../save_state.yml"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Restore host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: "../restore_state.yml"
|
||||||
|
diff --git a/tests/restore_services_state.yml b/tests/restore_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2035dfc
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/restore_services_state.yml
|
||||||
|
@@ -0,0 +1,22 @@
|
||||||
|
+- block:
|
||||||
|
+ - name: load common vars
|
||||||
|
+ include_vars:
|
||||||
|
+ file: commonvars.yml
|
||||||
|
+
|
||||||
|
+ - name: Get final state of services
|
||||||
|
+ service_facts:
|
||||||
|
+ register: final_state
|
||||||
|
+
|
||||||
|
+ - name: Restore state of services
|
||||||
|
+ service:
|
||||||
|
+ name: "{{ item }}"
|
||||||
|
+ state: "{{ 'started' if
|
||||||
|
+ initial_state.ansible_facts.services[sname]['state']
|
||||||
|
+ == 'running' else 'stopped' }}"
|
||||||
|
+ when:
|
||||||
|
+ - sname in final_state.ansible_facts.services
|
||||||
|
+ - sname in initial_state.ansible_facts.services
|
||||||
|
+ vars:
|
||||||
|
+ sname: "{{ item + '.service' }}"
|
||||||
|
+ with_items: "{{ restore_services }}"
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
diff --git a/tests/restore_state.yml b/tests/restore_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..f4e3d5f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/restore_state.yml
|
||||||
|
@@ -0,0 +1,24 @@
|
||||||
|
+---
|
||||||
|
+- name: Remove /etc/sysconfig/network if there was no one
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ file:
|
||||||
|
+ path: /etc/sysconfig/network
|
||||||
|
+ state: absent
|
||||||
|
+ when:
|
||||||
|
+ - etc_sysconfig_network_stat is defined
|
||||||
|
+ - not etc_sysconfig_network_stat.stat.exists
|
||||||
|
+
|
||||||
|
+- name: Restore services
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
+
|
||||||
|
+- name: reload NetworkManager
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ command: nmcli connection reload
|
||||||
|
+ when:
|
||||||
|
+ - sname in final_state.ansible_facts.services
|
||||||
|
+ - sname in initial_state.ansible_facts.services
|
||||||
|
+ - final_state.ansible_facts.services[sname]['state'] == 'running'
|
||||||
|
+ vars:
|
||||||
|
+ sname: NetworkManager.service
|
||||||
|
diff --git a/tests/save_state.yml b/tests/save_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..5690aed
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/save_state.yml
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+---
|
||||||
|
+- name: Get services state
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
+- name: Investigate /etc/sysconfig/network presence
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ stat:
|
||||||
|
+ path: /etc/sysconfig/network
|
||||||
|
+ register: etc_sysconfig_network_stat
|
||||||
|
+ ignore_errors: yes
|
||||||
|
diff --git a/tests/tests_bridge.yml b/tests/tests_bridge.yml
|
||||||
|
index 9ead308..394d392 100644
|
||||||
|
--- a/tests/tests_bridge.yml
|
||||||
|
+++ b/tests/tests_bridge.yml
|
||||||
|
@@ -1,7 +1,17 @@
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
---
|
||||||
|
+- name: Save host state
|
||||||
|
+ hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ tasks:
|
||||||
|
+ - import_tasks: save_state.yml
|
||||||
|
+
|
||||||
|
- name: Test configuring bridges
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
interface: LSR-TST-br31
|
||||||
|
|
||||||
|
@@ -14,6 +24,9 @@
|
||||||
|
|
||||||
|
- name: Add test bridge
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::net::bridge'
|
||||||
|
vars:
|
||||||
|
network_connections:
|
||||||
|
- name: "{{ interface }}"
|
||||||
|
@@ -27,24 +40,40 @@
|
||||||
|
- linux-system-roles.network
|
||||||
|
|
||||||
|
- import_playbook: run-tasks.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
task: tasks/assert-device_present.yml
|
||||||
|
|
||||||
|
- import_playbook: run-tasks.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
task: tasks/assert-profile_present.yml
|
||||||
|
|
||||||
|
- import_playbook: down-profile.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::bridge::cleanup'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
# FIXME: assert profile/device down
|
||||||
|
|
||||||
|
- import_playbook: remove-profile.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::bridge::cleanup'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
|
||||||
|
- import_playbook: run-tasks.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
task: tasks/assert-profile_absent.yml
|
||||||
|
@@ -53,3 +82,22 @@
|
||||||
|
#- import_playbook: run-tasks.yml
|
||||||
|
# vars:
|
||||||
|
# task: tasks/assert-device_absent.yml
|
||||||
|
+
|
||||||
|
+- name: Remove test bridge
|
||||||
|
+ hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::bridge::cleanup'
|
||||||
|
+ tasks:
|
||||||
|
+ - command: 'ip link delete "{{ interface }}"'
|
||||||
|
+ ignore_errors: yes
|
||||||
|
+
|
||||||
|
+- name: Restore host state
|
||||||
|
+ hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ tasks:
|
||||||
|
+ - import_tasks: restore_state.yml
|
||||||
|
diff --git a/tests/tests_bridge_other_provider.yml b/tests/tests_bridge_other_provider.yml
|
||||||
|
index e5a4ad7..4d1d2dd 100644
|
||||||
|
--- a/tests/tests_bridge_other_provider.yml
|
||||||
|
+++ b/tests/tests_bridge_other_provider.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
name: Run playbook 'tests_bridge.yml' with non-default provider
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Get service facts
|
||||||
|
service_facts: null
|
||||||
|
diff --git a/tests/tests_default.yml b/tests/tests_default.yml
|
||||||
|
index fda6ed5..0ce3ab9 100644
|
||||||
|
--- a/tests/tests_default.yml
|
||||||
|
+++ b/tests/tests_default.yml
|
||||||
|
@@ -2,5 +2,19 @@
|
||||||
|
---
|
||||||
|
- name: Test executing the role with default parameters
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.network
|
||||||
|
+
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Save host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: save_state.yml
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Restore host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: restore_state.yml
|
||||||
|
diff --git a/tests/tests_default_other_provider.yml b/tests/tests_default_other_provider.yml
|
||||||
|
index 697bc57..0c70dac 100644
|
||||||
|
--- a/tests/tests_default_other_provider.yml
|
||||||
|
+++ b/tests/tests_default_other_provider.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
name: Run playbook 'tests_default.yml' with non-default provider
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Get service facts
|
||||||
|
service_facts: null
|
||||||
|
diff --git a/tests/tests_ethernet.yml b/tests/tests_ethernet.yml
|
||||||
|
index 25f117d..c85f853 100644
|
||||||
|
--- a/tests/tests_ethernet.yml
|
||||||
|
+++ b/tests/tests_ethernet.yml
|
||||||
|
@@ -1,6 +1,16 @@
|
||||||
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
---
|
||||||
|
+- name: Save host state
|
||||||
|
+ hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ tasks:
|
||||||
|
+ - import_tasks: save_state.yml
|
||||||
|
+
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- debug:
|
||||||
|
msg: Inside ethernet tests
|
||||||
|
@@ -9,6 +19,9 @@
|
||||||
|
|
||||||
|
- name: Test configuring ethernet devices
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::net::veth'
|
||||||
|
vars:
|
||||||
|
type: veth
|
||||||
|
interface: lsr27
|
||||||
|
@@ -18,6 +31,7 @@
|
||||||
|
set_fact:
|
||||||
|
type: "{{ type }}"
|
||||||
|
interface: "{{ interface }}"
|
||||||
|
+# cacheable: yes
|
||||||
|
- include_tasks: tasks/show-interfaces.yml
|
||||||
|
- include_tasks: tasks/manage-test-interface.yml
|
||||||
|
vars:
|
||||||
|
@@ -26,6 +40,9 @@
|
||||||
|
|
||||||
|
- name: Test static interface up
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::net::reconf'
|
||||||
|
vars:
|
||||||
|
network_connections:
|
||||||
|
- name: "{{ interface }}"
|
||||||
|
@@ -39,6 +56,8 @@
|
||||||
|
- linux-system-roles.network
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- debug:
|
||||||
|
var: network_provider
|
||||||
|
@@ -46,17 +65,38 @@
|
||||||
|
# FIXME: assert profile present
|
||||||
|
# FIXME: assert profile/device up + IP address
|
||||||
|
- import_playbook: down-profile.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
# FIXME: assert profile/device down
|
||||||
|
- import_playbook: remove-profile.yml
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
vars:
|
||||||
|
profile: "{{ interface }}"
|
||||||
|
# FIXME: assert profile away
|
||||||
|
- name: Remove interfaces
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::cleanup'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ - 'tests::net::veth::cleanup'
|
||||||
|
tasks:
|
||||||
|
- include_tasks: tasks/manage-test-interface.yml
|
||||||
|
vars:
|
||||||
|
state: absent
|
||||||
|
- include_tasks: tasks/assert-device_absent.yml
|
||||||
|
+
|
||||||
|
+- name: Restore host state
|
||||||
|
+ hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ tasks:
|
||||||
|
+ - import_tasks: restore_state.yml
|
||||||
|
diff --git a/tests/tests_ethernet_other_provider.yml b/tests/tests_ethernet_other_provider.yml
|
||||||
|
index 456b052..5a5dbb0 100644
|
||||||
|
--- a/tests/tests_ethernet_other_provider.yml
|
||||||
|
+++ b/tests/tests_ethernet_other_provider.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
name: Run playbook 'tests_ethernet.yml' with non-default provider
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Get service facts
|
||||||
|
service_facts: null
|
||||||
|
diff --git a/tests/tests_helpers-and-asserts.yml b/tests/tests_helpers-and-asserts.yml
|
||||||
|
index 36f02c2..b44599a 100644
|
||||||
|
--- a/tests/tests_helpers-and-asserts.yml
|
||||||
|
+++ b/tests/tests_helpers-and-asserts.yml
|
||||||
|
@@ -2,6 +2,8 @@
|
||||||
|
---
|
||||||
|
- name: Check that creating and removing test devices and assertions work
|
||||||
|
hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: test veth interface management
|
||||||
|
include_tasks: tasks/create-and-remove-interface.yml
|
||||||
|
@@ -15,6 +17,18 @@
|
||||||
|
type: dummy
|
||||||
|
interface: dummy1298
|
||||||
|
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Save host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: save_state.yml
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Restore host state
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1::cleanup'
|
||||||
|
+ import_tasks: restore_state.yml
|
||||||
|
+
|
||||||
|
# FIXME: when: does not seem to work with include_tasks, therefore this cannot be safely tested for now
|
||||||
|
# - name: test tap interfaces
|
||||||
|
# include_tasks: tasks/create-and-remove-interface.yml
|
||||||
|
diff --git a/tests/tests_states.yml b/tests/tests_states.yml
|
||||||
|
index eff3436..46cfe87 100644
|
||||||
|
--- a/tests/tests_states.yml
|
||||||
|
+++ b/tests/tests_states.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
# empty playbook to gather facts for import_playbook when clause
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
|
||||||
|
# workaround for: https://github.com/ansible/ansible/issues/27973
|
||||||
|
# There is no way in Ansible to abort a playbook hosts with specific OS
|
||||||
|
diff --git a/tests/tests_unit.yml b/tests/tests_unit.yml
|
||||||
|
index c6ea4ef..8d56cf4 100644
|
||||||
|
--- a/tests/tests_unit.yml
|
||||||
|
+++ b/tests/tests_unit.yml
|
||||||
|
@@ -2,6 +2,8 @@
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
name: Setup for test running
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Install EPEL on enterprise Linux for python2-mock
|
||||||
|
command: yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-{{ ansible_distribution_major_version }}.noarch.rpm
|
||||||
|
@@ -27,6 +29,8 @@
|
||||||
|
|
||||||
|
- hosts: all
|
||||||
|
name: execute python unit tests
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Copy python modules
|
||||||
|
copy:
|
||||||
|
diff --git a/tests/tests_vlan_mtu_initscripts.yml b/tests/tests_vlan_mtu_initscripts.yml
|
||||||
|
index a57db4b..d3a48c7 100644
|
||||||
|
--- a/tests/tests_vlan_mtu_initscripts.yml
|
||||||
|
+++ b/tests/tests_vlan_mtu_initscripts.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
# set network provider and gather facts
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Set network provider to 'initscripts'
|
||||||
|
set_fact:
|
||||||
|
diff --git a/tests/tests_vlan_mtu_nm.yml b/tests/tests_vlan_mtu_nm.yml
|
||||||
|
index d830817..68b61b5 100644
|
||||||
|
--- a/tests/tests_vlan_mtu_nm.yml
|
||||||
|
+++ b/tests/tests_vlan_mtu_nm.yml
|
||||||
|
@@ -1,6 +1,8 @@
|
||||||
|
---
|
||||||
|
# set network provider and gather facts
|
||||||
|
- hosts: all
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
tasks:
|
||||||
|
- name: Set network provider to 'nm'
|
||||||
|
set_fact:
|
80
SOURCES/rhel-system-roles-kdump-pr22.diff
Normal file
80
SOURCES/rhel-system-roles-kdump-pr22.diff
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
diff --git a/tasks/ssh.yml b/tasks/ssh.yml
|
||||||
|
index 1a4e858..b05d01a 100644
|
||||||
|
--- a/tasks/ssh.yml
|
||||||
|
+++ b/tasks/ssh.yml
|
||||||
|
@@ -18,3 +18,15 @@
|
||||||
|
key: "{{ keydata.content|b64decode }}"
|
||||||
|
state: present
|
||||||
|
delegate_to: "{{ kdump_ssh_server }}"
|
||||||
|
+
|
||||||
|
+- name: Fetch the servers public key
|
||||||
|
+ slurp:
|
||||||
|
+ src: /etc/ssh/ssh_host_rsa_key.pub
|
||||||
|
+ register: serverpubkey
|
||||||
|
+ delegate_to: "{{ kdump_ssh_server }}"
|
||||||
|
+
|
||||||
|
+- name: Add the servers public key to known_hosts on managed node
|
||||||
|
+ known_hosts:
|
||||||
|
+ key: "{{ kdump_ssh_server_location }} {{ serverpubkey.content | b64decode }}"
|
||||||
|
+ name: "{{ kdump_ssh_server_location }}"
|
||||||
|
+ path: /etc/ssh/ssh_known_hosts
|
||||||
|
diff --git a/templates/kdump.conf.j2 b/templates/kdump.conf.j2
|
||||||
|
index bf24210..504ff34 100644
|
||||||
|
--- a/templates/kdump.conf.j2
|
||||||
|
+++ b/templates/kdump.conf.j2
|
||||||
|
@@ -1,12 +1,17 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{% if kdump_target %}
|
||||||
|
-{{ kdump_target.type }} {{ kdump_target.location }}
|
||||||
|
-{% endif %}
|
||||||
|
+{% if kdump_target.type == "ssh" %}
|
||||||
|
+ssh {{ kdump_target.location | d(kdump_ssh_user ~ '@' ~ kdump_ssh_server) }}
|
||||||
|
|
||||||
|
-{% if kdump_target and kdump_target.type == "ssh" and kdump_sshkey != '/root/.ssh/kdump_id_rsa' %}
|
||||||
|
+{% if kdump_sshkey != '/root/.ssh/kdump_id_rsa' %}
|
||||||
|
sshkey {{ kdump_sshkey }}
|
||||||
|
{% endif %}
|
||||||
|
+{% else %}
|
||||||
|
+{{ kdump_target.type }} {{ kdump_target.location }}
|
||||||
|
+
|
||||||
|
+{% endif %}
|
||||||
|
+{% endif %}
|
||||||
|
|
||||||
|
path {{ kdump_path }}
|
||||||
|
{% if kdump_core_collector %}
|
||||||
|
diff --git a/tests/tests_ssh.yml b/tests/tests_ssh.yml
|
||||||
|
index 679148e..14a59d9 100644
|
||||||
|
--- a/tests/tests_ssh.yml
|
||||||
|
+++ b/tests/tests_ssh.yml
|
||||||
|
@@ -6,6 +6,11 @@
|
||||||
|
# known and ansible is supposed to be configured to be able to
|
||||||
|
# connect to it (via inventory).
|
||||||
|
kdump_ssh_server_outside: localhost
|
||||||
|
+ kdump_ssh_source: "{{ ansible_env['SSH_CONNECTION'].split()[0] }}"
|
||||||
|
+
|
||||||
|
+ # this is the address at which the ssh dump server can be reached
|
||||||
|
+ # from the managed host. Dumps will be uploaded there.
|
||||||
|
+ kdump_ssh_server_inside: "{{ kdump_ssh_source if kdump_ssh_source in hostvars[kdump_ssh_server_outside]['ansible_all_ipv4_addresses'] + hostvars[kdump_ssh_server_outside]['ansible_all_ipv6_addresses'] else hostvars[kdump_ssh_server_outside]['ansible_default_ipv4']['address'] }}"
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: gather facts from {{ kdump_ssh_server_outside }}
|
||||||
|
@@ -25,8 +30,5 @@
|
||||||
|
type: ssh
|
||||||
|
# This is the ssh dump server address visible from inside
|
||||||
|
# the machine being configured. Dumps are to be copied
|
||||||
|
- # there. We make here the assumption that this machine is
|
||||||
|
- # being run as a VM and the dump server is the VM host
|
||||||
|
- # (i.e. for ansible this is localhost). From the VM its
|
||||||
|
- # address is then identical to the default route.
|
||||||
|
- location: "{{ kdump_ssh_user }}@{{ ansible_default_ipv4.gateway }}"
|
||||||
|
+ # there.
|
||||||
|
+ location: "{{ kdump_ssh_user }}@{{ kdump_ssh_server_inside }}"
|
||||||
|
diff --git a/vars/main.yml b/vars/main.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..34d2d62
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/vars/main.yml
|
||||||
|
@@ -0,0 +1,2 @@
|
||||||
|
+# determine the managed node facing ssh server address
|
||||||
|
+kdump_ssh_server_location: "{{ kdump_target.location | regex_replace('.*@(.*)$', '\\1') if kdump_target.location is defined else kdump_ssh_server }}"
|
62
SOURCES/rhel-system-roles-network-pr121.diff
Normal file
62
SOURCES/rhel-system-roles-network-pr121.diff
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
diff --git a/library/network_connections.py b/library/network_connections.py
|
||||||
|
index 39e81e8..6fa5e2f 100644
|
||||||
|
--- a/library/network_connections.py
|
||||||
|
+++ b/library/network_connections.py
|
||||||
|
@@ -1369,6 +1369,13 @@ class NMUtil:
|
||||||
|
finally:
|
||||||
|
ac.handler_disconnect(ac_id)
|
||||||
|
|
||||||
|
+ def reapply(self, device, connection=None):
|
||||||
|
+ version_id = 0
|
||||||
|
+ flags = 0
|
||||||
|
+ return Util.call_async_method(
|
||||||
|
+ device, "reapply", [connection, version_id, flags]
|
||||||
|
+ )
|
||||||
|
+
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
@@ -2088,6 +2095,9 @@ class Cmd_nm(Cmd):
|
||||||
|
)
|
||||||
|
self.connections_data_set_changed(idx)
|
||||||
|
if self.check_mode == CheckMode.REAL_RUN:
|
||||||
|
+ if self._try_reapply(idx, con):
|
||||||
|
+ return
|
||||||
|
+
|
||||||
|
try:
|
||||||
|
ac = self.nmutil.connection_activate(con)
|
||||||
|
except MyError as e:
|
||||||
|
@@ -2102,6 +2112,33 @@ class Cmd_nm(Cmd):
|
||||||
|
except MyError as e:
|
||||||
|
self.log_error(idx, "up connection failed while waiting: %s" % (e))
|
||||||
|
|
||||||
|
+ def _try_reapply(self, idx, con):
|
||||||
|
+ """ Try to reapply a connection
|
||||||
|
+
|
||||||
|
+ If there is exactly one active connection with the same UUID activated
|
||||||
|
+ on exactly one device, ask the device to reapply the connection.
|
||||||
|
+
|
||||||
|
+ :returns: `True`, when the connection was reapplied, `False` otherwise
|
||||||
|
+ :rtype: bool
|
||||||
|
+ """
|
||||||
|
+ NM = Util.NM()
|
||||||
|
+
|
||||||
|
+ acons = list(self.nmutil.active_connection_list(connections=[con]))
|
||||||
|
+ if len(acons) != 1:
|
||||||
|
+ return False
|
||||||
|
+
|
||||||
|
+ active_connection = acons[0]
|
||||||
|
+ if active_connection.get_state() == NM.ActiveConnectionState.ACTIVATED:
|
||||||
|
+ devices = active_connection.get_devices()
|
||||||
|
+ if len(devices) == 1:
|
||||||
|
+ try:
|
||||||
|
+ self.nmutil.reapply(devices[0])
|
||||||
|
+ self.log_info(idx, "connection reapplied")
|
||||||
|
+ return True
|
||||||
|
+ except MyError as error:
|
||||||
|
+ self.log_info(idx, "connection reapply failed: %s" % (error))
|
||||||
|
+ return False
|
||||||
|
+
|
||||||
|
def run_action_down(self, idx):
|
||||||
|
connection = self.connections[idx]
|
||||||
|
|
83
SOURCES/rhel-system-roles-network-prefix.diff
Normal file
83
SOURCES/rhel-system-roles-network-prefix.diff
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
diff --git a/examples/bond-with-vlan.yml b/examples/bond-with-vlan.yml
|
||||||
|
index 2e6be23..3b7a6dc 100644
|
||||||
|
--- a/examples/bond-with-vlan.yml
|
||||||
|
+++ b/examples/bond-with-vlan.yml
|
||||||
|
@@ -35,4 +35,4 @@
|
||||||
|
- "192.0.2.{{ network_iphost }}/24"
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/bridge-with-vlan.yml b/examples/bridge-with-vlan.yml
|
||||||
|
index 037ff8e..83c586d 100644
|
||||||
|
--- a/examples/bridge-with-vlan.yml
|
||||||
|
+++ b/examples/bridge-with-vlan.yml
|
||||||
|
@@ -33,4 +33,4 @@
|
||||||
|
- "192.0.2.{{ network_iphost }}/24"
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/eth-simple-auto.yml b/examples/eth-simple-auto.yml
|
||||||
|
index 0ba168a..e4c4a54 100644
|
||||||
|
--- a/examples/eth-simple-auto.yml
|
||||||
|
+++ b/examples/eth-simple-auto.yml
|
||||||
|
@@ -15,4 +15,4 @@
|
||||||
|
mtu: 1450
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/eth-with-vlan.yml b/examples/eth-with-vlan.yml
|
||||||
|
--- a/examples/eth-with-vlan.yml 2018-08-21 20:47:38.000000000 +0200
|
||||||
|
+++ b/examples/eth-with-vlan.yml 2018-11-06 22:29:14.591770335 +0100
|
||||||
|
@@ -26,4 +26,4 @@
|
||||||
|
- "192.0.2.{{ network_iphost }}/24"
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/infiniband.yml b/examples/infiniband.yml
|
||||||
|
--- a/examples/infiniband.yml 2018-08-21 20:47:38.000000000 +0200
|
||||||
|
+++ b/examples/infiniband.yml 2018-11-06 22:29:14.591770335 +0100
|
||||||
|
@@ -23,4 +23,4 @@
|
||||||
|
- 198.51.100.133/30
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/macvlan.yml b/examples/macvlan.yml
|
||||||
|
--- a/examples/macvlan.yml
|
||||||
|
+++ b/examples/macvlan.yml
|
||||||
|
@@ -26,4 +26,4 @@
|
||||||
|
- 192.168.1.1/24
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.network
|
||||||
|
+ - rhel-system-roles.network
|
||||||
|
diff --git a/examples/ethtool-features-default.yml b/examples/ethtool-features-default.yml
|
||||||
|
index 78965e6..3cdd731 100644
|
||||||
|
--- a/examples/ethtool-features-default.yml
|
||||||
|
+++ b/examples/ethtool-features-default.yml
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
- hosts: all
|
||||||
|
tasks:
|
||||||
|
- include_role:
|
||||||
|
- name: linux-system-roles.network
|
||||||
|
+ name: rhel-system-roles.network
|
||||||
|
vars:
|
||||||
|
network_connections:
|
||||||
|
- name: "{{ network_interface_name1 }}"
|
||||||
|
diff --git a/examples/ethtool-features.yml b/examples/ethtool-features.yml
|
||||||
|
index d8842c2..b32ad0b 100644
|
||||||
|
--- a/examples/ethtool-features.yml
|
||||||
|
+++ b/examples/ethtool-features.yml
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
- hosts: all
|
||||||
|
tasks:
|
||||||
|
- include_role:
|
||||||
|
- name: linux-system-roles.network
|
||||||
|
+ name: rhel-system-roles.network
|
||||||
|
vars:
|
||||||
|
network_connections:
|
||||||
|
- name: "{{ network_interface_name1 }}"
|
40
SOURCES/rhel-system-roles-postfix-pr5.diff
Normal file
40
SOURCES/rhel-system-roles-postfix-pr5.diff
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff --git a/README.md b/README.md
|
||||||
|
index 5950215..df64284 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -17,7 +17,7 @@ Example Playbook
|
||||||
|
|
||||||
|
Install and enable postfix. Configure "relay_domains=$mydestination" and
|
||||||
|
|
||||||
|
-```
|
||||||
|
+```yaml
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
vars:
|
||||||
|
@@ -31,7 +31,7 @@ Install and enable postfix. Configure "relay_domains=$mydestination" and
|
||||||
|
Install and enable postfix. Do not run 'postfix check' before restarting
|
||||||
|
postfix:
|
||||||
|
|
||||||
|
-```
|
||||||
|
+```yaml
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
vars:
|
||||||
|
@@ -43,7 +43,7 @@ postfix:
|
||||||
|
Install and enable postfix. Do single backup of main.cf (older backup will be
|
||||||
|
rewritten) and configure "relay_host=example.com":
|
||||||
|
|
||||||
|
-```
|
||||||
|
+```yaml
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
vars:
|
||||||
|
@@ -58,7 +58,7 @@ Install and enable postfix. Do timestamped backup of main.cf and
|
||||||
|
configure "relay_host=example.com" (if postfix_backup_multiple is
|
||||||
|
set to true postfix_backup is ignored):
|
||||||
|
|
||||||
|
-```
|
||||||
|
+```yaml
|
||||||
|
---
|
||||||
|
- hosts: all
|
||||||
|
vars:
|
40
SOURCES/rhel-system-roles-postfix-prefix.diff
Normal file
40
SOURCES/rhel-system-roles-postfix-prefix.diff
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff --git a/README.md b/README.md
|
||||||
|
index 5950215..a59d72f 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -25,7 +25,7 @@ Install and enable postfix. Configure "relay_domains=$mydestination" and
|
||||||
|
relay_domains: "$mydestination"
|
||||||
|
relay_host: "example.com"
|
||||||
|
roles:
|
||||||
|
- - postfix
|
||||||
|
+ - linux-system-roles.postfix
|
||||||
|
```
|
||||||
|
|
||||||
|
Install and enable postfix. Do not run 'postfix check' before restarting
|
||||||
|
@@ -37,7 +37,7 @@ postfix:
|
||||||
|
vars:
|
||||||
|
postfix_check: false
|
||||||
|
roles:
|
||||||
|
- - postfix
|
||||||
|
+ - linux-system-roles.postfix
|
||||||
|
```
|
||||||
|
|
||||||
|
Install and enable postfix. Do single backup of main.cf (older backup will be
|
||||||
|
@@ -51,7 +51,7 @@ rewritten) and configure "relay_host=example.com":
|
||||||
|
relay_host: "example.com"
|
||||||
|
postfix_backup: true
|
||||||
|
roles:
|
||||||
|
- - postfix
|
||||||
|
+ - linux-system-roles.postfix
|
||||||
|
```
|
||||||
|
|
||||||
|
Install and enable postfix. Do timestamped backup of main.cf and
|
||||||
|
@@ -66,7 +66,7 @@ set to true postfix_backup is ignored):
|
||||||
|
relay_host: "example.com"
|
||||||
|
postfix_backup_multiple: true
|
||||||
|
roles:
|
||||||
|
- - postfix
|
||||||
|
+ - linux-system-roles.postfix
|
||||||
|
```
|
||||||
|
|
||||||
|
|
32
SOURCES/rhel-system-roles-selinux-prefix.diff
Normal file
32
SOURCES/rhel-system-roles-selinux-prefix.diff
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
diff --git a/README.md b/README.md
|
||||||
|
index a0385b0..6efc62d 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -42,7 +42,7 @@ This role can be configured using variab
|
||||||
|
vars:
|
||||||
|
[ see below ]
|
||||||
|
roles:
|
||||||
|
- - role: linux-system-roles.selinux
|
||||||
|
+ - role: rhel-system-roles.selinux
|
||||||
|
become: true
|
||||||
|
```
|
||||||
|
|
||||||
|
diff --git a/selinux-playbook.yml b/selinux-playbook.yml
|
||||||
|
index 78d3953..b2348d5 100644
|
||||||
|
--- a/selinux-playbook.yml
|
||||||
|
+++ b/selinux-playbook.yml
|
||||||
|
@@ -31,7 +31,7 @@
|
||||||
|
- name: execute the role and catch errors
|
||||||
|
block:
|
||||||
|
- include_role:
|
||||||
|
- name: linux-system-roles.selinux
|
||||||
|
+ name: rhel-system-roles.selinux
|
||||||
|
rescue:
|
||||||
|
# Fail if failed for a different reason than selinux_reboot_required.
|
||||||
|
- name: handle errors
|
||||||
|
@@ -52,4 +52,4 @@
|
||||||
|
|
||||||
|
- name: reapply the role
|
||||||
|
include_role:
|
||||||
|
- name: linux-system-roles.selinux
|
||||||
|
+ name: rhel-system-roles.selinux
|
13
SOURCES/rhel-system-roles-storage-prefix.diff
Normal file
13
SOURCES/rhel-system-roles-storage-prefix.diff
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/README.md b/README.md
|
||||||
|
index c2debc9..d9e40b3 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -81,7 +81,7 @@ Example Playbook
|
||||||
|
- hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- - name: linux-system-roles.storage
|
||||||
|
+ - name: rhel-system-roles.storage
|
||||||
|
storage_pools:
|
||||||
|
- name: app
|
||||||
|
disks:
|
46
SOURCES/rhel-system-roles-timesync-prefix.diff
Normal file
46
SOURCES/rhel-system-roles-timesync-prefix.diff
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
diff -up timesync-1.0.0/README.md.orig timesync-1.0.0/README.md
|
||||||
|
--- timesync-1.0.0/README.md.orig 2018-08-21 11:46:41.000000000 +0200
|
||||||
|
+++ timesync-1.0.0/README.md 2018-11-06 22:29:14.586770442 +0100
|
||||||
|
@@ -82,7 +82,7 @@ Install and configure ntp to synchronize
|
||||||
|
- hostname: baz.example.com
|
||||||
|
iburst: yes
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.timesync
|
||||||
|
+ - rhel-system-roles.timesync
|
||||||
|
```
|
||||||
|
|
||||||
|
Install and configure linuxptp to synchronize the system clock with a
|
||||||
|
@@ -95,7 +95,7 @@ grandmaster in PTP domain number 0, whic
|
||||||
|
- number: 0
|
||||||
|
interfaces: [ eth0 ]
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.timesync
|
||||||
|
+ - rhel-system-roles.timesync
|
||||||
|
```
|
||||||
|
|
||||||
|
Install and configure chrony and linuxptp to synchronize the system clock with
|
||||||
|
@@ -122,5 +122,5 @@ synchronization:
|
||||||
|
transport: UDPv4
|
||||||
|
delay: 0.000010
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.timesync
|
||||||
|
+ - rhel-system-roles.timesync
|
||||||
|
```
|
||||||
|
diff -up timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/multiple-ntp-servers.yml.orig timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/multiple-ntp-servers.yml
|
||||||
|
--- timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/multiple-ntp-servers.yml.orig 2019-06-03 18:03:18.081868584 +0200
|
||||||
|
+++ timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/multiple-ntp-servers.yml 2019-06-03 18:03:26.718704991 +0200
|
||||||
|
@@ -11,4 +11,4 @@
|
||||||
|
- hostname: 3.pool.ntp.org
|
||||||
|
iburst: yes
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.timesync
|
||||||
|
+ - rhel-system-roles.timesync
|
||||||
|
diff -up timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/single-pool.yml.orig timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/single-pool.yml
|
||||||
|
--- timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/single-pool.yml.orig 2019-06-03 16:36:40.000000000 +0200
|
||||||
|
+++ timesync-85b90feedee2a5b3148fd3f72b229b44ec597682/examples/single-pool.yml 2019-06-03 18:03:36.721515519 +0200
|
||||||
|
@@ -6,4 +6,4 @@
|
||||||
|
pool: yes
|
||||||
|
iburst: yes
|
||||||
|
roles:
|
||||||
|
- - linux-system-roles.timesync
|
||||||
|
+ - rhel-system-roles.timesync
|
176
SOURCES/selinux-tier1-tags.diff
Normal file
176
SOURCES/selinux-tier1-tags.diff
Normal file
@ -0,0 +1,176 @@
|
|||||||
|
diff --git a/tests/set_selinux_variables.yml b/tests/set_selinux_variables.yml
|
||||||
|
index f294101..7571066 100644
|
||||||
|
--- a/tests/set_selinux_variables.yml
|
||||||
|
+++ b/tests/set_selinux_variables.yml
|
||||||
|
@@ -1,4 +1,12 @@
|
||||||
|
---
|
||||||
|
+- name: Install SELinux tool semanage on Fedora
|
||||||
|
+ package:
|
||||||
|
+ name:
|
||||||
|
+ - policycoreutils-python-utils
|
||||||
|
+ state: present
|
||||||
|
+ when: ansible_distribution == "Fedora" or
|
||||||
|
+ ( ansible_distribution_major_version > "7" and
|
||||||
|
+ ( ansible_distribution == "CentOS" or ansible_distribution == "RedHat" ))
|
||||||
|
- name: Get local modifications - boolean
|
||||||
|
command: /usr/sbin/semanage boolean -l -n -C
|
||||||
|
register: selinux_role_boolean
|
||||||
|
diff --git a/tests/tests_boolean.yml b/tests/tests_boolean.yml
|
||||||
|
index 47eafc0..ca85922 100644
|
||||||
|
--- a/tests/tests_boolean.yml
|
||||||
|
+++ b/tests/tests_boolean.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Check if selinux role sets SELinux booleans
|
||||||
|
+ tags: [ 'tests::tier1', 'tests::expfail' ]
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
|
||||||
|
@@ -12,7 +13,7 @@
|
||||||
|
selinux_booleans:
|
||||||
|
- { name: 'samba_enable_home_dirs', state: 'on', persistent: 'yes' }
|
||||||
|
|
||||||
|
- - include: set_selinux_variables.yml
|
||||||
|
+ - import_tasks: set_selinux_variables.yml
|
||||||
|
- name: save state after initial changes and before other changes
|
||||||
|
set_fact:
|
||||||
|
boolean_before: "{{ selinux_role_boolean.stdout_lines }}"
|
||||||
|
diff --git a/tests/tests_default.yml b/tests/tests_default.yml
|
||||||
|
index a837c73..25bf39d 100644
|
||||||
|
--- a/tests/tests_default.yml
|
||||||
|
+++ b/tests/tests_default.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Ensure that the role runs with default parameters
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
diff --git a/tests/tests_default_vars.yml b/tests/tests_default_vars.yml
|
||||||
|
index b6a6b5a..7cd321d 100644
|
||||||
|
--- a/tests/tests_default_vars.yml
|
||||||
|
+++ b/tests/tests_default_vars.yml
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
- name: Ensure that the role declares all paremeters in defaults
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
diff --git a/tests/tests_fcontext.yml b/tests/tests_fcontext.yml
|
||||||
|
index 0a411fb..f4a3923 100644
|
||||||
|
--- a/tests/tests_fcontext.yml
|
||||||
|
+++ b/tests/tests_fcontext.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Check if selinux role sets SELinux fcontext mappings
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
|
||||||
|
@@ -13,7 +14,7 @@
|
||||||
|
selinux_fcontexts:
|
||||||
|
- { target: '/tmp/test_dir1(/.*)?', setype: 'user_home_dir_t', ftype: 'd' }
|
||||||
|
|
||||||
|
- - include: set_selinux_variables.yml
|
||||||
|
+ - import_tasks: set_selinux_variables.yml
|
||||||
|
- name: save state after initial changes and before other changes
|
||||||
|
set_fact:
|
||||||
|
fcontext_before: "{{ selinux_role_fcontext.stdout }}"
|
||||||
|
diff --git a/tests/tests_login.yml b/tests/tests_login.yml
|
||||||
|
index efa826d..e4f55ca 100644
|
||||||
|
--- a/tests/tests_login.yml
|
||||||
|
+++ b/tests/tests_login.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Check if selinux role sets SELinux login mappings
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
|
||||||
|
@@ -18,7 +19,7 @@
|
||||||
|
- { login: 'sar-user', seuser: 'staff_u', serange: 's0-s0:c0.c1023', state: 'present' }
|
||||||
|
|
||||||
|
|
||||||
|
- - include: set_selinux_variables.yml
|
||||||
|
+ - import_tasks: set_selinux_variables.yml
|
||||||
|
- name: save state after initial changes and before other changes
|
||||||
|
set_fact:
|
||||||
|
login_before: "{{ selinux_role_login.stdout }}"
|
||||||
|
diff --git a/tests/tests_port.yml b/tests/tests_port.yml
|
||||||
|
index 446f79d..03276b5 100644
|
||||||
|
--- a/tests/tests_port.yml
|
||||||
|
+++ b/tests/tests_port.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Check if selinux role sets SELinux port mapping
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
|
||||||
|
@@ -29,7 +30,7 @@
|
||||||
|
selinux_ports:
|
||||||
|
- { ports: '22022', proto: 'tcp', setype: 'ssh_port_t', state: 'present' }
|
||||||
|
|
||||||
|
- - include: set_selinux_variables.yml
|
||||||
|
+ - import_tasks: set_selinux_variables.yml
|
||||||
|
- name: save state after other changes
|
||||||
|
set_fact:
|
||||||
|
port_after: "{{ selinux_role_port.stdout }}"
|
||||||
|
diff --git a/tests/tests_selinux_disabled.yml b/tests/tests_selinux_disabled.yml
|
||||||
|
index afd23e4..d30de2b 100644
|
||||||
|
--- a/tests/tests_selinux_disabled.yml
|
||||||
|
+++ b/tests/tests_selinux_disabled.yml
|
||||||
|
@@ -18,7 +19,9 @@
|
||||||
|
name:
|
||||||
|
- policycoreutils-python-utils
|
||||||
|
state: present
|
||||||
|
- when: ansible_distribution == "Fedora"
|
||||||
|
+ when: ansible_distribution == "Fedora" or
|
||||||
|
+ ( ansible_distribution_major_version > "7" and
|
||||||
|
+ ( ansible_distribution == "CentOS" or ansible_distribution == "RedHat" ))
|
||||||
|
|
||||||
|
- name: Add a Linux System Roles SELinux User
|
||||||
|
user:
|
||||||
|
@@ -67,17 +71,28 @@
|
||||||
|
assert:
|
||||||
|
that: "{{ ansible_selinux.config_mode == 'enforcing' }}"
|
||||||
|
msg: "SELinux config mode should be enforcing instead of {{ ansible_selinux.config_mode }}"
|
||||||
|
- - name: Restore original /etc/selinux/config
|
||||||
|
- copy:
|
||||||
|
- remote_src: true
|
||||||
|
- dest: /etc/selinux/config
|
||||||
|
- src: /etc/selinux/config.test_selinux_disabled
|
||||||
|
- - name: Remove /etc/selinux/config backup
|
||||||
|
- file:
|
||||||
|
- path: /etc/selinux/config.test_selinux_disabled
|
||||||
|
- state: absent
|
||||||
|
- - name: Remove Linux System Roles SELinux User
|
||||||
|
- user:
|
||||||
|
- name: sar-user
|
||||||
|
- remove: yes
|
||||||
|
- state: absent
|
||||||
|
+
|
||||||
|
+ - name: Cleanup
|
||||||
|
+ tags: [ 'tests::cleanup' ]
|
||||||
|
+ block:
|
||||||
|
+ - name: Restore original /etc/selinux/config
|
||||||
|
+ copy:
|
||||||
|
+ remote_src: true
|
||||||
|
+ dest: /etc/selinux/config
|
||||||
|
+ src: /etc/selinux/config.test_selinux_disabled
|
||||||
|
+
|
||||||
|
+ - name: Remove /etc/selinux/config backup
|
||||||
|
+ file:
|
||||||
|
+ path: /etc/selinux/config.test_selinux_disabled
|
||||||
|
+ state: absent
|
||||||
|
+
|
||||||
|
+ - name: Remove Linux System Roles SELinux User
|
||||||
|
+ user:
|
||||||
|
+ name: sar-user
|
||||||
|
+ remove: yes
|
||||||
|
+ state: absent
|
||||||
|
+
|
||||||
|
+ - import_role:
|
||||||
|
+ name: selinux
|
||||||
|
+ vars:
|
||||||
|
+ selinux_all_purge: true
|
404
SOURCES/timesync-tier1-tags.diff
Normal file
404
SOURCES/timesync-tier1-tags.diff
Normal file
@ -0,0 +1,404 @@
|
|||||||
|
diff --git a/tests/get_services_state.yml b/tests/get_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..4fe5d36
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/get_services_state.yml
|
||||||
|
@@ -0,0 +1,4 @@
|
||||||
|
+- name: Get initial state of services
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
+ service_facts:
|
||||||
|
+ register: initial_state
|
||||||
|
diff --git a/tests/restore_services_state.yml b/tests/restore_services_state.yml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..3d48975
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/restore_services_state.yml
|
||||||
|
@@ -0,0 +1,19 @@
|
||||||
|
+- name: Get final state of services
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
+ service_facts:
|
||||||
|
+ register: final_state
|
||||||
|
+
|
||||||
|
+- name: Restore state of services
|
||||||
|
+ tags: tests::cleanup
|
||||||
|
+ service:
|
||||||
|
+ name: "{{ item }}"
|
||||||
|
+ state: "{{ 'started' if initial_state.ansible_facts.services[item + '.service']['state'] == 'running' else 'stopped' }}"
|
||||||
|
+ when:
|
||||||
|
+ - item + '.service' in final_state.ansible_facts.services
|
||||||
|
+ - item + '.service' in initial_state.ansible_facts.services
|
||||||
|
+ with_items:
|
||||||
|
+ - chronyd
|
||||||
|
+ - ntpd
|
||||||
|
+ - ptp4l
|
||||||
|
+ - phc2sys
|
||||||
|
+ - timemaster
|
||||||
|
diff --git a/tests/tests_default.yml b/tests/tests_default.yml
|
||||||
|
index 856ebe5..fb298c9 100644
|
||||||
|
--- a/tests/tests_default.yml
|
||||||
|
+++ b/tests/tests_default.yml
|
||||||
|
@@ -1,6 +1,17 @@
|
||||||
|
|
||||||
|
- name: Ensure that the role runs with default parameters
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
+
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_default_vars.yml b/tests/tests_default_vars.yml
|
||||||
|
index 366a9f5..df989a5 100644
|
||||||
|
--- a/tests/tests_default_vars.yml
|
||||||
|
+++ b/tests/tests_default_vars.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: Ensure that the role declares all parameters in defaults
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
diff --git a/tests/tests_default_wrapper.yml b/tests/tests_default_wrapper.yml
|
||||||
|
index a768f4c..b0c0ab3 100644
|
||||||
|
--- a/tests/tests_default_wrapper.yml
|
||||||
|
+++ b/tests/tests_default_wrapper.yml
|
||||||
|
@@ -1,5 +1,8 @@
|
||||||
|
---
|
||||||
|
- name: Create static inventory from hostvars
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: create temporary file
|
||||||
|
@@ -17,9 +20,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
- name: Run tests_default.yml normally
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
import_playbook: tests_default.yml
|
||||||
|
|
||||||
|
- name: Run tests_default.yml in check_mode
|
||||||
|
+ tags:
|
||||||
|
+ - 'tests::tier1'
|
||||||
|
+ - 'tests::slow'
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: Run ansible-playbook with tests_default.yml in check mode
|
||||||
|
diff --git a/tests/tests_ntp.yml b/tests/tests_ntp.yml
|
||||||
|
index e4b1b5e..446f1dc 100644
|
||||||
|
--- a/tests/tests_ntp.yml
|
||||||
|
+++ b/tests/tests_ntp.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure time synchronization with NTP servers
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -18,6 +19,11 @@
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
tasks:
|
||||||
|
- meta: flush_handlers
|
||||||
|
|
||||||
|
@@ -35,3 +41,8 @@
|
||||||
|
- "'172.16.123.1' in sources.stdout"
|
||||||
|
- "'172.16.123.2' in sources.stdout"
|
||||||
|
- "'172.16.123.3' in sources.stdout"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider1.yml b/tests/tests_ntp_provider1.yml
|
||||||
|
index 08ecab9..9fe0db3 100644
|
||||||
|
--- a/tests/tests_ntp_provider1.yml
|
||||||
|
+++ b/tests/tests_ntp_provider1.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with default provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -8,6 +9,10 @@
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Remove NTP providers
|
||||||
|
package: name={{ item }} state=absent
|
||||||
|
with_items:
|
||||||
|
@@ -27,3 +32,7 @@
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'172.16.123.1' in sources.stdout"
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider2.yml b/tests/tests_ntp_provider2.yml
|
||||||
|
index 5476ae4..e0d5c96 100644
|
||||||
|
--- a/tests/tests_ntp_provider2.yml
|
||||||
|
+++ b/tests/tests_ntp_provider2.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with chrony as current provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -8,6 +9,10 @@
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Remove ntp
|
||||||
|
package: name=ntp state=absent
|
||||||
|
|
||||||
|
@@ -29,3 +34,7 @@
|
||||||
|
|
||||||
|
- name: Check chronyd service
|
||||||
|
shell: chronyc -n tracking
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider3.yml b/tests/tests_ntp_provider3.yml
|
||||||
|
index 44ca101..d440a64 100644
|
||||||
|
--- a/tests/tests_ntp_provider3.yml
|
||||||
|
+++ b/tests/tests_ntp_provider3.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with ntp as current provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -8,6 +9,10 @@
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Remove chrony
|
||||||
|
package: name=chrony state=absent
|
||||||
|
|
||||||
|
@@ -29,3 +34,7 @@
|
||||||
|
|
||||||
|
- name: Check ntpd service
|
||||||
|
shell: ntpq -c rv | grep 'associd=0'
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider4.yml b/tests/tests_ntp_provider4.yml
|
||||||
|
index 8b452b8..8bccba0 100644
|
||||||
|
--- a/tests/tests_ntp_provider4.yml
|
||||||
|
+++ b/tests/tests_ntp_provider4.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with chrony as specified provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -9,6 +10,10 @@
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Install chrony
|
||||||
|
package: name=chrony state=present
|
||||||
|
register: package_install
|
||||||
|
@@ -27,3 +32,7 @@
|
||||||
|
|
||||||
|
- name: Check chronyd service
|
||||||
|
shell: chronyc -n tracking
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider5.yml b/tests/tests_ntp_provider5.yml
|
||||||
|
index 1740164..98a054f 100644
|
||||||
|
--- a/tests/tests_ntp_provider5.yml
|
||||||
|
+++ b/tests/tests_ntp_provider5.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with ntp as specified provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -9,6 +10,10 @@
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Install ntp
|
||||||
|
package: name=ntp state=present
|
||||||
|
register: package_install
|
||||||
|
@@ -27,3 +32,7 @@
|
||||||
|
|
||||||
|
- name: Check ntpd service
|
||||||
|
shell: ntpq -c rv | grep 'associd=0'
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_provider6.yml b/tests/tests_ntp_provider6.yml
|
||||||
|
index 21a2039..fb41824 100644
|
||||||
|
--- a/tests/tests_ntp_provider6.yml
|
||||||
|
+++ b/tests/tests_ntp_provider6.yml
|
||||||
|
@@ -1,11 +1,16 @@
|
||||||
|
|
||||||
|
- name: Configure NTP with OS release non-default provider and then change it to the default provider
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
is_ntp_default: "ansible_distribution in ['RedHat', 'CentOS'] and ansible_distribution_version is version('7.0', '<')"
|
||||||
|
both_avail: true
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
- name: Check for availability of both NTP providers
|
||||||
|
package: name={{ item }} state=present
|
||||||
|
register: package_install
|
||||||
|
@@ -71,3 +76,7 @@
|
||||||
|
shell: chronyc -n tracking
|
||||||
|
when:
|
||||||
|
- not is_ntp_default
|
||||||
|
+
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ntp_ptp.yml b/tests/tests_ntp_ptp.yml
|
||||||
|
index cab706f..7f4cdfc 100644
|
||||||
|
--- a/tests/tests_ntp_ptp.yml
|
||||||
|
+++ b/tests/tests_ntp_ptp.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure time synchronization with NTP servers and PTP domains
|
||||||
|
+ tags: tests::tier1
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ntp_servers:
|
||||||
|
@@ -22,6 +23,11 @@
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
tasks:
|
||||||
|
- meta: flush_handlers
|
||||||
|
|
||||||
|
@@ -48,3 +54,8 @@
|
||||||
|
- "'PTP1' in sources.stdout"
|
||||||
|
|
||||||
|
when: "'SOF_TIMESTAMPING_TX_' in ethtool.stdout"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ptp_multi.yml b/tests/tests_ptp_multi.yml
|
||||||
|
index d52d439..936e467 100644
|
||||||
|
--- a/tests/tests_ptp_multi.yml
|
||||||
|
+++ b/tests/tests_ptp_multi.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure time synchronization with multiple PTP domains
|
||||||
|
+ tags: [ 'tests::tier1', 'tests::expfail' ]
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ptp_domains:
|
||||||
|
@@ -16,6 +17,11 @@
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
tasks:
|
||||||
|
- meta: flush_handlers
|
||||||
|
|
||||||
|
@@ -58,3 +64,8 @@
|
||||||
|
- "'domainNumber 1' in pmc.stdout"
|
||||||
|
|
||||||
|
when: "'SOF_TIMESTAMPING_TX_' in ethtool.stdout"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
||||||
|
diff --git a/tests/tests_ptp_single.yml b/tests/tests_ptp_single.yml
|
||||||
|
index 74da310..36d141e 100644
|
||||||
|
--- a/tests/tests_ptp_single.yml
|
||||||
|
+++ b/tests/tests_ptp_single.yml
|
||||||
|
@@ -1,5 +1,6 @@
|
||||||
|
|
||||||
|
- name: Configure time synchronization with single PTP domain
|
||||||
|
+ tags: [ 'tests::tier1', 'tests::expfail' ]
|
||||||
|
hosts: all
|
||||||
|
vars:
|
||||||
|
timesync_ptp_domains:
|
||||||
|
@@ -8,6 +9,11 @@
|
||||||
|
roles:
|
||||||
|
- linux-system-roles.timesync
|
||||||
|
|
||||||
|
+ pre_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: get_services_state.yml
|
||||||
|
+
|
||||||
|
tasks:
|
||||||
|
- meta: flush_handlers
|
||||||
|
|
||||||
|
@@ -31,3 +37,8 @@
|
||||||
|
- "'domainNumber 3' in pmc.stdout"
|
||||||
|
|
||||||
|
when: "'SOF_TIMESTAMPING_TX_' in ethtool.stdout"
|
||||||
|
+
|
||||||
|
+ post_tasks:
|
||||||
|
+ - name: Import tasks
|
||||||
|
+ tags: tests::tier1::cleanup
|
||||||
|
+ import_tasks: restore_services_state.yml
|
426
SPECS/rhel-system-roles.spec
Normal file
426
SPECS/rhel-system-roles.spec
Normal file
@ -0,0 +1,426 @@
|
|||||||
|
%if 0%{?rhel}
|
||||||
|
Name: rhel-system-roles
|
||||||
|
%else
|
||||||
|
Name: linux-system-roles
|
||||||
|
%endif
|
||||||
|
Summary: Set of interfaces for unified system management
|
||||||
|
Version: 1.0
|
||||||
|
Release: 9%{?dist}
|
||||||
|
|
||||||
|
#Group: Development/Libraries
|
||||||
|
License: GPLv3+ and MIT and BSD
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%global rolealtprefix linux-system-roles.
|
||||||
|
%endif
|
||||||
|
%global roleprefix %{name}.
|
||||||
|
|
||||||
|
# For each role, call either defcommit() or deftag(). The other macros
|
||||||
|
# (%%id and %%shortid) can be then used in the same way in both cases.
|
||||||
|
# This way the rest of the spec file des not need to know whether we are
|
||||||
|
# dealing with a tag or a commit.
|
||||||
|
%define defcommit() %{expand:%%global id%{1} %{2}
|
||||||
|
%%global shortid%{1} %%(c=%%{id%{1}}; echo ${c:0:7})
|
||||||
|
}
|
||||||
|
|
||||||
|
%define deftag() %{expand:%%global id%{1} %{2}
|
||||||
|
%%global shortid%{1} %{2}
|
||||||
|
}
|
||||||
|
|
||||||
|
%defcommit 0 0c2bb286bbc1b73d728226924e0010c0fa1ce30a
|
||||||
|
%global rolename0 kdump
|
||||||
|
#%%deftag 0 1.0.0
|
||||||
|
|
||||||
|
#%%defcommit 1 43eec5668425d295dce3801216c19b1916df1f9b
|
||||||
|
%global rolename1 postfix
|
||||||
|
%deftag 1 0.1
|
||||||
|
|
||||||
|
%defcommit 2 6cd1ec8fdebdb92a789b14e5a44fe77f0a3d8ecd
|
||||||
|
%global rolename2 selinux
|
||||||
|
#%%deftag 2 1.0.0
|
||||||
|
|
||||||
|
%defcommit 3 924650d0cd4117f73a7f0413ab745a8632bc5cec
|
||||||
|
%global rolename3 timesync
|
||||||
|
#%%deftag 3 1.0.0
|
||||||
|
|
||||||
|
%defcommit 5 d5891d43a2ddc8cb6278958a6ad19524dcbf72ff
|
||||||
|
%global rolename5 network
|
||||||
|
#%%deftag 5 1.0.0
|
||||||
|
|
||||||
|
%defcommit 6 1594e2527c4eca0fa2876d4cc3ff6395ed280b8d
|
||||||
|
%global rolename6 storage
|
||||||
|
#%%deftag 6 1.0.2
|
||||||
|
|
||||||
|
Source: https://github.com/linux-system-roles/%{rolename0}/archive/%{id0}.tar.gz#/%{rolename0}-%{shortid0}.tar.gz
|
||||||
|
Source1: https://github.com/linux-system-roles/%{rolename1}/archive/%{id1}.tar.gz#/%{rolename1}-%{shortid1}.tar.gz
|
||||||
|
Source2: https://github.com/linux-system-roles/%{rolename2}/archive/%{id2}.tar.gz#/%{rolename2}-%{shortid2}.tar.gz
|
||||||
|
Source3: https://github.com/linux-system-roles/%{rolename3}/archive/%{id3}.tar.gz#/%{rolename3}-%{shortid3}.tar.gz
|
||||||
|
Source5: https://github.com/linux-system-roles/%{rolename5}/archive/%{id5}.tar.gz#/%{rolename5}-%{shortid5}.tar.gz
|
||||||
|
Source6: https://github.com/linux-system-roles/%{rolename6}/archive/%{id6}.tar.gz#/%{rolename6}-%{shortid6}.tar.gz
|
||||||
|
|
||||||
|
Source8: md2html.sh
|
||||||
|
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
Patch1: rhel-system-roles-%{rolename1}-prefix.diff
|
||||||
|
Patch2: rhel-system-roles-%{rolename2}-prefix.diff
|
||||||
|
Patch3: rhel-system-roles-%{rolename3}-prefix.diff
|
||||||
|
Patch5: rhel-system-roles-%{rolename5}-prefix.diff
|
||||||
|
Patch6: rhel-system-roles-%{rolename6}-prefix.diff
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Patch11: rhel-system-roles-postfix-pr5.diff
|
||||||
|
Patch101: rhel-system-roles-kdump-pr22.diff
|
||||||
|
|
||||||
|
Patch102: kdump-tier1-tags.diff
|
||||||
|
|
||||||
|
Patch21: selinux-tier1-tags.diff
|
||||||
|
|
||||||
|
Patch31: timesync-tier1-tags.diff
|
||||||
|
|
||||||
|
Patch52: network-permissions.diff
|
||||||
|
Patch53: network-tier1-tags.diff
|
||||||
|
Patch54: rhel-system-roles-network-pr121.diff
|
||||||
|
|
||||||
|
Url: https://github.com/linux-system-roles/
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
BuildRequires: asciidoc
|
||||||
|
BuildRequires: pandoc
|
||||||
|
BuildRequires: highlight
|
||||||
|
|
||||||
|
Requires: python3-jmespath
|
||||||
|
|
||||||
|
Obsoletes: rhel-system-roles-techpreview < 1.0-3
|
||||||
|
|
||||||
|
# We need to put %%description within the if block to avoid empty
|
||||||
|
# lines showing up.
|
||||||
|
%if 0%{?rhel}
|
||||||
|
%description
|
||||||
|
Collection of Ansible roles and modules that provide a stable and
|
||||||
|
consistent configuration interface for managing multiple versions
|
||||||
|
of Red Hat Enterprise Linux.
|
||||||
|
%else
|
||||||
|
%description
|
||||||
|
Collection of Ansible roles and modules that provide a stable and
|
||||||
|
consistent configuration interface for managing multiple versions
|
||||||
|
of Fedora, Red Hat Enterprise Linux & CentOS.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -qc -a1 -a2 -a3 -a5 -a6
|
||||||
|
cd %{rolename0}-%{id0}
|
||||||
|
%patch101 -p1
|
||||||
|
%patch102 -p1
|
||||||
|
cd ..
|
||||||
|
cd %{rolename1}-%{id1}
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
%patch1 -p1
|
||||||
|
%endif
|
||||||
|
%patch11 -p1
|
||||||
|
cd ..
|
||||||
|
cd %{rolename2}-%{id2}
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
%patch2 -p1
|
||||||
|
%endif
|
||||||
|
%patch21 -p1
|
||||||
|
cd ..
|
||||||
|
cd %{rolename3}-%{id3}
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
%patch3 -p1
|
||||||
|
%endif
|
||||||
|
%patch31 -p1
|
||||||
|
cd ..
|
||||||
|
cd %{rolename5}-%{id5}
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
%patch5 -p1
|
||||||
|
%endif
|
||||||
|
%patch52 -p1
|
||||||
|
%patch53 -p1
|
||||||
|
%patch54 -p1
|
||||||
|
cd ..
|
||||||
|
cd %{rolename6}-%{id6}
|
||||||
|
%if "%{roleprefix}" != "linux-system-roles."
|
||||||
|
%patch6 -p1
|
||||||
|
%endif
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
%build
|
||||||
|
sh %{SOURCE8} \
|
||||||
|
%{rolename0}-%{id0}/README.md \
|
||||||
|
%{rolename1}-%{id1}/README.md \
|
||||||
|
%{rolename2}-%{id2}/README.md \
|
||||||
|
%{rolename3}-%{id3}/README.md \
|
||||||
|
%{rolename5}-%{id5}/README.md \
|
||||||
|
%{rolename6}-%{id6}/README.md
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles
|
||||||
|
|
||||||
|
cp -pR %{rolename0}-%{id0} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename0}
|
||||||
|
cp -pR %{rolename1}-%{id1} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename1}
|
||||||
|
cp -pR %{rolename2}-%{id2} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename2}
|
||||||
|
cp -pR %{rolename3}-%{id3} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename3}
|
||||||
|
cp -pR %{rolename5}-%{id5} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename5}
|
||||||
|
cp -pR %{rolename6}-%{id6} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename6}
|
||||||
|
|
||||||
|
%if 0%{?rolealtprefix:1}
|
||||||
|
ln -s %{roleprefix}%{rolename0} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename0}
|
||||||
|
ln -s %{roleprefix}%{rolename1} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename1}
|
||||||
|
ln -s %{roleprefix}%{rolename2} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename2}
|
||||||
|
ln -s %{roleprefix}%{rolename3} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename3}
|
||||||
|
ln -s %{roleprefix}%{rolename5} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename5}
|
||||||
|
ln -s %{roleprefix}%{rolename6} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolealtprefix}%{rolename6}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/kdump
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/postfix
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/selinux
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/timesync
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/network
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/storage
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}kdump/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}kdump/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}kdump/COPYING \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/kdump
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}postfix/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}postfix/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}postfix/COPYING \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/postfix
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}selinux/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}selinux/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}selinux/COPYING \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/selinux
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}selinux/selinux-playbook.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/selinux/example-selinux-playbook.yml
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}timesync/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}timesync/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}timesync/COPYING \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/timesync
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}timesync/examples/multiple-ntp-servers.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}timesync/examples/single-pool.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-pool-playbook.yml
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/LICENSE \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/bond-with-vlan.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bond-with-vlan-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/bridge-with-vlan.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bridge-with-vlan-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/eth-simple-auto.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-simple-auto-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/eth-with-vlan.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-with-vlan-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/infiniband.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-infiniband-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/macvlan.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-macvlan-playbook.yml
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/remove-profile.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-remove-profile-playbook.yml
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/remove-profile.yml
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/down-profile.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-down-profile-playbook.yml
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/down-profile.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/inventory \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-inventory
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/ethtool-features.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-ethtool-features-playbook.yml
|
||||||
|
mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/ethtool-features-default.yml \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/network/example-ethtool-features-default-playbook.yml
|
||||||
|
|
||||||
|
cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}storage/README.md \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}storage/README.html \
|
||||||
|
$RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}storage/LICENSE \
|
||||||
|
$RPM_BUILD_ROOT%{_pkgdocdir}/storage
|
||||||
|
|
||||||
|
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}*/semaphore
|
||||||
|
rm -r $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}*/molecule
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}*/.travis.yml
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}*/.ansible-lint
|
||||||
|
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/.gitignore
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/tests/.gitignore
|
||||||
|
rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples/roles
|
||||||
|
rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}network/examples
|
||||||
|
|
||||||
|
%files
|
||||||
|
%dir %{_datadir}/ansible
|
||||||
|
%dir %{_datadir}/ansible/roles
|
||||||
|
%if 0%{?rolealtprefix:1}
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}kdump
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}postfix
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}selinux
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}timesync
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}network
|
||||||
|
%{_datadir}/ansible/roles/%{rolealtprefix}storage
|
||||||
|
%endif
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}kdump
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}postfix
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}selinux
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}timesync
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}network
|
||||||
|
%{_datadir}/ansible/roles/%{roleprefix}storage
|
||||||
|
%doc %{_pkgdocdir}/*/example-*-playbook.yml
|
||||||
|
%doc %{_pkgdocdir}/network/example-inventory
|
||||||
|
%doc %{_pkgdocdir}/*/README.md
|
||||||
|
%doc %{_pkgdocdir}/*/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}kdump/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}postfix/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}selinux/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}timesync/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}network/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}storage/README.md
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}kdump/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}postfix/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}selinux/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}timesync/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}network/README.html
|
||||||
|
%doc %{_datadir}/ansible/roles/%{roleprefix}storage/README.html
|
||||||
|
|
||||||
|
|
||||||
|
%license %{_pkgdocdir}/*/COPYING
|
||||||
|
%license %{_pkgdocdir}/*/LICENSE
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}kdump/COPYING
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}postfix/COPYING
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}selinux/COPYING
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}timesync/COPYING
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}network/LICENSE
|
||||||
|
%license %{_datadir}/ansible/roles/%{roleprefix}storage/LICENSE
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Aug 15 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-9
|
||||||
|
- Add the storage role
|
||||||
|
|
||||||
|
* Thu Jun 13 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-7
|
||||||
|
- Update tests for the network role
|
||||||
|
- Fix typo in a test for the timesync role
|
||||||
|
- Tag tests suitable for Tier1 testing
|
||||||
|
- Rebase the network role to add support for device features (PR#115,
|
||||||
|
rhbz#1696703) and atomic changes (PR#119, rhbz#1695161)
|
||||||
|
- network: apply upstream PR#121: allow modifying interface attributes
|
||||||
|
without disrupting services (rhbz#1695157)
|
||||||
|
|
||||||
|
* Wed May 29 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-6
|
||||||
|
- Rebase the selinux role, fixes typo in tests, uncovered by Ansible 2.7,
|
||||||
|
(rhbz#1677743) and lists all input variables in defaults
|
||||||
|
to make Satellite aware of them (rhbz#1674004, PR#43)
|
||||||
|
- Rebase the kdump role to fix check mode problems: rhbz#1685904
|
||||||
|
- Rebase the timesync role: fixes check mode problems (rhbz#1685904)
|
||||||
|
and lists all input variables in defaults (rhbz#1674004)
|
||||||
|
- Rebase the network role: keeps the interface up for state: up
|
||||||
|
if persistent_state is absent and solves problems with defining
|
||||||
|
VLAN and MACVLAN interface types (issue #19) (rhbz#1685902)
|
||||||
|
|
||||||
|
* Sat Jan 12 2019 Pavel Cahyna <pcahyna@redhat.com> - 1.0-5
|
||||||
|
- spec file improvement: Unify the source macros with deftag() and defcommit()
|
||||||
|
- Update to upstream released versions and drop unnecessary patches.
|
||||||
|
- Unify the spec file with Fedora (no functional changes intended).
|
||||||
|
- Misc spec file comments fixes (by Mike DePaulo)
|
||||||
|
- Fix rpmlint error by escaping a previous changelog entry with a macro (by Mike DePaulo)
|
||||||
|
- Comply with Fedora guidelines by always using "cp -p" in %%install (by Mike DePaulo)
|
||||||
|
- Rebase network role - doc improvements, Fedora 29 and Ansible 2.7 support
|
||||||
|
- Regenerate network role patch to apply without offset
|
||||||
|
- Rebase kdump role to fix a forgotten edit, rhbz#1645633
|
||||||
|
- Update timesync examples: add var prefix (rhbz#1642152), correct role prefix
|
||||||
|
- Add Obsoletes for the -techpreview subpackage
|
||||||
|
- Add warnings to role READMEs and other doc updates, rhbz#1616018
|
||||||
|
- network: split the state setting into state and persistent_state, rhbz#1616014
|
||||||
|
- depend on python-jmespath as Ansible will not ship it, rhbz#1660559
|
||||||
|
|
||||||
|
* Tue Aug 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-4
|
||||||
|
- Format the READMEs as html, by vdolezal, with changes to use highlight
|
||||||
|
(source-highlight does not understand YAML)
|
||||||
|
|
||||||
|
* Thu Aug 9 2018 Pavel Cahyna <pcahyna@redhat.com> - 1.0-3
|
||||||
|
- Rebase the network role to the last revision (d866422).
|
||||||
|
Many improvements to tests, introduces autodetection of the current provider
|
||||||
|
and defaults to using profile name as interface name.
|
||||||
|
- Rebase the selinux, timesync and kdump roles to their 1.0rc1 versions.
|
||||||
|
Many changes to the role interfaces to make them more consistent
|
||||||
|
and conforming to Ansible best practices.
|
||||||
|
- Update the description.
|
||||||
|
|
||||||
|
* Fri May 11 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-4
|
||||||
|
- Fix complaints about /usr/bin/python during RPM build by making the affected scripts non-exec
|
||||||
|
- Fix merge botch
|
||||||
|
|
||||||
|
* Mon Mar 19 2018 Troy Dawson <tdawson@redhat.com> - 0.6-3.1
|
||||||
|
- Use -a (after cd) instead of -b (before cd) in %setup
|
||||||
|
|
||||||
|
* Wed Mar 14 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-3
|
||||||
|
- Minor corrections of the previous change by Till Maas.
|
||||||
|
|
||||||
|
* Fri Mar 9 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-2
|
||||||
|
- Document network role options: static routes, ethernet, dns
|
||||||
|
Upstream PR#36, bz1550128, documents bz1487747 and bz1478576
|
||||||
|
|
||||||
|
* Tue Jan 30 2018 Pavel Cahyna <pcahyna@redhat.com> - 0.6-1
|
||||||
|
- Drop hard dependency on ansible (#1525655), patch from Yaakov Selkowitz
|
||||||
|
- Update the network role to version 0.4, solves bz#1487747, bz#1478576
|
||||||
|
|
||||||
|
* Tue Dec 19 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-3
|
||||||
|
- kdump: fix the wrong conditional for ssh checking and improve test (PR#10)
|
||||||
|
|
||||||
|
* Tue Nov 07 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-2
|
||||||
|
- kdump: add ssh support. upstream PR#9, rhbz1478707
|
||||||
|
|
||||||
|
* Tue Oct 03 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.5-1
|
||||||
|
- SELinux: fix policy reload when SELinux is disabled on CentOS/RHEL 6
|
||||||
|
(bz#1493574)
|
||||||
|
- network: update to b856c7481bf5274d419f71fb62029ea0044b3ec1 :
|
||||||
|
makes the network role idempotent (bz#1476053) and fixes manual
|
||||||
|
network provider selection (bz#1485074).
|
||||||
|
|
||||||
|
* Mon Aug 28 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.4-1
|
||||||
|
- network: update to b9b6f0a7969e400d8d6ba0ac97f69593aa1e8fa5:
|
||||||
|
ensure that state:absent followed by state:up works (bz#1478910), and change
|
||||||
|
the example IP adresses to the IANA-assigned ones.
|
||||||
|
- SELinux: fix the case when SELinux is disabled (bz#1479546).
|
||||||
|
|
||||||
|
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-2
|
||||||
|
- We can't change directories to symlinks (rpm bug #447156) so keep the old
|
||||||
|
names and create the new names as symlinks.
|
||||||
|
|
||||||
|
* Tue Aug 8 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.3-1
|
||||||
|
- Change the prefix to linux-system-roles., keeping compatibility
|
||||||
|
symlinks.
|
||||||
|
- Update the network role to dace7654feb7b5629ded0734c598e087c2713265:
|
||||||
|
adds InfiniBand support and other fixes.
|
||||||
|
- Drop a patch included upstream.
|
||||||
|
|
||||||
|
* Mon Jun 26 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-2
|
||||||
|
- Leave a copy of README and COPYING in every role's directory, as suggested by T. Bowling.
|
||||||
|
- Move the network example inventory to the documentation directory together.
|
||||||
|
with the example playbooks and delete the now empty "examples" directory.
|
||||||
|
- Use proper reserved (by RFC 7042) MAC addresses in the network examples.
|
||||||
|
|
||||||
|
* Tue Jun 6 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.2-1
|
||||||
|
- Update the networking role to version 0.2 (#1459203)
|
||||||
|
- Version every role and the package separately. They live in separate repos
|
||||||
|
and upstream release tags are not coordinated.
|
||||||
|
|
||||||
|
* Mon May 22 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-2
|
||||||
|
- Prefix the roles in examples and documentation with rhel-system-roles.
|
||||||
|
|
||||||
|
* Thu May 18 2017 Pavel Cahyna <pcahyna@redhat.com> - 0.1-1
|
||||||
|
- Update to 0.1 (first upstream release).
|
||||||
|
- Remove the tuned role, it is not ready yet.
|
||||||
|
- Move the example playbooks to /usr/share/doc/rhel-system-roles/$SUBSYSTEM
|
||||||
|
directly to get rid of an extra directory.
|
||||||
|
- Depend on ansible.
|
||||||
|
|
||||||
|
* Thu May 4 2017 Pavel Cahyna <pcahyna@redhat.com> - 0-0.1.20170504
|
||||||
|
- Initial release.
|
||||||
|
- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140
|
||||||
|
- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b
|
||||||
|
- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7
|
||||||
|
- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141
|
||||||
|
- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b
|
||||||
|
- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750
|
||||||
|
|
Loading…
Reference in New Issue
Block a user