diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..23e2df1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +SOURCES/kdump-0.1.tar.gz +SOURCES/network-b856c74.tar.gz +SOURCES/postfix-0.1.tar.gz +SOURCES/selinux-ebcb133.tar.gz +SOURCES/timesync-0.1.tar.gz diff --git a/.rhel-system-roles.metadata b/.rhel-system-roles.metadata new file mode 100644 index 0000000..95a6e71 --- /dev/null +++ b/.rhel-system-roles.metadata @@ -0,0 +1,5 @@ +f565f627f199d146cda3404de5b65c5f50e3702a SOURCES/kdump-0.1.tar.gz +ea5db7725d436ebee7c99fdbf13b161803ec5665 SOURCES/network-b856c74.tar.gz +66c82331f4ac9598c506c3999965b4d07dbfe49d SOURCES/postfix-0.1.tar.gz +41775f2004b421140cf6deb0f28284be21e7bdfa SOURCES/selinux-ebcb133.tar.gz +47b5287fbbf4e268414d28d503fe9be8b72c7747 SOURCES/timesync-0.1.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/rhel-system-roles-kdump-ssh.diff b/SOURCES/rhel-system-roles-kdump-ssh.diff new file mode 100644 index 0000000..f40192b --- /dev/null +++ b/SOURCES/rhel-system-roles-kdump-ssh.diff @@ -0,0 +1,104 @@ +diff --git a/defaults/main.yml b/defaults/main.yml +index 15a741d..270408c 100644 +--- a/defaults/main.yml ++++ b/defaults/main.yml +@@ -3,3 +3,6 @@ dump_target: null + path: /var/crash + core_collector: null + system_action: reboot ++ssh_dump_user: null ++ssh_dump_server: null ++sshkey: /root/.ssh/kdump_id_rsa +diff --git a/tasks/main.yml b/tasks/main.yml +index 2c95ced..427f83f 100644 +--- a/tasks/main.yml ++++ b/tasks/main.yml +@@ -8,6 +8,11 @@ + command: cat /sys/kernel/kexec_crash_size + register: kexec_crash_size + ++- include_tasks: ssh.yml ++ when: ++ - dump_target ++ - dump_target.kind == "ssh" ++ + - name: Generate /etc/kdump.conf + template: + src: kdump.conf.j2 +diff --git a/tasks/ssh.yml b/tasks/ssh.yml +new file mode 100644 +index 0000000..2df84a8 +--- /dev/null ++++ b/tasks/ssh.yml +@@ -0,0 +1,17 @@ ++--- ++- stat: path="{{ sshkey }}" ++ register: sshkey_stats ++ ++- command: "/usr/bin/ssh-keygen -t rsa -f {{ sshkey }} -N '' " ++ when: sshkey_stats.stat.exists == False ++ ++- name: cat file to register ++ shell: cat {{ sshkey }}.pub ++ register: keydata ++ ++- name: ++ authorized_key: ++ user: "{{ ssh_dump_user }}" ++ key: "{{ keydata.stdout }}" ++ state: present ++ delegate_to: "{{ ssh_dump_server }}" +diff --git a/templates/kdump.conf.j2 b/templates/kdump.conf.j2 +index 260e842..1b48ba3 100644 +--- a/templates/kdump.conf.j2 ++++ b/templates/kdump.conf.j2 +@@ -4,6 +4,11 @@ + {% if dump_target %} + {{ dump_target.kind }} {{ dump_target.location }} + {% endif %} ++ ++{% if dump_target and dump_target.kind == "ssh" and sshkey != '/root/.ssh/kdump_id_rsa' %} ++sshkey {{ sshkey }} ++{% endif %} ++ + path {{ path }} + {% if core_collector %} + core_collector {{ core_collector }} +diff --git a/test/test_ssh.yml b/test/test_ssh.yml +new file mode 100644 +index 0000000..af8b51e +--- /dev/null ++++ b/test/test_ssh.yml +@@ -0,0 +1,32 @@ ++ ++- name: Ensure that the rule runs with ssh ++ hosts: all ++ vars: ++ # this is the outside address under which the ssh dump server is ++ # known and ansible is supposed to be configured to be able to ++ # connect to it (via inventory). ++ ssh_dump_server_outside: localhost ++ ++ tasks: ++ - name: gather facts from {{ ssh_dump_server_outside }} ++ setup: ++ delegate_to: "{{ ssh_dump_server_outside }}" ++ delegate_facts: True ++ ++ - include_role: ++ name: kdump ++ vars: ++ ssh_dump_user: "{{ hostvars[ssh_dump_server_outside]['ansible_user_id'] }}" ++ # This is the outside address. Ansible will connect to it to ++ # copy the ssh key. ++ ssh_dump_server: "{{ ssh_dump_server_outside }}" ++ path: /tmp/test ++ dump_target: ++ kind: 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: "{{ ssh_dump_user }}@{{ ansible_default_ipv4.gateway }}" diff --git a/SOURCES/rhel-system-roles-network-prefix.diff b/SOURCES/rhel-system-roles-network-prefix.diff new file mode 100644 index 0000000..d2a22dc --- /dev/null +++ b/SOURCES/rhel-system-roles-network-prefix.diff @@ -0,0 +1,50 @@ +diff --git a/examples/bond-with-vlan.yml b/examples/bond-with-vlan.yml +index d120f13..4023c8d 100644 +--- a/examples/bond-with-vlan.yml ++++ b/examples/bond-with-vlan.yml +@@ -34,4 +34,4 @@ + - "192.0.2.{{ network_iphost }}/24" + + roles: +- - network ++ - linux-system-roles.network +diff --git a/examples/bridge-with-vlan.yml b/examples/bridge-with-vlan.yml +index ce48443..63c935b 100644 +--- a/examples/bridge-with-vlan.yml ++++ b/examples/bridge-with-vlan.yml +@@ -32,4 +32,4 @@ + - "192.0.2.{{ network_iphost }}/24" + + roles: +- - network ++ - linux-system-roles.network +diff --git a/examples/eth-simple-auto.yml b/examples/eth-simple-auto.yml +index 5934ca8..8fa0147 100644 +--- a/examples/eth-simple-auto.yml ++++ b/examples/eth-simple-auto.yml +@@ -14,4 +14,4 @@ + mtu: 1450 + + roles: +- - network ++ - linux-system-roles.network +diff --git a/examples/eth-with-vlan.yml b/examples/eth-with-vlan.yml +index d269886..fb9b2d9 100644 +--- a/examples/eth-with-vlan.yml ++++ b/examples/eth-with-vlan.yml +@@ -24,4 +24,4 @@ + - "192.0.2.{{ network_iphost }}/24" + + roles: +- - network ++ - linux-system-roles.network +diff --git a/examples/infiniband.yml b/examples/infiniband.yml +index ca1db67..1054e70 100644 +--- a/examples/infiniband.yml ++++ b/examples/infiniband.yml +@@ -21,4 +21,4 @@ + - 198.51.100.133/30 + + roles: +- - network ++ - linux-system-roles.network diff --git a/SOURCES/rhel-system-roles-postfix-prefix.diff b/SOURCES/rhel-system-roles-postfix-prefix.diff new file mode 100644 index 0000000..65ab2a1 --- /dev/null +++ b/SOURCES/rhel-system-roles-postfix-prefix.diff @@ -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 + ``` + + diff --git a/SOURCES/rhel-system-roles-selinux-prefix.diff b/SOURCES/rhel-system-roles-selinux-prefix.diff new file mode 100644 index 0000000..dd73ab8 --- /dev/null +++ b/SOURCES/rhel-system-roles-selinux-prefix.diff @@ -0,0 +1,23 @@ +diff --git a/README.md b/README.md +index 80bcf89..cf8cb1b 100644 +--- a/README.md ++++ b/README.md +@@ -42,7 +42,7 @@ This role can be configured using variables as it is described bellow. + vars: + [ see bellow ] + roles: +- - role: selinux ++ - role: linux-system-roles.selinux + become: true + ``` + +diff --git a/selinux-playbook.yml b/selinux-playbook.yml +index 28e072c..a5dad27 100644 +--- a/selinux-playbook.yml ++++ b/selinux-playbook.yml +@@ -31,4 +31,4 @@ + name: sar-user + + roles: +- - selinux ++ - linux-system-roles.selinux diff --git a/SOURCES/rhel-system-roles-timesync-prefix.diff b/SOURCES/rhel-system-roles-timesync-prefix.diff new file mode 100644 index 0000000..58516d1 --- /dev/null +++ b/SOURCES/rhel-system-roles-timesync-prefix.diff @@ -0,0 +1,29 @@ +diff --git a/README.md b/README.md +index f419e0b..0d2112d 100644 +--- a/README.md ++++ b/README.md +@@ -64,7 +64,7 @@ Install and configure ntp to synchronize the system clock with three NTP servers + - hostname: baz.example.com + iburst: yes + roles: +- - timesync ++ - linux-system-roles.timesync + ``` + + Install and configure linuxptp to synchronize the system clock with a +@@ -77,7 +77,7 @@ grandmaster in PTP domain number 0, which is accessible on interface eth0: + - number: 0 + interfaces: [ eth0 ] + roles: +- - timesync ++ - linux-system-roles.timesync + ``` + + Install and configure chrony and linuxptp to synchronize the system clock with +@@ -104,5 +104,5 @@ synchronization: + transport: UDPv4 + delay: 0.000010 + roles: +- - timesync ++ - linux-system-roles.timesync + ``` diff --git a/SOURCES/timesync-playbook.yml b/SOURCES/timesync-playbook.yml new file mode 100644 index 0000000..1b1b081 --- /dev/null +++ b/SOURCES/timesync-playbook.yml @@ -0,0 +1,14 @@ +--- +- hosts: targets + vars: + ntp_servers: + - hostname: 0.rhel.pool.ntp.org + iburst: yes + - hostname: 1.rhel.pool.ntp.org + iburst: yes + - hostname: 2.rhel.pool.ntp.org + iburst: yes + - hostname: 3.rhel.pool.ntp.org + iburst: yes + roles: + - linux-system-roles.timesync diff --git a/SOURCES/timesync-pool-playbook.yml b/SOURCES/timesync-pool-playbook.yml new file mode 100644 index 0000000..f186a53 --- /dev/null +++ b/SOURCES/timesync-pool-playbook.yml @@ -0,0 +1,9 @@ +--- +- hosts: targets + vars: + ntp_servers: + - hostname: 2.rhel.pool.ntp.org + pool: yes + iburst: yes + roles: + - linux-system-roles.timesync diff --git a/SPECS/rhel-system-roles.spec b/SPECS/rhel-system-roles.spec new file mode 100644 index 0000000..6b7b791 --- /dev/null +++ b/SPECS/rhel-system-roles.spec @@ -0,0 +1,235 @@ +Name: rhel-system-roles +Summary: Set of interfaces for unified system management +Version: 0.5 +Release: 3%{?dist} + +#Group: Development/Libraries +License: GPLv3+ and MIT and BSD +%global rolecompatprefix rhel-system-roles. +%global roleprefix linux-system-roles. + +%global commit0 fe8bb81966b60fa8979f3816a12b0c7120d71140 +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) +%global rolename0 kdump +%global version0 0.1 + +%global commit1 43eec5668425d295dce3801216c19b1916df1f9b +%global shortcommit1 %(c=%{commit1}; echo ${c:0:7}) +%global rolename1 postfix +%global version1 0.1 + +%global commit2 ebcb133649fb5aba5bf0b7a64f2db2b90aadda1b +%global shortcommit2 %(c=%{commit2}; echo ${c:0:7}) +%global rolename2 selinux +#%%global version2 0.1 + +%global commit3 33a1a8c349de10d6281ed83d4c791e9177d7a141 +%global shortcommit3 %(c=%{commit3}; echo ${c:0:7}) +%global rolename3 timesync +%global version3 0.1 + +%global commit5 b856c7481bf5274d419f71fb62029ea0044b3ec1 +%global shortcommit5 %(c=%{commit5}; echo ${c:0:7}) +%global rolename5 network +#%%global version5 0.2 + + +Source: https://github.com/linux-system-roles/%{rolename0}/archive/%{version0}.tar.gz#/%{rolename0}-%{version0}.tar.gz +Source1: https://github.com/linux-system-roles/%{rolename1}/archive/%{version1}.tar.gz#/%{rolename1}-%{version1}.tar.gz +Source2: https://github.com/linux-system-roles/%{rolename2}/archive/%{commit2}.tar.gz#/%{rolename2}-%{shortcommit2}.tar.gz +Source3: https://github.com/linux-system-roles/%{rolename3}/archive/%{version3}.tar.gz#/%{rolename3}-%{version3}.tar.gz +Source5: https://github.com/linux-system-roles/%{rolename5}/archive/%{commit5}.tar.gz#/%{rolename5}-%{shortcommit5}.tar.gz + +Source6: timesync-playbook.yml +Source7: timesync-pool-playbook.yml + +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 + +Patch101: rhel-system-roles-kdump-ssh.diff + +Url: https://github.com/linux-system-roles/ +BuildArch: noarch + +Requires: ansible + +%description +Collection of interfaces serving as a stable API for the management +of the RHEL operating system across major releases, implemented +using Ansible. + + +%prep +%setup -qc -b1 -b2 -b3 -b5 +cd %{rolename0}-%{version0} +%patch101 -p1 +cd .. +cd %{rolename1}-%{version1} +%patch1 -p1 +cd .. +cd %{rolename2}-%{commit2} +%patch2 -p1 +cd .. +cd %{rolename3}-%{version3} +%patch3 -p1 +cd .. +cd %{rolename5}-%{commit5} +%patch5 -p1 +cd .. + +%build + +%install +mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles + +cp -pR %{rolename0}-%{version0} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename0} +cp -pR %{rolename1}-%{version1} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename1} +cp -pR %{rolename2}-%{commit2} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename2} +cp -pR %{rolename3}-%{version3} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename3} +cp -pR %{rolename5}-%{commit5} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}%{rolename5} + +ln -s %{rolecompatprefix}%{rolename0} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename0} +ln -s %{rolecompatprefix}%{rolename1} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename1} +ln -s %{rolecompatprefix}%{rolename2} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename2} +ln -s %{rolecompatprefix}%{rolename3} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename3} +ln -s %{rolecompatprefix}%{rolename5} $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{roleprefix}%{rolename5} + +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 +install -p -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-playbook.yml +install -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_pkgdocdir}/timesync/example-timesync-pool-playbook.yml +mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/network + +cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md \ + $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING \ + $RPM_BUILD_ROOT%{_pkgdocdir}/kdump + +cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md \ + $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING \ + $RPM_BUILD_ROOT%{_pkgdocdir}/postfix + +cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md \ + $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING \ + $RPM_BUILD_ROOT%{_pkgdocdir}/selinux +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}selinux/selinux-playbook.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/selinux/example-selinux-playbook.yml + +cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md \ + $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING \ + $RPM_BUILD_ROOT%{_pkgdocdir}/timesync + +cp -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md \ + $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/COPYING \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bond-with-vlan.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bond-with-vlan-playbook.yml +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/bridge-with-vlan.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-bridge-with-vlan-playbook.yml +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-simple-auto.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-simple-auto-playbook.yml +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/eth-with-vlan.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-eth-with-vlan-playbook.yml +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/infiniband.yml \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-infiniband-playbook.yml +mv $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/inventory \ + $RPM_BUILD_ROOT%{_pkgdocdir}/network/example-inventory + +rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/.gitignore +rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/test/.gitignore +rm $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/roles/network +rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples/roles +rmdir $RPM_BUILD_ROOT%{_datadir}/ansible/roles/%{rolecompatprefix}network/examples + +%files +%{_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/%{rolecompatprefix}kdump +%{_datadir}/ansible/roles/%{rolecompatprefix}postfix +%{_datadir}/ansible/roles/%{rolecompatprefix}selinux +%{_datadir}/ansible/roles/%{rolecompatprefix}timesync +%{_datadir}/ansible/roles/%{rolecompatprefix}network +%doc %{_pkgdocdir}/*/example-*-playbook.yml +%doc %{_pkgdocdir}/network/example-inventory +%doc %{_pkgdocdir}/*/README.md +%doc %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/README.md +%doc %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/README.md +%doc %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/README.md +%doc %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/README.md +%doc %{_datadir}/ansible/roles/%{rolecompatprefix}network/README.md + + +%license %{_pkgdocdir}/*/COPYING +%license %{_datadir}/ansible/roles/%{rolecompatprefix}kdump/COPYING +%license %{_datadir}/ansible/roles/%{rolecompatprefix}postfix/COPYING +%license %{_datadir}/ansible/roles/%{rolecompatprefix}selinux/COPYING +%license %{_datadir}/ansible/roles/%{rolecompatprefix}timesync/COPYING +%license %{_datadir}/ansible/roles/%{rolecompatprefix}network/COPYING + +%changelog +* Tue Dec 19 2017 Pavel Cahyna - 0.5-3 +- kdump: fix the wrong conditional for ssh checking and improve test (PR#10) + +* Tue Nov 07 2017 Pavel Cahyna - 0.5-2 +- kdump: add ssh support. upstream PR#9, rhbz1478707 + +* Tue Oct 03 2017 Pavel Cahyna - 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 - 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 - 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 - 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 - 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 - 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 - 0.1-2 +- Prefix the roles in examples and documentation with rhel-system-roles. + +* Thu May 18 2017 Pavel Cahyna - 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 - 0-0.1.20170504 +- Initial release. +- kdump r. fe8bb81966b60fa8979f3816a12b0c7120d71140 +- postfix r. 43eec5668425d295dce3801216c19b1916df1f9b +- selinux r. 1e4a21f929455e5e76dda0b12867abaa63795ae7 +- timesync r. 33a1a8c349de10d6281ed83d4c791e9177d7a141 +- tuned r. 2e8bb068b9815bc84287e9b6dc6177295ffdf38b +- network r. 03ff040df78a14409a0d89eba1235b8f3e50a750 +