From dabb0c2819b70be0dc74e5a948ae20fbb795e01b Mon Sep 17 00:00:00 2001 From: shnee Date: Mon, 2 May 2022 11:32:58 -0400 Subject: [PATCH] Tests run on centos 8. --- README.md | 16 ++++++++++++++++ meta/main.yml | 30 +++--------------------------- molecule/default/verify.yml | 9 ++++++++- tasks/main.yml | 12 +++++++++--- 4 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1747c98 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +os_release: Ansible Role +================================================================================ + +Grabs and parses the contents of /etc/os-release. + +This file holds additional information that may not be provided by the setup +module. For example, if we wanted to know whether or not a host has Manjaro +installed, it is not easy to figure this out from the setup module. The setup +module produces `ansible_distribution=Archlinux` while this role produces +`os_release.ID=manjaro`. + +License +---------------------------------------- + +GPL-3.0 + diff --git a/meta/main.yml b/meta/main.yml index b472733..10292f4 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -1,27 +1,11 @@ galaxy_info: - author: your name + author: shnee namespace: shnee - 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) + description: Retrieves the contents of /etc/os-release + license: GPL-3.0-only min_ansible_version: 2.1 - # 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'. @@ -41,13 +25,5 @@ galaxy_info: # - 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. diff --git a/molecule/default/verify.yml b/molecule/default/verify.yml index 79044cd..f527253 100644 --- a/molecule/default/verify.yml +++ b/molecule/default/verify.yml @@ -4,7 +4,14 @@ - name: Verify hosts: all gather_facts: false + roles: + - shnee.os_release tasks: - name: Example assertion + debug: + var: os_release + - name: Verify that os-release match our expected values. assert: - that: true + that: + - os_release.ID == 'centos' + - os_release.ID_LIKE == 'rhel fedora' diff --git a/tasks/main.yml b/tasks/main.yml index 15c8dd2..5abf929 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,4 +1,10 @@ --- -# tasks file for os_release -- debug: - msg: "System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}" +- name: Retrieve and parse the contents of /etc/os-release + ansible.netcommon.cli_parse: + command: cat /etc/os-release + parser: + name: ansible.netcommon.native + os: linux + command: cat os-release + set_fact: os_release +