Skip to content

Commit

Permalink
#96
Browse files Browse the repository at this point in the history
  • Loading branch information
haxorof committed May 30, 2019
1 parent 74e35e9 commit ab811c8
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 31 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

- Many deprecation warnings in Ansible 2.8 ([#94](../../issues/94))
- Improve handling of Python 3 ([#95](../../issues/95))
- RHEL: handling repos NOT via subscription-manager ([#96](../../issues/96))
- Role name changed due to automatic conversion of hyphen to underscore in Ansible Galaxy

### Fixed
Expand Down
13 changes: 13 additions & 0 deletions defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,19 @@ docker_users: []
# args: opa_args="-policy-file /opa/policies/authz.rego"
docker_plugins: []

# Repositories required to be enabled or disabled on RHEL
# id: <id of repo>
# state: enabled || disabled
# repo_manager: sm (subsription manager) || yum
docker_rhel_repos:
- id: rhel-7-server-extras-rpms
repo_manager: sm
state: enabled
# disable rt-beta so we don't get a 403 error retrieving repomd.xml
- id: rhel-7-server-rt-beta-rpms
repo_manager: sm
state: disabled

################################################################################
# Docker daemon configuration
################################################################################
Expand Down
57 changes: 27 additions & 30 deletions tasks/setup-repository-RedHat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,35 @@

- name: RHEL 7 repositories
block:
# disable rt-beta so we don't get a 403 error retrieving repomd.xml
- name: Check if rhel-7-server-rt-beta-rpms Repository is enabled (RedHat)
- name: Set internal facts for repository handling
set_fact:
_rhel_repo_check_cmd:
enabled:
sm: subscription-manager repos --list-enabled
yum: yum repolist enabled
disabled:
sm: subscription-manager repos --list-disabled
yum: yum repolist disabled
_rhel_cmd_enable_disable_repo:
enabled:
sm: subscription-manager repos --enable=
yum: "yum-config-manager --enable "
disabled:
sm: subscription-manager repos --disable=
yum: "yum-config-manager --disable "
_rhel_repos: "{{ docker_rhel_repos }}"

- name: Enable and disable repositories (RedHat)
become: true
shell: "subscription-manager repos --list-enabled | grep rhel-7-server-rt-beta-rpms"
register: cmd_rhel_rt_beta_repo_enabled
changed_when: false
failed_when: cmd_rhel_rt_beta_repo_enabled.rc not in [ 0, 1 ]
shell: "{{ _rhel_repo_check_cmd[item.state][item.repo_manager] }} \
| grep {{ item.id }} && exit 0 \
|| {{ _rhel_cmd_enable_disable_repo[item.state][item.repo_manager] }}{{ item.id }} \
&& exit 2"
with_items: "{{ _rhel_repos }}"
register: _cmd_rhel_repo_enabled_disabled
changed_when: _cmd_rhel_repo_enabled_disabled.rc == 2
failed_when: _cmd_rhel_repo_enabled_disabled.rc not in [ 0, 2 ]
tags:
- skip_ansible_lint

- name: Disable rhel-7-server-rt-beta-rpms Repository (RedHat)
become: true
shell: "subscription-manager repos --disable=rhel-7-server-rt-beta-rpms"
when: cmd_rhel_rt_beta_repo_enabled.rc == 0
tags:
- skip_ansible_lint

# container-selinux package wants this
- name: Check if rhel-7-server-extras-rpms Repository is enabled (RedHat)
become: true
shell: "subscription-manager repos --list-enabled | grep rhel-7-server-extras-rpms"
register: cmd_rhel_extras_repo_enabled
when: _docker_os_dist == "RedHat"
changed_when: false
failed_when: cmd_rhel_extras_repo_enabled.rc not in [ 0, 1 ]
tags:
- skip_ansible_lint

- name: Enable rhel-7-server-extras-rpms Repository (RedHat)
become: true
shell: "subscription-manager repos --enable=rhel-7-server-extras-rpms"
when: cmd_rhel_extras_repo_enabled.rc == 1
tags:
- skip_ansible_lint
when: _docker_os_dist_major_version == '7'
2 changes: 1 addition & 1 deletion tests/host_upgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
register: _kernel_upgrade
when: ansible_distribution == "Debian" and ansible_distribution_major_version == '7'

- name: Upgrade all packages for RHEL
- name: Upgrade all packages (RedHat)
become: true
package:
name: '*'
Expand Down

0 comments on commit ab811c8

Please sign in to comment.