From b8e0041be5c70eafda00a6505ea7faa9898dc821 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 1 Jan 2020 22:34:15 -0600 Subject: [PATCH 01/51] Handle OS requirements for Ansible --- .gitignore | 97 ++++++++++++++++++++++ .travis.yml | 29 +++++++ LICENSE | 163 +++++++++++++++++++++++++++++++++++++ README.md | 38 +++++++++ defaults/main.yml | 2 + handlers/main.yml | 2 + meta/main.yml | 53 ++++++++++++ tasks/Debian-default.yml | 21 +++++ tasks/RedHat-6-default.yml | 20 +++++ tasks/main.yml | 19 +++++ tests/inventory | 2 + tests/test.yml | 5 ++ vars/main.yml | 2 + 13 files changed, 453 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 meta/main.yml create mode 100644 tasks/Debian-default.yml create mode 100644 tasks/RedHat-6-default.yml create mode 100644 tasks/main.yml create mode 100644 tests/inventory create mode 100644 tests/test.yml create mode 100644 vars/main.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce59d0b --- /dev/null +++ b/.gitignore @@ -0,0 +1,97 @@ +# ---> Ansible +*.retry + +# ---> Windows +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ---> macOS +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# ---> Linux +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +# ---> Vim +# Swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ + +# ---> VisualStudioCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,29 @@ +--- +language: python +python: "2.7" + +# Use the new container infrastructure +sudo: false + +# Install ansible +addons: + apt: + packages: + - python-pip + +install: + # Install ansible + - pip install ansible + + # Check ansible version + - ansible --version + + # Create ansible.cfg with correct roles_path + - printf '[defaults]\nroles_path=../' >ansible.cfg + +script: + # Basic role syntax check + - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + +notifications: + webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..1344add --- /dev/null +++ b/LICENSE @@ -0,0 +1,163 @@ +GNU LESSER GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +This version of the GNU Lesser General Public License incorporates the terms +and conditions of version 3 of the GNU General Public License, supplemented +by the additional permissions listed below. + + 0. Additional Definitions. + + + +As used herein, "this License" refers to version 3 of the GNU Lesser General +Public License, and the "GNU GPL" refers to version 3 of the GNU General Public +License. + + + +"The Library" refers to a covered work governed by this License, other than +an Application or a Combined Work as defined below. + + + +An "Application" is any work that makes use of an interface provided by the +Library, but which is not otherwise based on the Library. Defining a subclass +of a class defined by the Library is deemed a mode of using an interface provided +by the Library. + + + +A "Combined Work" is a work produced by combining or linking an Application +with the Library. The particular version of the Library with which the Combined +Work was made is also called the "Linked Version". + + + +The "Minimal Corresponding Source" for a Combined Work means the Corresponding +Source for the Combined Work, excluding any source code for portions of the +Combined Work that, considered in isolation, are based on the Application, +and not on the Linked Version. + + + +The "Corresponding Application Code" for a Combined Work means the object +code and/or source code for the Application, including any data and utility +programs needed for reproducing the Combined Work from the Application, but +excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + +You may convey a covered work under sections 3 and 4 of this License without +being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + +If you modify a copy of the Library, and, in your modifications, a facility +refers to a function or data to be supplied by an Application that uses the +facility (other than as an argument passed when the facility is invoked), +then you may convey a copy of the modified version: + +a) under this License, provided that you make a good faith effort to ensure +that, in the event an Application does not supply the function or data, the +facility still operates, and performs whatever part of its purpose remains +meaningful, or + +b) under the GNU GPL, with none of the additional permissions of this License +applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + +The object code form of an Application may incorporate material from a header +file that is part of the Library. You may convey such object code under terms +of your choice, provided that, if the incorporated material is not limited +to numerical parameters, data structure layouts and accessors, or small macros, +inline functions and templates (ten or fewer lines in length), you do both +of the following: + +a) Give prominent notice with each copy of the object code that the Library +is used in it and that the Library and its use are covered by this License. + +b) Accompany the object code with a copy of the GNU GPL and this license document. + + 4. Combined Works. + +You may convey a Combined Work under terms of your choice that, taken together, +effectively do not restrict modification of the portions of the Library contained +in the Combined Work and reverse engineering for debugging such modifications, +if you also do each of the following: + +a) Give prominent notice with each copy of the Combined Work that the Library +is used in it and that the Library and its use are covered by this License. + +b) Accompany the Combined Work with a copy of the GNU GPL and this license +document. + +c) For a Combined Work that displays copyright notices during execution, include +the copyright notice for the Library among these notices, as well as a reference +directing the user to the copies of the GNU GPL and this license document. + + d) Do one of the following: + +0) Convey the Minimal Corresponding Source under the terms of this License, +and the Corresponding Application Code in a form suitable for, and under terms +that permit, the user to recombine or relink the Application with a modified +version of the Linked Version to produce a modified Combined Work, in the +manner specified by section 6 of the GNU GPL for conveying Corresponding Source. + +1) Use a suitable shared library mechanism for linking with the Library. A +suitable mechanism is one that (a) uses at run time a copy of the Library +already present on the user's computer system, and (b) will operate properly +with a modified version of the Library that is interface-compatible with the +Linked Version. + +e) Provide Installation Information, but only if you would otherwise be required +to provide such information under section 6 of the GNU GPL, and only to the +extent that such information is necessary to install and execute a modified +version of the Combined Work produced by recombining or relinking the Application +with a modified version of the Linked Version. (If you use option 4d0, the +Installation Information must accompany the Minimal Corresponding Source and +Corresponding Application Code. If you use option 4d1, you must provide the +Installation Information in the manner specified by section 6 of the GNU GPL +for conveying Corresponding Source.) + + 5. Combined Libraries. + +You may place library facilities that are a work based on the Library side +by side in a single library together with other library facilities that are +not Applications and are not covered by this License, and convey such a combined +library under terms of your choice, if you do both of the following: + +a) Accompany the combined library with a copy of the same work based on the +Library, uncombined with any other library facilities, conveyed under the +terms of this License. + +b) Give prominent notice with the combined library that part of it is a work +based on the Library, and explaining where to find the accompanying uncombined +form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + +The Free Software Foundation may publish revised and/or new versions of the +GNU Lesser General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to address +new problems or concerns. + +Each version is given a distinguishing version number. If the Library as you +received it specifies that a certain numbered version of the GNU Lesser General +Public License "or any later version" applies to it, you have the option of +following the terms and conditions either of that published version or of +any later version published by the Free Software Foundation. If the Library +as you received it does not specify a version number of the GNU Lesser General +Public License, you may choose any version of the GNU Lesser General Public +License ever published by the Free Software Foundation. + +If the Library as you received it specifies that a proxy can decide whether +future versions of the GNU Lesser General Public License shall apply, that +proxy's public statement of acceptance of any version is permanent authorization +for you to choose that version for the Library. diff --git a/README.md b/README.md new file mode 100644 index 0000000..225dd44 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +Role Name +========= + +A brief description of the role goes here. + +Requirements +------------ + +Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required. + +Role Variables +-------------- + +A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well. + +Dependencies +------------ + +A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles. + +Example Playbook +---------------- + +Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: + + - hosts: servers + roles: + - { role: username.rolename, x: 42 } + +License +------- + +BSD + +Author Information +------------------ + +An optional section for the role authors to include contact information, or a website (HTML is not allowed). diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..3a6b64a --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for ensure_ansible_prereq \ No newline at end of file diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..86780b6 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,2 @@ +--- +# handlers file for ensure_ansible_prereq \ No newline at end of file diff --git a/meta/main.yml b/meta/main.yml new file mode 100644 index 0000000..227ad9c --- /dev/null +++ b/meta/main.yml @@ -0,0 +1,53 @@ +galaxy_info: + author: your name + description: your role description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: license (GPL-2.0-or-later, MIT, etc) + + min_ansible_version: 2.9 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. + \ No newline at end of file diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml new file mode 100644 index 0000000..82d7c58 --- /dev/null +++ b/tasks/Debian-default.yml @@ -0,0 +1,21 @@ +--- +# tasks file for ensure_ansible_prereq +- name: 'package states' + package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - { name: 'python-apt', state: 'present' } + - { name: 'sudo', state: 'present' } + loop_control: + label: '{{ item.name }} will be {{ item.state }}' +- name: 'service states' + service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - { enables: 'yes', name: 'acpid', state: 'started' } + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml new file mode 100644 index 0000000..4bcddd1 --- /dev/null +++ b/tasks/RedHat-6-default.yml @@ -0,0 +1,20 @@ +--- +# tasks file for ensure_ansible_prereq +- name: 'package states' + package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - { name: 'acpid', state: 'present' } + loop_control: + label: '{{ item.name }} will be {{ item.state }}' +- name: 'service states' + service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - { enables: 'yes', name: 'acpid', state: 'started' } + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..1cdb6ab --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,19 @@ +--- +# tasks file for ensure_ansible_prereq +- name: 'include variables' + when: + - ansible_system == 'Linux' + include_tasks: + file: '{{ lookup("first_found", findme ) }}' + vars: + findme: + files: + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_distribution }}-default.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_os_family }}-default.yml' + - 'default.yml' + errors: 'ignore' + diff --git a/tests/inventory b/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/tests/test.yml b/tests/test.yml new file mode 100644 index 0000000..6494e8f --- /dev/null +++ b/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - ensure_ansible_prereq \ No newline at end of file diff --git a/vars/main.yml b/vars/main.yml new file mode 100644 index 0000000..ce82ad2 --- /dev/null +++ b/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for ensure_ansible_prereq \ No newline at end of file From 82cea30711d9f2bb485f11138883421a69b22921 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 1 Jan 2020 22:49:40 -0600 Subject: [PATCH 02/51] Strip debian cdrom repos --- tasks/Debian-default.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 82d7c58..6bf8578 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -1,5 +1,9 @@ --- # tasks file for ensure_ansible_prereq +- name: 'repository changes' + apt_repository: + repo: 'deb cdrom:*' + state: absent - name: 'package states' package: name: '{{ item.name }}' From fbaefe40e39ee15d8ea3d1f9401ee951592cfcaf Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 1 Jan 2020 22:50:50 -0600 Subject: [PATCH 03/51] Remove service states from Debian as we don't have any... yet --- tasks/Debian-default.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 6bf8578..130cf7b 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -13,13 +13,4 @@ - { name: 'sudo', state: 'present' } loop_control: label: '{{ item.name }} will be {{ item.state }}' -- name: 'service states' - service: - enabled: '{{ item.enabled }}' - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - { enables: 'yes', name: 'acpid', state: 'started' } - loop_control: - label: '{{ item.name }} will be {{ item.state }}' From 758f0b2d54aaeca6b76aab12584ddf6714663ae5 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 1 Jan 2020 23:02:58 -0600 Subject: [PATCH 04/51] Skip if we don't have special things to do, and pass right values for EL6 service changes --- tasks/RedHat-6-default.yml | 2 +- tasks/default.yml | 2 ++ tasks/main.yml | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 tasks/default.yml diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml index 4bcddd1..36938b3 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/RedHat-6-default.yml @@ -14,7 +14,7 @@ name: '{{ item.name }}' state: '{{ item.state }}' loop: - - { enables: 'yes', name: 'acpid', state: 'started' } + - { enabled: 'yes', name: 'acpid', state: 'started' } loop_control: label: '{{ item.name }} will be {{ item.state }}' diff --git a/tasks/default.yml b/tasks/default.yml new file mode 100644 index 0000000..cc5ea92 --- /dev/null +++ b/tasks/default.yml @@ -0,0 +1,2 @@ +--- +# tasks file for ensure_ansible_prereq diff --git a/tasks/main.yml b/tasks/main.yml index 1cdb6ab..d9635c8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,6 +7,7 @@ file: '{{ lookup("first_found", findme ) }}' vars: findme: + errors: 'ignore' files: - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' @@ -15,5 +16,5 @@ - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' - '{{ ansible_os_family }}-default.yml' - 'default.yml' - errors: 'ignore' + skip: 'true' From 83ebd1d6a17d4de454040c45668ce7143819eeb3 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 1 Jan 2020 23:48:51 -0600 Subject: [PATCH 05/51] Use error ignore instead of skip yes to remove deprecation warning --- tasks/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index d9635c8..1cdb6ab 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -7,7 +7,6 @@ file: '{{ lookup("first_found", findme ) }}' vars: findme: - errors: 'ignore' files: - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' @@ -16,5 +15,5 @@ - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' - '{{ ansible_os_family }}-default.yml' - 'default.yml' - skip: 'true' + errors: 'ignore' From c0de694b123941ac5d9cb69772a4e7cc0f811fea Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 28 Mar 2020 17:31:55 -0500 Subject: [PATCH 06/51] Make dictionaries maintainable --- tasks/Debian-default.yml | 6 ++++-- tasks/RedHat-6-default.yml | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 130cf7b..3ae47f9 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -9,8 +9,10 @@ name: '{{ item.name }}' state: '{{ item.state }}' loop: - - { name: 'python-apt', state: 'present' } - - { name: 'sudo', state: 'present' } + - name: 'python-apt' + state: 'present' + - name: 'sudo' + state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml index 36938b3..a609f15 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/RedHat-6-default.yml @@ -14,7 +14,9 @@ name: '{{ item.name }}' state: '{{ item.state }}' loop: - - { enabled: 'yes', name: 'acpid', state: 'started' } + - enabled: 'yes' + name: 'acpid' + state: 'started' loop_control: label: '{{ item.name }} will be {{ item.state }}' From 466e7e22b2d7eed9d34fbb0a1b2bcb3cdccfacd1 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 28 Mar 2020 17:37:34 -0500 Subject: [PATCH 07/51] Make metadata match license --- meta/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/main.yml b/meta/main.yml index 227ad9c..f0b047c 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,6 +1,6 @@ galaxy_info: - author: your name - description: your role description + author: Jason Rothstein + description: Ensure required pre-req are present for ansible management company: your company (optional) # If the issue tracker for your role is not on github, uncomment the @@ -14,7 +14,7 @@ galaxy_info: # - GPL-3.0-only # - Apache-2.0 # - CC-BY-4.0 - license: license (GPL-2.0-or-later, MIT, etc) + license: LGPL-3.0-or-later min_ansible_version: 2.9 From 008d73322d3e93694b572334605c6e74b5f72aa3 Mon Sep 17 00:00:00 2001 From: jmrothst Date: Sun, 29 Nov 2020 23:40:12 +0000 Subject: [PATCH 08/51] Update 'tasks/RedHat-6-default.yml' --- tasks/RedHat-6-default.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml index a609f15..4761033 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/RedHat-6-default.yml @@ -5,7 +5,8 @@ name: '{{ item.name }}' state: '{{ item.state }}' loop: - - { name: 'acpid', state: 'present' } + - name: 'acpid' + state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' - name: 'service states' From 7df7ca764e704af9d4859e5865e56e3e0327f008 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 29 Nov 2020 17:53:24 -0600 Subject: [PATCH 09/51] All tasks now use FQCN --- README.md | 2 +- handlers/main.yml | 6 +++++- tasks/Debian-default.yml | 8 +++++--- tasks/RedHat-6-default.yml | 11 ++++++++--- tasks/main.yml | 5 +++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 225dd44..ec1f301 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Including an example of how to use your role (for instance, with variables passe License ------- -BSD +LGPL-3.0-or-later Author Information ------------------ diff --git a/handlers/main.yml b/handlers/main.yml index 86780b6..58ad924 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,2 +1,6 @@ --- -# handlers file for ensure_ansible_prereq \ No newline at end of file +# handlers file for ensure_ansible_prereq +- name: 'ensure_ansible_prereq.package_facts' + ansible.builtin.package_facts: +- name: 'ensure_ansible_prereq.service_facts' + ansible.builtin.service_facts: diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 3ae47f9..5d8cd3f 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -1,11 +1,11 @@ --- # tasks file for ensure_ansible_prereq - name: 'repository changes' - apt_repository: + ansible.builtin.apt_repository: repo: 'deb cdrom:*' state: absent - name: 'package states' - package: + ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' loop: @@ -15,4 +15,6 @@ state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' - + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml index 4761033..ad8f599 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/RedHat-6-default.yml @@ -1,7 +1,7 @@ --- # tasks file for ensure_ansible_prereq - name: 'package states' - package: + ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' loop: @@ -9,8 +9,11 @@ state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' - name: 'service states' - service: + ansible.builtin.service: enabled: '{{ item.enabled }}' name: '{{ item.name }}' state: '{{ item.state }}' @@ -20,4 +23,6 @@ state: 'started' loop_control: label: '{{ item.name }} will be {{ item.state }}' - + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' diff --git a/tasks/main.yml b/tasks/main.yml index 1cdb6ab..aeb5081 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -3,7 +3,7 @@ - name: 'include variables' when: - ansible_system == 'Linux' - include_tasks: + ansible.builtin.include_tasks: file: '{{ lookup("first_found", findme ) }}' vars: findme: @@ -16,4 +16,5 @@ - '{{ ansible_os_family }}-default.yml' - 'default.yml' errors: 'ignore' - +- name: 'flush handlers' + ansible.builtin.meta: 'flush_handlers' From ce5bf115b80eeca97d54d7277d2af6a3754d1008 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 29 Nov 2020 18:14:15 -0600 Subject: [PATCH 10/51] Ansible 2.9 does not let FQCN be used with meta --- tasks/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index aeb5081..19304e2 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -17,4 +17,5 @@ - 'default.yml' errors: 'ignore' - name: 'flush handlers' - ansible.builtin.meta: 'flush_handlers' + collection: 'ansible.builtin' + meta: 'flush_handlers' From 6572f20498a524b5d7538a26d2c05d91290b9228 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 29 Nov 2020 18:17:23 -0600 Subject: [PATCH 11/51] remote collections line for meta --- tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 19304e2..c688516 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -17,5 +17,4 @@ - 'default.yml' errors: 'ignore' - name: 'flush handlers' - collection: 'ansible.builtin' meta: 'flush_handlers' From eab59307cca3df3fbbfa85b1ba6eab007466d372 Mon Sep 17 00:00:00 2001 From: jmrothst Date: Mon, 30 Nov 2020 01:15:12 +0000 Subject: [PATCH 12/51] Remove FQCN --- tasks/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index c688516..882d194 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,9 +1,9 @@ --- # tasks file for ensure_ansible_prereq -- name: 'include variables' +- name: 'include vendor / version specific tasks' when: - ansible_system == 'Linux' - ansible.builtin.include_tasks: + include_tasks: file: '{{ lookup("first_found", findme ) }}' vars: findme: From 92b5b71d156e3f5f9c0e447f44bd77c439f94e61 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 29 Nov 2020 21:03:40 -0600 Subject: [PATCH 13/51] Ensure SELinux python bindings exist on EL 6 --- tasks/RedHat-6-default.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/RedHat-6-default.yml b/tasks/RedHat-6-default.yml index ad8f599..47b7ed8 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/RedHat-6-default.yml @@ -7,6 +7,8 @@ loop: - name: 'acpid' state: 'present' + - name: 'libselinux-python' + state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: From 9e8e9c8cc6a27a22d8008a66f1a1b20e45005197 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 29 Nov 2020 21:49:46 -0600 Subject: [PATCH 14/51] Be specific about OS Vendor support, and add additional EL 6 fixups --- ...Hat-6-default.yml => CentOS-6-default.yml} | 8 ++++ tasks/Oracle-6-default.yml | 38 +++++++++++++++++++ 2 files changed, 46 insertions(+) rename tasks/{RedHat-6-default.yml => CentOS-6-default.yml} (79%) create mode 100644 tasks/Oracle-6-default.yml diff --git a/tasks/RedHat-6-default.yml b/tasks/CentOS-6-default.yml similarity index 79% rename from tasks/RedHat-6-default.yml rename to tasks/CentOS-6-default.yml index 47b7ed8..50e5c52 100644 --- a/tasks/RedHat-6-default.yml +++ b/tasks/CentOS-6-default.yml @@ -9,6 +9,14 @@ state: 'present' - name: 'libselinux-python' state: 'present' + - name: 'pyOpenSSL' + state: 'present' + - name: 'python-pyasn1' + state: 'present' + - name: 'python-urllib3' + state: 'present' + - name: 'python2-ndg_httpsclient' + state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: diff --git a/tasks/Oracle-6-default.yml b/tasks/Oracle-6-default.yml new file mode 100644 index 0000000..50e5c52 --- /dev/null +++ b/tasks/Oracle-6-default.yml @@ -0,0 +1,38 @@ +--- +# tasks file for ensure_ansible_prereq +- name: 'package states' + ansible.builtin.package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - name: 'acpid' + state: 'present' + - name: 'libselinux-python' + state: 'present' + - name: 'pyOpenSSL' + state: 'present' + - name: 'python-pyasn1' + state: 'present' + - name: 'python-urllib3' + state: 'present' + - name: 'python2-ndg_httpsclient' + state: 'present' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' +- name: 'service states' + ansible.builtin.service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: + - enabled: 'yes' + name: 'acpid' + state: 'started' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' From 160ab649170ca1192eec1e794b27657f7a45a0b7 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 5 Dec 2020 23:23:46 -0600 Subject: [PATCH 15/51] Use common package install via variables rather than hard code the task --- tasks/CentOS-6-default.yml | 38 ---------------------------------- tasks/Debian-default.yml | 17 ++------------- tasks/Oracle-6-default.yml | 38 ---------------------------------- tasks/main.yml | 42 ++++++++++++++++++++++++++++++++++++++ vars/CentOS-6-default.yml | 22 ++++++++++++++++++++ vars/CentOS-7-default.yml | 8 ++++++++ vars/CentOS-8-default.yml | 8 ++++++++ vars/Debian-default.yml | 8 ++++++++ vars/Fedora-30-default.yml | 8 ++++++++ vars/Fedora-31-default.yml | 8 ++++++++ vars/Fedora-32-default.yml | 8 ++++++++ vars/Fedora-33-default.yml | 8 ++++++++ vars/default.yml | 2 ++ 13 files changed, 124 insertions(+), 91 deletions(-) delete mode 100644 tasks/CentOS-6-default.yml delete mode 100644 tasks/Oracle-6-default.yml create mode 100644 vars/CentOS-6-default.yml create mode 100644 vars/CentOS-7-default.yml create mode 100644 vars/CentOS-8-default.yml create mode 100644 vars/Debian-default.yml create mode 100644 vars/Fedora-30-default.yml create mode 100644 vars/Fedora-31-default.yml create mode 100644 vars/Fedora-32-default.yml create mode 100644 vars/Fedora-33-default.yml create mode 100644 vars/default.yml diff --git a/tasks/CentOS-6-default.yml b/tasks/CentOS-6-default.yml deleted file mode 100644 index 50e5c52..0000000 --- a/tasks/CentOS-6-default.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -# tasks file for ensure_ansible_prereq -- name: 'package states' - ansible.builtin.package: - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - name: 'acpid' - state: 'present' - - name: 'libselinux-python' - state: 'present' - - name: 'pyOpenSSL' - state: 'present' - - name: 'python-pyasn1' - state: 'present' - - name: 'python-urllib3' - state: 'present' - - name: 'python2-ndg_httpsclient' - state: 'present' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' -- name: 'service states' - ansible.builtin.service: - enabled: '{{ item.enabled }}' - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - enabled: 'yes' - name: 'acpid' - state: 'started' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 5d8cd3f..9f60a36 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -3,18 +3,5 @@ - name: 'repository changes' ansible.builtin.apt_repository: repo: 'deb cdrom:*' - state: absent -- name: 'package states' - ansible.builtin.package: - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - name: 'python-apt' - state: 'present' - - name: 'sudo' - state: 'present' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' + state: 'absent' + diff --git a/tasks/Oracle-6-default.yml b/tasks/Oracle-6-default.yml deleted file mode 100644 index 50e5c52..0000000 --- a/tasks/Oracle-6-default.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -# tasks file for ensure_ansible_prereq -- name: 'package states' - ansible.builtin.package: - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - name: 'acpid' - state: 'present' - - name: 'libselinux-python' - state: 'present' - - name: 'pyOpenSSL' - state: 'present' - - name: 'python-pyasn1' - state: 'present' - - name: 'python-urllib3' - state: 'present' - - name: 'python2-ndg_httpsclient' - state: 'present' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' -- name: 'service states' - ansible.builtin.service: - enabled: '{{ item.enabled }}' - name: '{{ item.name }}' - state: '{{ item.state }}' - loop: - - enabled: 'yes' - name: 'acpid' - state: 'started' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' diff --git a/tasks/main.yml b/tasks/main.yml index 882d194..bda42a8 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -18,3 +18,45 @@ errors: 'ignore' - name: 'flush handlers' meta: 'flush_handlers' +- name: 'include vendor / version specific variables' + when: + - ansible_system == 'Linux' + include_vars: + file: '{{ lookup("first_found", findme ) }}' + name: 'ensure_ansible_prereq' + vars: + findme: + files: + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_distribution }}-default.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_os_family }}-default.yml' + - 'default.yml' + paths: + - '../vars/' + errors: 'ignore' +- name: 'package discovery' + when: + - ansible_system == 'Linux' + - packages is not defined + ansible.builtin.package_facts: +- name: 'ensure packages' + when: + - ansible_system == 'Linux' + - ensure_ansible_prereq is defined + - ensure_ansible_prereq.package_list is defined + - ensure_ansible_prereq.package_list is iterable + ansible.builtin.package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_ansible_prereq.package_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' +- name: 'flush handlers' + meta: 'flush_handlers' + diff --git a/vars/CentOS-6-default.yml b/vars/CentOS-6-default.yml new file mode 100644 index 0000000..860b0f7 --- /dev/null +++ b/vars/CentOS-6-default.yml @@ -0,0 +1,22 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'acpid' + state: 'present' + - name: 'libselinux-python' + state: 'present' + - name: 'libsemanage-python' + state: 'present' + - name: 'pyOpenSSL' + state: 'present' + - name: 'python-pyasn1' + state: 'present' + - name: 'python-urllib3' + state: 'present' + - name: 'python2-ndg_httpsclient' + state: 'present' +service_list: + - name: 'acpid' + state: 'started' + enabled: 'yes' + diff --git a/vars/CentOS-7-default.yml b/vars/CentOS-7-default.yml new file mode 100644 index 0000000..2ac0109 --- /dev/null +++ b/vars/CentOS-7-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'libselinux-python' + state: 'present' + - name: 'libsemanage-python' + state: 'present' + diff --git a/vars/CentOS-8-default.yml b/vars/CentOS-8-default.yml new file mode 100644 index 0000000..b83fe81 --- /dev/null +++ b/vars/CentOS-8-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' + diff --git a/vars/Debian-default.yml b/vars/Debian-default.yml new file mode 100644 index 0000000..bb2267e --- /dev/null +++ b/vars/Debian-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python-apt' + state: 'present' + - name: 'sudo' + state: 'present' + diff --git a/vars/Fedora-30-default.yml b/vars/Fedora-30-default.yml new file mode 100644 index 0000000..2ac0109 --- /dev/null +++ b/vars/Fedora-30-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'libselinux-python' + state: 'present' + - name: 'libsemanage-python' + state: 'present' + diff --git a/vars/Fedora-31-default.yml b/vars/Fedora-31-default.yml new file mode 100644 index 0000000..b83fe81 --- /dev/null +++ b/vars/Fedora-31-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' + diff --git a/vars/Fedora-32-default.yml b/vars/Fedora-32-default.yml new file mode 100644 index 0000000..b83fe81 --- /dev/null +++ b/vars/Fedora-32-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' + diff --git a/vars/Fedora-33-default.yml b/vars/Fedora-33-default.yml new file mode 100644 index 0000000..b83fe81 --- /dev/null +++ b/vars/Fedora-33-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' + diff --git a/vars/default.yml b/vars/default.yml new file mode 100644 index 0000000..ce82ad2 --- /dev/null +++ b/vars/default.yml @@ -0,0 +1,2 @@ +--- +# vars file for ensure_ansible_prereq \ No newline at end of file From 6451a5bab8c7a834a2c179bf81341bef45325345 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 5 Dec 2020 23:29:25 -0600 Subject: [PATCH 16/51] YAML syntax --- handlers/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/handlers/main.yml b/handlers/main.yml index 58ad924..3f18237 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -4,3 +4,4 @@ ansible.builtin.package_facts: - name: 'ensure_ansible_prereq.service_facts' ansible.builtin.service_facts: + From f52bdf7c5374d336682619f4712b309085ad5dda Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 5 Dec 2020 23:32:03 -0600 Subject: [PATCH 17/51] Ensure services needed start --- tasks/main.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tasks/main.yml b/tasks/main.yml index bda42a8..db429ff 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -57,6 +57,22 @@ notify: - 'ensure_ansible_prereq.package_facts' - 'ensure_ansible_prereq.service_facts' +- name: 'ensure services' + when: + - ansible_system == 'Linux' + - ensure_ansible_prereq is defined + - ensure_ansible_prereq.service_list is defined + - ensure_ansible_prereq.service_list is iterable + ansible.builtin.service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_ansible_prereq.service_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' - name: 'flush handlers' meta: 'flush_handlers' From 7d9389977d2b7fb21f285403013027059530c17e Mon Sep 17 00:00:00 2001 From: jmrothst Date: Sun, 6 Dec 2020 05:41:04 +0000 Subject: [PATCH 18/51] Track the issues we address --- ISSUES.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 ISSUES.md diff --git a/ISSUES.md b/ISSUES.md new file mode 100644 index 0000000..87b0539 --- /dev/null +++ b/ISSUES.md @@ -0,0 +1,11 @@ +# Issues Addressed + + +| Vendor | Version | Issue | +| ------ | ------- | ----- | +| CentOS | 6 | Ensure ACPI Daemon is both running and present so that OS will respond to physical or virtual ACPI events | +| CentOS | 6 | Ensure Python OpenSSL support is updated to handle newer TLS features | +| CentOS | 6-8 | Ensure SELinux Python bindings are present | +| Debian | All | Ensure apt does not reference non-present CDROM media | +| Debian | All | Ensure sudo is present | +| Fedora | 30-33 | Ensure SELinux Python bindings are present | From 3645c90960f4b84a3e6a28fb705f8d746bd888e7 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 20 Dec 2020 07:39:11 -0600 Subject: [PATCH 19/51] Do service discovery as well as package discovery --- tasks/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tasks/main.yml b/tasks/main.yml index db429ff..31b9b31 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -42,6 +42,11 @@ - ansible_system == 'Linux' - packages is not defined ansible.builtin.package_facts: +- name: 'service discovery' + when: + - ansible_system == 'Linux' + - packages is not defined + ansible.builtin.service_facts: - name: 'ensure packages' when: - ansible_system == 'Linux' From 0073003736e87de3f079bbb9e5df038fa022b29c Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 20 Dec 2020 07:41:01 -0600 Subject: [PATCH 20/51] Do service discovery as well as package discovery --- tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 31b9b31..4803fea 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -45,7 +45,7 @@ - name: 'service discovery' when: - ansible_system == 'Linux' - - packages is not defined + - services is not defined ansible.builtin.service_facts: - name: 'ensure packages' when: From 08db4d0a161fed6af2e4f5fadbf2d627e5dfbf47 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Tue, 29 Jun 2021 21:04:11 -0500 Subject: [PATCH 21/51] Enable Fedora 34 --- vars/Fedora-34-default.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 vars/Fedora-34-default.yml diff --git a/vars/Fedora-34-default.yml b/vars/Fedora-34-default.yml new file mode 100644 index 0000000..b83fe81 --- /dev/null +++ b/vars/Fedora-34-default.yml @@ -0,0 +1,8 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' + From bf4095be5bb6a5d43ed0db35d3329a91eff55482 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 5 Jul 2021 04:46:03 +0000 Subject: [PATCH 22/51] Skip packages that already installed --- tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tasks/main.yml b/tasks/main.yml index 4803fea..9ce7cb6 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -53,6 +53,7 @@ - ensure_ansible_prereq is defined - ensure_ansible_prereq.package_list is defined - ensure_ansible_prereq.package_list is iterable + - packages[item.name] is not defined ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' From 70ce332eaedebb50e8be6426f4d0c94bc412adad Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 21 Jul 2021 02:37:29 +0000 Subject: [PATCH 23/51] Update task template for config files if needed --- tasks/main.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tasks/main.yml b/tasks/main.yml index 9ce7cb6..744ffb0 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -63,6 +63,31 @@ notify: - 'ensure_ansible_prereq.package_facts' - 'ensure_ansible_prereq.service_facts' +- name: 'ensure configurations' + when: + - ansible_system == 'Linux' + - ensure_ansible_prereq is defined + - ensure_ansible_prereq.template_list is defined + - ensure_ansible_prereq.template_list is iterable + ansible.builtin.template: + backup: 'no' + dest: '{{ item.dest }}' + group: '{{ item.group | default(omit) }}' + mode: '{{ item.mode | default(omit) }}' + owner: '{{ item.owner | default(omit) }}' + selevel: '{{ iteml.selevel | default(omit) }}' + serole: '{{ item.serole | default(omit) }}' + setype: '{{ item.setype | default(omit) }}' + seuser: '{{ item.seuser | default(omit) }}' + src: '{{ item.src }}' + loop: '{{ ensure_ansible_prereq.template_list }}' + loop_control: + label: '{{ item.dest }} will be ensured' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' +- name: 'flush handlers' + meta: 'flush_handlers' - name: 'ensure services' when: - ansible_system == 'Linux' From fa9e3180225b792ca97619c4748d9884257f412f Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 25 Jul 2021 03:47:10 +0000 Subject: [PATCH 24/51] Flush handlers triggered multiple service restarts --- tasks/main.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 744ffb0..ccb5852 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -16,8 +16,6 @@ - '{{ ansible_os_family }}-default.yml' - 'default.yml' errors: 'ignore' -- name: 'flush handlers' - meta: 'flush_handlers' - name: 'include vendor / version specific variables' when: - ansible_system == 'Linux' @@ -86,8 +84,6 @@ notify: - 'ensure_ansible_prereq.package_facts' - 'ensure_ansible_prereq.service_facts' -- name: 'flush handlers' - meta: 'flush_handlers' - name: 'ensure services' when: - ansible_system == 'Linux' From 56d79003a315fba47f9cf1187c96e92ca1f55259 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 7 Nov 2021 23:04:21 -0600 Subject: [PATCH 25/51] Enable Fedora 35 --- vars/CentOS-6-default.yml | 1 - vars/CentOS-7-default.yml | 1 - vars/CentOS-8-default.yml | 1 - vars/Debian-default.yml | 1 - vars/Fedora-30-default.yml | 1 - vars/Fedora-31-default.yml | 1 - vars/Fedora-32-default.yml | 1 - vars/Fedora-33-default.yml | 1 - vars/Fedora-34-default.yml | 1 - vars/Fedora-35-default.yml | 7 +++++++ 10 files changed, 7 insertions(+), 9 deletions(-) create mode 100644 vars/Fedora-35-default.yml diff --git a/vars/CentOS-6-default.yml b/vars/CentOS-6-default.yml index 860b0f7..3dbb05e 100644 --- a/vars/CentOS-6-default.yml +++ b/vars/CentOS-6-default.yml @@ -19,4 +19,3 @@ service_list: - name: 'acpid' state: 'started' enabled: 'yes' - diff --git a/vars/CentOS-7-default.yml b/vars/CentOS-7-default.yml index 2ac0109..9469dd3 100644 --- a/vars/CentOS-7-default.yml +++ b/vars/CentOS-7-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'libsemanage-python' state: 'present' - diff --git a/vars/CentOS-8-default.yml b/vars/CentOS-8-default.yml index b83fe81..61223c4 100644 --- a/vars/CentOS-8-default.yml +++ b/vars/CentOS-8-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'python3-libsemanage' state: 'present' - diff --git a/vars/Debian-default.yml b/vars/Debian-default.yml index bb2267e..772d334 100644 --- a/vars/Debian-default.yml +++ b/vars/Debian-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'sudo' state: 'present' - diff --git a/vars/Fedora-30-default.yml b/vars/Fedora-30-default.yml index 2ac0109..9469dd3 100644 --- a/vars/Fedora-30-default.yml +++ b/vars/Fedora-30-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'libsemanage-python' state: 'present' - diff --git a/vars/Fedora-31-default.yml b/vars/Fedora-31-default.yml index b83fe81..61223c4 100644 --- a/vars/Fedora-31-default.yml +++ b/vars/Fedora-31-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'python3-libsemanage' state: 'present' - diff --git a/vars/Fedora-32-default.yml b/vars/Fedora-32-default.yml index b83fe81..61223c4 100644 --- a/vars/Fedora-32-default.yml +++ b/vars/Fedora-32-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'python3-libsemanage' state: 'present' - diff --git a/vars/Fedora-33-default.yml b/vars/Fedora-33-default.yml index b83fe81..61223c4 100644 --- a/vars/Fedora-33-default.yml +++ b/vars/Fedora-33-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'python3-libsemanage' state: 'present' - diff --git a/vars/Fedora-34-default.yml b/vars/Fedora-34-default.yml index b83fe81..61223c4 100644 --- a/vars/Fedora-34-default.yml +++ b/vars/Fedora-34-default.yml @@ -5,4 +5,3 @@ package_list: state: 'present' - name: 'python3-libsemanage' state: 'present' - diff --git a/vars/Fedora-35-default.yml b/vars/Fedora-35-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-35-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From a0973b3c16fdb6b4572f2d52f076a2365e43579a Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 13 Nov 2021 20:28:45 -0600 Subject: [PATCH 26/51] Blank line removal --- tasks/Debian-default.yml | 1 - tasks/main.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 9f60a36..2d28f1e 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -4,4 +4,3 @@ ansible.builtin.apt_repository: repo: 'deb cdrom:*' state: 'absent' - diff --git a/tasks/main.yml b/tasks/main.yml index ccb5852..53f9f9e 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -102,4 +102,3 @@ - 'ensure_ansible_prereq.service_facts' - name: 'flush handlers' meta: 'flush_handlers' - From 89af58052731b2fd7f91f411a7f95542f347ccc3 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 5 Jun 2022 12:18:58 -0500 Subject: [PATCH 27/51] Add Fedora 36 --- vars/Fedora-36-default.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 vars/Fedora-36-default.yml diff --git a/vars/Fedora-36-default.yml b/vars/Fedora-36-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-36-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From c4eb4b1bd468eedf26637a913242d8084c4432c8 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 5 Jun 2022 16:29:09 -0500 Subject: [PATCH 28/51] Update handlers --- handlers/main.yml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/handlers/main.yml b/handlers/main.yml index 3f18237..c45cf9c 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -4,4 +4,24 @@ ansible.builtin.package_facts: - name: 'ensure_ansible_prereq.service_facts' ansible.builtin.service_facts: - +- name: 'ensure_ansible_prereq.service_reload' + when: + - ansible_system == 'Linux' + - ansible_service_mgr == 'systemd' + - ensure_ansible_prereq is defined + ansible.builtin.systemd: + daemon_reload: 'yes' +- name: 'ensure_ansible_prereq.services' + when: + - ansible_system == 'Linux' + - ensure_ansible_prereq is defined + - ensure_ansible_prereq.service_list is defined + - ensure_ansible_prereq.service_list is iterable + - item.state == 'started' + ansible.builtin.service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: 'restarted' + loop: '{{ ensure_ansible_prereq.service_list }}' + loop_control: + label: '{{ item.name }} will be restarted' From a33880402da3702faae4e957f405b0678f373439 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 5 Jun 2022 16:47:16 -0500 Subject: [PATCH 29/51] Update tasks --- tasks/main.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 53f9f9e..fabd7c3 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -51,7 +51,6 @@ - ensure_ansible_prereq is defined - ensure_ansible_prereq.package_list is defined - ensure_ansible_prereq.package_list is iterable - - packages[item.name] is not defined ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' From 9b7f448a8e96b321d3072b6946d371cd81d4653a Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Tue, 6 Dec 2022 20:33:51 -0600 Subject: [PATCH 30/51] Add Fedora 37 --- vars/Fedora-37-default.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 vars/Fedora-37-default.yml diff --git a/vars/Fedora-37-default.yml b/vars/Fedora-37-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-37-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 1fbacc42e7c17f0154720161b10455c5854cf3bf Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 30 Apr 2023 17:38:40 -0500 Subject: [PATCH 31/51] Add Fedora 38 and CentOS 9 --- vars/CentOS-9-default.yml | 7 +++++++ vars/Fedora-38-default.yml | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 vars/CentOS-9-default.yml create mode 100644 vars/Fedora-38-default.yml diff --git a/vars/CentOS-9-default.yml b/vars/CentOS-9-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/CentOS-9-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/Fedora-38-default.yml b/vars/Fedora-38-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-38-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From cb43491de651d18f2c938553dc66feaa72855e1e Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 16 Mar 2024 20:17:54 -0500 Subject: [PATCH 32/51] Add Fedora 39 --- vars/Fedora-39-default.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 vars/Fedora-39-default.yml diff --git a/vars/Fedora-39-default.yml b/vars/Fedora-39-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-39-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 587baf82455a362b047d8aa221cdaf920146680e Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 2 Jun 2024 12:09:07 -0500 Subject: [PATCH 33/51] Fedora 40 support Signed-off-by: Jason Rothstein --- vars/Fedora-40-default.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 vars/Fedora-40-default.yml diff --git a/vars/Fedora-40-default.yml b/vars/Fedora-40-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-40-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 68ca6cc1f83b890955d3234920260e52b87e2f10 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 30 Jun 2024 13:39:42 -0500 Subject: [PATCH 34/51] Add Alma/Oracle/Rocky 8 and 9 Signed-off-by: Jason Rothstein --- vars/AlmaLinux-8-default.yml | 7 +++++++ vars/AlmaLinux-9-default.yml | 7 +++++++ vars/OracleLinux-8-default.yml | 7 +++++++ vars/OracleLinux-9-default.yml | 7 +++++++ vars/Rocky-8-default.yml | 7 +++++++ vars/Rocky-9-default.yml | 7 +++++++ 6 files changed, 42 insertions(+) create mode 100644 vars/AlmaLinux-8-default.yml create mode 100644 vars/AlmaLinux-9-default.yml create mode 100644 vars/OracleLinux-8-default.yml create mode 100644 vars/OracleLinux-9-default.yml create mode 100644 vars/Rocky-8-default.yml create mode 100644 vars/Rocky-9-default.yml diff --git a/vars/AlmaLinux-8-default.yml b/vars/AlmaLinux-8-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/AlmaLinux-8-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/AlmaLinux-9-default.yml b/vars/AlmaLinux-9-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/AlmaLinux-9-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/OracleLinux-8-default.yml b/vars/OracleLinux-8-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/OracleLinux-8-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/OracleLinux-9-default.yml b/vars/OracleLinux-9-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/OracleLinux-9-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/Rocky-8-default.yml b/vars/Rocky-8-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Rocky-8-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/Rocky-9-default.yml b/vars/Rocky-9-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Rocky-9-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 6271d240f290a7031d0f31e26dd140fc6dc61995 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Fri, 27 Dec 2024 15:40:09 -0600 Subject: [PATCH 35/51] Fedora 41 Signed-off-by: Jason Rothstein --- vars/Fedora-41-default.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 vars/Fedora-41-default.yml diff --git a/vars/Fedora-41-default.yml b/vars/Fedora-41-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-41-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From a5eb3d7972a73e06ed520a6a0ed113be146dbf4c Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Fri, 27 Dec 2024 20:36:23 -0600 Subject: [PATCH 36/51] Fedora 41 specific dnf5 support Signed-off-by: Jason Rothstein --- tasks/Fedora-40-default.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tasks/Fedora-40-default.yml diff --git a/tasks/Fedora-40-default.yml b/tasks/Fedora-40-default.yml new file mode 100644 index 0000000..bc84ee0 --- /dev/null +++ b/tasks/Fedora-40-default.yml @@ -0,0 +1,28 @@ +--- +# tasks file for ensure_ansible_prereq +- name: 'package discovery' + when: + - ansible_system == 'Linux' + - packages is not defined + ansible.builtin.package_facts: +- name: 'service discovery' + when: + - ansible_system == 'Linux' + - services is not defined + ansible.builtin.service_facts: +- name: 'ensure packages' + when: + - ansible_system == 'Linux' + - ensure_ansible_prereq is defined + ansible.builtin.package: + name: '{{ item.name }}' + state: '{{ item.state }}' + use: 'dnf' + loop: + - 'python3-rpm' + - 'python3-libdnf5' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_ansible_prereq.package_facts' + - 'ensure_ansible_prereq.service_facts' From 566f31992b270d9c9c08fb78d579d35917c8c1da Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Fri, 27 Dec 2024 20:36:58 -0600 Subject: [PATCH 37/51] Fedora 41 Signed-off-by: Jason Rothstein --- tasks/{Fedora-40-default.yml => Fedora-41-default.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tasks/{Fedora-40-default.yml => Fedora-41-default.yml} (100%) diff --git a/tasks/Fedora-40-default.yml b/tasks/Fedora-41-default.yml similarity index 100% rename from tasks/Fedora-40-default.yml rename to tasks/Fedora-41-default.yml From 2fbb5b9d46047a331b33419cf163c0597efbcaf7 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Fri, 27 Dec 2024 20:39:33 -0600 Subject: [PATCH 38/51] Fedora 41 Signed-off-by: Jason Rothstein --- tasks/Fedora-41-default.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tasks/Fedora-41-default.yml b/tasks/Fedora-41-default.yml index bc84ee0..2cfe625 100644 --- a/tasks/Fedora-41-default.yml +++ b/tasks/Fedora-41-default.yml @@ -13,14 +13,15 @@ - name: 'ensure packages' when: - ansible_system == 'Linux' - - ensure_ansible_prereq is defined ansible.builtin.package: name: '{{ item.name }}' state: '{{ item.state }}' use: 'dnf' loop: - - 'python3-rpm' - - 'python3-libdnf5' + - name: 'python3-rpm' + state: 'present' + - name: 'python3-libdnf5' + state: 'present' loop_control: label: '{{ item.name }} will be {{ item.state }}' notify: From 83fb00ccaa93c5154dca27a6ac4b63c335f20083 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 27 Apr 2025 12:19:17 -0500 Subject: [PATCH 39/51] Add Fedora 42 and update ISSUES.md Signed-off-by: Jason Rothstein --- ISSUES.md | 7 +++++-- vars/Fedora-42-default.yml | 7 +++++++ 2 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 vars/Fedora-42-default.yml diff --git a/ISSUES.md b/ISSUES.md index 87b0539..3893b67 100644 --- a/ISSUES.md +++ b/ISSUES.md @@ -3,9 +3,12 @@ | Vendor | Version | Issue | | ------ | ------- | ----- | +| Alma | 8-9 | Ensure SELinux Python bindings are present | | CentOS | 6 | Ensure ACPI Daemon is both running and present so that OS will respond to physical or virtual ACPI events | | CentOS | 6 | Ensure Python OpenSSL support is updated to handle newer TLS features | -| CentOS | 6-8 | Ensure SELinux Python bindings are present | +| CentOS | 6-9 | Ensure SELinux Python bindings are present | | Debian | All | Ensure apt does not reference non-present CDROM media | | Debian | All | Ensure sudo is present | -| Fedora | 30-33 | Ensure SELinux Python bindings are present | +| Fedora | 30-42 | Ensure SELinux Python bindings are present | +| Oracle | 8-9 | Ensure SELinux Python bindings are present | +| Rocky | 8-9 | Ensure SELinux Python bindings are present | diff --git a/vars/Fedora-42-default.yml b/vars/Fedora-42-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-42-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 684e86e61a3798340f6783a207cee159ce3906dc Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 25 May 2025 20:03:13 -0500 Subject: [PATCH 40/51] Hanlder improvements and sync to common values Signed-off-by: Jason Rothstein --- handlers/main.yml | 4 +++- tasks/main.yml | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/handlers/main.yml b/handlers/main.yml index c45cf9c..dcf9850 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -11,7 +11,7 @@ - ensure_ansible_prereq is defined ansible.builtin.systemd: daemon_reload: 'yes' -- name: 'ensure_ansible_prereq.services' +- name: 'ensure_ansible_prereq.service_restart' when: - ansible_system == 'Linux' - ensure_ansible_prereq is defined @@ -25,3 +25,5 @@ loop: '{{ ensure_ansible_prereq.service_list }}' loop_control: label: '{{ item.name }} will be restarted' +... + diff --git a/tasks/main.yml b/tasks/main.yml index fabd7c3..a9a5d4f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -83,6 +83,8 @@ notify: - 'ensure_ansible_prereq.package_facts' - 'ensure_ansible_prereq.service_facts' + - 'ensure_ansible_prereq.service_reload' + - 'ensure_ansible_prereq.service_restart' - name: 'ensure services' when: - ansible_system == 'Linux' @@ -101,3 +103,5 @@ - 'ensure_ansible_prereq.service_facts' - name: 'flush handlers' meta: 'flush_handlers' +... + From abb3a1b959810cfc2feb21f915ca8e3b2c887287 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 8 Mar 2026 23:32:26 -0500 Subject: [PATCH 41/51] Add Fedora 43, and EL 10 support --- vars/AlmaLinux-10-default.yml | 7 +++++++ vars/CentOS-10-default.yml | 7 +++++++ vars/Fedora-43-defualt.yml | 7 +++++++ vars/OracleLinux-10-default.yml | 7 +++++++ vars/Rocky-10-default.yml | 7 +++++++ 5 files changed, 35 insertions(+) create mode 100644 vars/AlmaLinux-10-default.yml create mode 100644 vars/CentOS-10-default.yml create mode 100644 vars/Fedora-43-defualt.yml create mode 100644 vars/OracleLinux-10-default.yml create mode 100644 vars/Rocky-10-default.yml diff --git a/vars/AlmaLinux-10-default.yml b/vars/AlmaLinux-10-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/AlmaLinux-10-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/CentOS-10-default.yml b/vars/CentOS-10-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/CentOS-10-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/Fedora-43-defualt.yml b/vars/Fedora-43-defualt.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-43-defualt.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/OracleLinux-10-default.yml b/vars/OracleLinux-10-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/OracleLinux-10-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' diff --git a/vars/Rocky-10-default.yml b/vars/Rocky-10-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Rocky-10-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 6161e1b47d5f832f710142d9d04d41e922711fb7 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 9 Mar 2026 00:38:16 -0500 Subject: [PATCH 42/51] Fix Fedora 43 vars --- vars/{Fedora-43-defualt.yml => Fedora-43-default.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename vars/{Fedora-43-defualt.yml => Fedora-43-default.yml} (100%) diff --git a/vars/Fedora-43-defualt.yml b/vars/Fedora-43-default.yml similarity index 100% rename from vars/Fedora-43-defualt.yml rename to vars/Fedora-43-default.yml From 4cd0c956086611bf6749144d7ecbdde986954afd Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Wed, 29 Apr 2026 23:23:55 -0500 Subject: [PATCH 43/51] Fedora 44 --- ISSUES.md | 11 +++++------ vars/Fedora-44-default.yml | 7 +++++++ 2 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 vars/Fedora-44-default.yml diff --git a/ISSUES.md b/ISSUES.md index 3893b67..50f903c 100644 --- a/ISSUES.md +++ b/ISSUES.md @@ -1,14 +1,13 @@ # Issues Addressed - | Vendor | Version | Issue | | ------ | ------- | ----- | -| Alma | 8-9 | Ensure SELinux Python bindings are present | +| Alma | 8-10 | Ensure SELinux Python bindings are present | | CentOS | 6 | Ensure ACPI Daemon is both running and present so that OS will respond to physical or virtual ACPI events | | CentOS | 6 | Ensure Python OpenSSL support is updated to handle newer TLS features | -| CentOS | 6-9 | Ensure SELinux Python bindings are present | +| CentOS | 6-10 | Ensure SELinux Python bindings are present | | Debian | All | Ensure apt does not reference non-present CDROM media | | Debian | All | Ensure sudo is present | -| Fedora | 30-42 | Ensure SELinux Python bindings are present | -| Oracle | 8-9 | Ensure SELinux Python bindings are present | -| Rocky | 8-9 | Ensure SELinux Python bindings are present | +| Fedora | 30-44 | Ensure SELinux Python bindings are present | +| Oracle | 8-10 | Ensure SELinux Python bindings are present | +| Rocky | 8-10 | Ensure SELinux Python bindings are present | diff --git a/vars/Fedora-44-default.yml b/vars/Fedora-44-default.yml new file mode 100644 index 0000000..61223c4 --- /dev/null +++ b/vars/Fedora-44-default.yml @@ -0,0 +1,7 @@ +--- +# vars file for ensure_ansible_prereq +package_list: + - name: 'python3-libselinux' + state: 'present' + - name: 'python3-libsemanage' + state: 'present' From 734bbf031de0464d4b5daa5452c1b6a2e0ac5b3c Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 2 May 2026 22:49:52 -0500 Subject: [PATCH 44/51] Safer removal of debian CDROM from apt sources.list Signed-off-by: Jason Rothstein --- tasks/Debian-default.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index 2d28f1e..a0f5696 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -1,6 +1,8 @@ --- # tasks file for ensure_ansible_prereq - name: 'repository changes' - ansible.builtin.apt_repository: - repo: 'deb cdrom:*' + ansible.builtin.lineinfile: + path: '/etc/apt/sources.list' state: 'absent' + regexp: 'deb cdrom:' + From a33cd2f2e38ba357fd4a22e17e265a25618466c7 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sat, 2 May 2026 22:50:48 -0500 Subject: [PATCH 45/51] Stop asking for python-apt as it isn't there on any supported release Signed-off-by: Jason Rothstein --- vars/Debian-default.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/vars/Debian-default.yml b/vars/Debian-default.yml index 772d334..64a9a20 100644 --- a/vars/Debian-default.yml +++ b/vars/Debian-default.yml @@ -1,7 +1,6 @@ --- # vars file for ensure_ansible_prereq package_list: - - name: 'python-apt' - state: 'present' - name: 'sudo' state: 'present' + From eba373d5ad195a1083fccc1371a2de24559ce34c Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 4 May 2026 19:14:57 -0500 Subject: [PATCH 46/51] Update for Ansible Core 2.20 and remove items for unsupported OS versions --- tasks/Fedora-41-default.yml | 29 ----------------------------- vars/AlmaLinux-10-default.yml | 7 ------- vars/AlmaLinux-8-default.yml | 7 ------- vars/AlmaLinux-9-default.yml | 7 ------- vars/CentOS-10-default.yml | 7 ------- vars/CentOS-6-default.yml | 21 --------------------- vars/CentOS-7-default.yml | 7 ------- vars/CentOS-8-default.yml | 7 ------- vars/CentOS-9-default.yml | 7 ------- vars/Debian-default.yml | 6 ------ vars/Fedora-30-default.yml | 7 ------- vars/Fedora-31-default.yml | 7 ------- vars/Fedora-32-default.yml | 7 ------- vars/Fedora-33-default.yml | 7 ------- vars/Fedora-34-default.yml | 7 ------- vars/Fedora-35-default.yml | 7 ------- vars/Fedora-36-default.yml | 7 ------- vars/Fedora-37-default.yml | 7 ------- vars/Fedora-38-default.yml | 7 ------- vars/Fedora-39-default.yml | 7 ------- vars/Fedora-40-default.yml | 7 ------- vars/Fedora-41-default.yml | 7 ------- vars/Fedora-42-default.yml | 7 ------- vars/Fedora-43-default.yml | 7 ------- vars/Fedora-44-default.yml | 7 ------- vars/OracleLinux-10-default.yml | 7 ------- vars/OracleLinux-8-default.yml | 7 ------- vars/OracleLinux-9-default.yml | 7 ------- vars/Rocky-10-default.yml | 7 ------- vars/Rocky-8-default.yml | 7 ------- vars/Rocky-9-default.yml | 7 ------- 31 files changed, 252 deletions(-) delete mode 100644 tasks/Fedora-41-default.yml delete mode 100644 vars/AlmaLinux-10-default.yml delete mode 100644 vars/AlmaLinux-8-default.yml delete mode 100644 vars/AlmaLinux-9-default.yml delete mode 100644 vars/CentOS-10-default.yml delete mode 100644 vars/CentOS-6-default.yml delete mode 100644 vars/CentOS-7-default.yml delete mode 100644 vars/CentOS-8-default.yml delete mode 100644 vars/CentOS-9-default.yml delete mode 100644 vars/Debian-default.yml delete mode 100644 vars/Fedora-30-default.yml delete mode 100644 vars/Fedora-31-default.yml delete mode 100644 vars/Fedora-32-default.yml delete mode 100644 vars/Fedora-33-default.yml delete mode 100644 vars/Fedora-34-default.yml delete mode 100644 vars/Fedora-35-default.yml delete mode 100644 vars/Fedora-36-default.yml delete mode 100644 vars/Fedora-37-default.yml delete mode 100644 vars/Fedora-38-default.yml delete mode 100644 vars/Fedora-39-default.yml delete mode 100644 vars/Fedora-40-default.yml delete mode 100644 vars/Fedora-41-default.yml delete mode 100644 vars/Fedora-42-default.yml delete mode 100644 vars/Fedora-43-default.yml delete mode 100644 vars/Fedora-44-default.yml delete mode 100644 vars/OracleLinux-10-default.yml delete mode 100644 vars/OracleLinux-8-default.yml delete mode 100644 vars/OracleLinux-9-default.yml delete mode 100644 vars/Rocky-10-default.yml delete mode 100644 vars/Rocky-8-default.yml delete mode 100644 vars/Rocky-9-default.yml diff --git a/tasks/Fedora-41-default.yml b/tasks/Fedora-41-default.yml deleted file mode 100644 index 2cfe625..0000000 --- a/tasks/Fedora-41-default.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -# tasks file for ensure_ansible_prereq -- name: 'package discovery' - when: - - ansible_system == 'Linux' - - packages is not defined - ansible.builtin.package_facts: -- name: 'service discovery' - when: - - ansible_system == 'Linux' - - services is not defined - ansible.builtin.service_facts: -- name: 'ensure packages' - when: - - ansible_system == 'Linux' - ansible.builtin.package: - name: '{{ item.name }}' - state: '{{ item.state }}' - use: 'dnf' - loop: - - name: 'python3-rpm' - state: 'present' - - name: 'python3-libdnf5' - state: 'present' - loop_control: - label: '{{ item.name }} will be {{ item.state }}' - notify: - - 'ensure_ansible_prereq.package_facts' - - 'ensure_ansible_prereq.service_facts' diff --git a/vars/AlmaLinux-10-default.yml b/vars/AlmaLinux-10-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/AlmaLinux-10-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/AlmaLinux-8-default.yml b/vars/AlmaLinux-8-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/AlmaLinux-8-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/AlmaLinux-9-default.yml b/vars/AlmaLinux-9-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/AlmaLinux-9-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/CentOS-10-default.yml b/vars/CentOS-10-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/CentOS-10-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/CentOS-6-default.yml b/vars/CentOS-6-default.yml deleted file mode 100644 index 3dbb05e..0000000 --- a/vars/CentOS-6-default.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'acpid' - state: 'present' - - name: 'libselinux-python' - state: 'present' - - name: 'libsemanage-python' - state: 'present' - - name: 'pyOpenSSL' - state: 'present' - - name: 'python-pyasn1' - state: 'present' - - name: 'python-urllib3' - state: 'present' - - name: 'python2-ndg_httpsclient' - state: 'present' -service_list: - - name: 'acpid' - state: 'started' - enabled: 'yes' diff --git a/vars/CentOS-7-default.yml b/vars/CentOS-7-default.yml deleted file mode 100644 index 9469dd3..0000000 --- a/vars/CentOS-7-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'libselinux-python' - state: 'present' - - name: 'libsemanage-python' - state: 'present' diff --git a/vars/CentOS-8-default.yml b/vars/CentOS-8-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/CentOS-8-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/CentOS-9-default.yml b/vars/CentOS-9-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/CentOS-9-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Debian-default.yml b/vars/Debian-default.yml deleted file mode 100644 index 64a9a20..0000000 --- a/vars/Debian-default.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'sudo' - state: 'present' - diff --git a/vars/Fedora-30-default.yml b/vars/Fedora-30-default.yml deleted file mode 100644 index 9469dd3..0000000 --- a/vars/Fedora-30-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'libselinux-python' - state: 'present' - - name: 'libsemanage-python' - state: 'present' diff --git a/vars/Fedora-31-default.yml b/vars/Fedora-31-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-31-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-32-default.yml b/vars/Fedora-32-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-32-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-33-default.yml b/vars/Fedora-33-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-33-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-34-default.yml b/vars/Fedora-34-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-34-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-35-default.yml b/vars/Fedora-35-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-35-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-36-default.yml b/vars/Fedora-36-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-36-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-37-default.yml b/vars/Fedora-37-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-37-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-38-default.yml b/vars/Fedora-38-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-38-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-39-default.yml b/vars/Fedora-39-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-39-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-40-default.yml b/vars/Fedora-40-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-40-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-41-default.yml b/vars/Fedora-41-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-41-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-42-default.yml b/vars/Fedora-42-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-42-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-43-default.yml b/vars/Fedora-43-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-43-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Fedora-44-default.yml b/vars/Fedora-44-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Fedora-44-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/OracleLinux-10-default.yml b/vars/OracleLinux-10-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/OracleLinux-10-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/OracleLinux-8-default.yml b/vars/OracleLinux-8-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/OracleLinux-8-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/OracleLinux-9-default.yml b/vars/OracleLinux-9-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/OracleLinux-9-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Rocky-10-default.yml b/vars/Rocky-10-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Rocky-10-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Rocky-8-default.yml b/vars/Rocky-8-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Rocky-8-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' diff --git a/vars/Rocky-9-default.yml b/vars/Rocky-9-default.yml deleted file mode 100644 index 61223c4..0000000 --- a/vars/Rocky-9-default.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# vars file for ensure_ansible_prereq -package_list: - - name: 'python3-libselinux' - state: 'present' - - name: 'python3-libsemanage' - state: 'present' From e03ad5738f95b433e467ff7583c3e31c3d800ac0 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 4 May 2026 19:16:01 -0500 Subject: [PATCH 47/51] Remove issues file as we don't fix anything except removing the debian cdrom repos --- ISSUES.md | 13 ------------- tasks/main.yml | 24 ++++++++++++------------ 2 files changed, 12 insertions(+), 25 deletions(-) delete mode 100644 ISSUES.md diff --git a/ISSUES.md b/ISSUES.md deleted file mode 100644 index 50f903c..0000000 --- a/ISSUES.md +++ /dev/null @@ -1,13 +0,0 @@ -# Issues Addressed - -| Vendor | Version | Issue | -| ------ | ------- | ----- | -| Alma | 8-10 | Ensure SELinux Python bindings are present | -| CentOS | 6 | Ensure ACPI Daemon is both running and present so that OS will respond to physical or virtual ACPI events | -| CentOS | 6 | Ensure Python OpenSSL support is updated to handle newer TLS features | -| CentOS | 6-10 | Ensure SELinux Python bindings are present | -| Debian | All | Ensure apt does not reference non-present CDROM media | -| Debian | All | Ensure sudo is present | -| Fedora | 30-44 | Ensure SELinux Python bindings are present | -| Oracle | 8-10 | Ensure SELinux Python bindings are present | -| Rocky | 8-10 | Ensure SELinux Python bindings are present | diff --git a/tasks/main.yml b/tasks/main.yml index a9a5d4f..c8aaa89 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -8,12 +8,12 @@ vars: findme: files: - - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' - - '{{ ansible_distribution }}-default.yml' - - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' - - '{{ ansible_os_family }}-default.yml' + - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' + - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' + - '{{ ansible_facts["distribution"] }}-default.yml' + - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' + - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' + - '{{ ansible_facts["os_family"]}}-default.yml' - 'default.yml' errors: 'ignore' - name: 'include vendor / version specific variables' @@ -25,12 +25,12 @@ vars: findme: files: - - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' - - '{{ ansible_distribution }}-default.yml' - - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' - - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' - - '{{ ansible_os_family }}-default.yml' + - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' + - '{{ ansible_facts["distribution"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' + - '{{ ansible_facts["distribution"] }}-default.yml' + - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-{{ ansible_facts["architecture"] }}.yml' + - '{{ ansible_facts["os_family"] }}-{{ ansible_facts["distribution_major_version"] }}-default.yml' + - '{{ ansible_facts["os_family"] }}-default.yml' - 'default.yml' paths: - '../vars/' From 7f318ac14ca6ee3e43e94e6469f07392b03d1a59 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 4 May 2026 21:14:34 -0500 Subject: [PATCH 48/51] More ansible-core 2.20 fixes --- tasks/main.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index c8aaa89..f78afca 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -2,7 +2,7 @@ # tasks file for ensure_ansible_prereq - name: 'include vendor / version specific tasks' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' include_tasks: file: '{{ lookup("first_found", findme ) }}' vars: @@ -18,7 +18,7 @@ errors: 'ignore' - name: 'include vendor / version specific variables' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' include_vars: file: '{{ lookup("first_found", findme ) }}' name: 'ensure_ansible_prereq' @@ -37,17 +37,17 @@ errors: 'ignore' - name: 'package discovery' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - packages is not defined ansible.builtin.package_facts: - name: 'service discovery' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - services is not defined ansible.builtin.service_facts: - name: 'ensure packages' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - ensure_ansible_prereq is defined - ensure_ansible_prereq.package_list is defined - ensure_ansible_prereq.package_list is iterable @@ -62,7 +62,7 @@ - 'ensure_ansible_prereq.service_facts' - name: 'ensure configurations' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - ensure_ansible_prereq is defined - ensure_ansible_prereq.template_list is defined - ensure_ansible_prereq.template_list is iterable @@ -87,7 +87,7 @@ - 'ensure_ansible_prereq.service_restart' - name: 'ensure services' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - ensure_ansible_prereq is defined - ensure_ansible_prereq.service_list is defined - ensure_ansible_prereq.service_list is iterable From 41ca1713c825fba6c60f594ac7a19f50d43c94f1 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 4 May 2026 22:02:19 -0500 Subject: [PATCH 49/51] More ansible 2.20 fixes Signed-off-by: Jason Rothstein --- tasks/Debian-default.yml | 1 + tasks/main.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml index a0f5696..24d7d57 100644 --- a/tasks/Debian-default.yml +++ b/tasks/Debian-default.yml @@ -5,4 +5,5 @@ path: '/etc/apt/sources.list' state: 'absent' regexp: 'deb cdrom:' +... diff --git a/tasks/main.yml b/tasks/main.yml index f78afca..3317d32 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -38,7 +38,7 @@ - name: 'package discovery' when: - ansible_facts["system"] == 'Linux' - - packages is not defined + - ansible_facts["packages"] is not defined ansible.builtin.package_facts: - name: 'service discovery' when: From 86587ee1710fa4f65795441976761fca0ca30881 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Mon, 4 May 2026 22:03:10 -0500 Subject: [PATCH 50/51] More ansible core 2.20 fixes Signed-off-by: Jason Rothstein --- tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/main.yml b/tasks/main.yml index 3317d32..e5c4fbd 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -43,7 +43,7 @@ - name: 'service discovery' when: - ansible_facts["system"] == 'Linux' - - services is not defined + - ansible_facts["services"] is not defined ansible.builtin.service_facts: - name: 'ensure packages' when: From 49dd6fa8cd778a5262644fdccee458811c69e907 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Tue, 5 May 2026 17:26:57 -0500 Subject: [PATCH 51/51] Fix handlers vs ansible core 2.20 Signed-off-by: Jason Rothstein --- handlers/main.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index dcf9850..26e65d8 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -6,14 +6,14 @@ ansible.builtin.service_facts: - name: 'ensure_ansible_prereq.service_reload' when: - - ansible_system == 'Linux' - - ansible_service_mgr == 'systemd' + - ansible_facts["system"] == 'Linux' + - ansible_facts["service_mgr"] == 'systemd' - ensure_ansible_prereq is defined ansible.builtin.systemd: daemon_reload: 'yes' - name: 'ensure_ansible_prereq.service_restart' when: - - ansible_system == 'Linux' + - ansible_facts["system"] == 'Linux' - ensure_ansible_prereq is defined - ensure_ansible_prereq.service_list is defined - ensure_ansible_prereq.service_list is iterable