Compare commits

..

No commits in common. 'a722fd85746f8d4fcf043703f725992ecc7fa3d7' and '2e57687c14cef78017f28aec71ba5dc7cf06b0d2' have entirely different histories.

@ -1,16 +0,0 @@
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

@ -1,20 +1,53 @@
---
galaxy_info: galaxy_info:
author: your name
author: shnee
namespace: shnee namespace: shnee
description: Retrieves the contents of /etc/os-release 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)
license: GPL-3.0-only
min_ansible_version: 2.1 min_ansible_version: 2.1
platforms: # If this a Container Enabled role, provide the minimum Ansible Container version.
- name: EL # min_ansible_container_version:
versions:
- 8 #
# 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: galaxy_tags: []
- distro # List tags for your role here, one per line. A tag is a keyword that describes
- system # 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: [] dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.

@ -3,5 +3,5 @@
hosts: all hosts: all
tasks: tasks:
- name: "Include shnee.os_release" - name: "Include shnee.os_release"
ansible.builtin.include_role: include_role:
name: "shnee.os_release" name: "shnee.os_release"

@ -3,18 +3,10 @@ dependency:
name: galaxy name: galaxy
driver: driver:
name: docker name: docker
lint: |
set -e
yamllint .
ansible-lint
platforms: platforms:
- name: centos-8-stream - name: instance
image: quay.io/centos/centos:stream8 image: quay.io/centos/centos:stream8
pre_build_image: true pre_build_image: true
- name: ubuntu
# TODO This is only a temporary measure until we get a better image.
image: tanquetav/ubuntu-ansible:latest
pre_build_image: true
provisioner: provisioner:
name: ansible name: ansible
verifier: verifier:

@ -3,30 +3,8 @@
- name: Verify - name: Verify
hosts: all hosts: all
vars: gather_facts: false
# exp_vals is dict where each top-level field corresponds to the name of the
# of the platforms defined in molecule.yml. The key-value pairs under the
# top-level will be used to test against the values in os_release.
exp_vals:
ubuntu:
ID: ubuntu
ID_LIKE: debian
VERSION_ID: '19.04'
centos-8-stream:
ID: centos
ID_LIKE: rhel fedora
VERSION_ID: '8'
roles:
- shnee.os_release
tasks: tasks:
- name: Example assertion
- name: Is the OS in exp_vals? assert:
ansible.builtin.assert: that: true
that: exp_vals[ansible_hostname] is defined
- name: Verify that os-release matches our expected values.
ansible.builtin.assert:
that: os_release[item.key] == item.value
loop: "{{ exp_vals[ansible_hostname] | dict2items }}"

@ -1,9 +1,4 @@
--- ---
- name: Retrieve and parse the contents of /etc/os-release # tasks file for os_release
ansible.netcommon.cli_parse: - debug:
command: cat /etc/os-release msg: "System {{ inventory_hostname }} has uuid {{ ansible_product_uuid }}"
parser:
name: ansible.netcommon.native
os: linux
command: cat os-release
set_fact: os_release

Loading…
Cancel
Save