import openshift_repos role from openshift-ansible
This commit is contained in:
parent
e08f304a3e
commit
4e35ec7a30
13 changed files with 146 additions and 0 deletions
|
@ -29,6 +29,7 @@ To re-import/update the OpenShift Ansible roles:
|
||||||
openshift_master_cluster
|
openshift_master_cluster
|
||||||
openshift_node
|
openshift_node
|
||||||
openshift_node_certificates
|
openshift_node_certificates
|
||||||
|
openshift_repos
|
||||||
os_env_extras
|
os_env_extras
|
||||||
os_env_extras_node
|
os_env_extras_node
|
||||||
pods
|
pods
|
||||||
|
|
38
roles/openshift_repos/README.md
Normal file
38
roles/openshift_repos/README.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
OpenShift Repos
|
||||||
|
================
|
||||||
|
|
||||||
|
Configures repositories for an OpenShift installation
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
|
||||||
|
A RHEL 7.1 host pre-configured with access to the rhel-7-server-rpms,
|
||||||
|
rhel-7-server-extra-rpms, and rhel-7-server-ose-3.0-rpms repos.
|
||||||
|
|
||||||
|
Role Variables
|
||||||
|
--------------
|
||||||
|
|
||||||
|
| Name | Default value | |
|
||||||
|
|-------------------------------|---------------|----------------------------------------------|
|
||||||
|
| openshift_deployment_type | None | Possible values enterprise, origin, online |
|
||||||
|
| openshift_additional_repos | {} | TODO |
|
||||||
|
|
||||||
|
Dependencies
|
||||||
|
------------
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
Example Playbook
|
||||||
|
----------------
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
License
|
||||||
|
-------
|
||||||
|
|
||||||
|
Apache License, Version 2.0
|
||||||
|
|
||||||
|
Author Information
|
||||||
|
------------------
|
||||||
|
|
||||||
|
TODO
|
2
roles/openshift_repos/defaults/main.yaml
Normal file
2
roles/openshift_repos/defaults/main.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
openshift_additional_repos: {}
|
10
roles/openshift_repos/files/online/repos/enterprise-v3.repo
Normal file
10
roles/openshift_repos/files/online/repos/enterprise-v3.repo
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[enterprise-v3]
|
||||||
|
name=OpenShift Enterprise
|
||||||
|
baseurl=https://mirror.ops.rhcloud.com/libra/rhui-rhel-server-7-ose/
|
||||||
|
https://gce-mirror1.ops.rhcloud.com/libra/rhui-rhel-server-7-ose/
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=0
|
||||||
|
failovermethod=priority
|
||||||
|
sslverify=False
|
||||||
|
sslclientcert=/var/lib/yum/client-cert.pem
|
||||||
|
sslclientkey=/var/lib/yum/client-key.pem
|
|
@ -0,0 +1,11 @@
|
||||||
|
[rhel-7-libra-candidate]
|
||||||
|
name=rhel-7-libra-candidate - \$basearch
|
||||||
|
baseurl=https://gce-mirror1.ops.rhcloud.com/libra/rhel-7-libra-candidate/\$basearch/
|
||||||
|
https://mirror.ops.rhcloud.com/libra/rhel-7-libra-candidate/\$basearch/
|
||||||
|
gpgkey=https://mirror.ops.rhcloud.com/libra/RPM-GPG-KEY-redhat-openshifthosted
|
||||||
|
skip_if_unavailable=True
|
||||||
|
gpgcheck=0
|
||||||
|
enabled=1
|
||||||
|
sslclientcert=/var/lib/yum/client-cert.pem
|
||||||
|
sslclientkey=/var/lib/yum/client-key.pem
|
||||||
|
sslverify=False
|
|
@ -0,0 +1,7 @@
|
||||||
|
[maxamillion-origin-next]
|
||||||
|
name=Copr repo for origin-next owned by maxamillion
|
||||||
|
baseurl=https://copr-be.cloud.fedoraproject.org/results/maxamillion/origin-next/epel-7-$basearch/
|
||||||
|
skip_if_unavailable=True
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=https://copr-be.cloud.fedoraproject.org/results/maxamillion/origin-next/pubkey.gpg
|
||||||
|
enabled=1
|
15
roles/openshift_repos/meta/main.yml
Normal file
15
roles/openshift_repos/meta/main.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
---
|
||||||
|
galaxy_info:
|
||||||
|
author: TODO
|
||||||
|
description: OpenShift Repositories
|
||||||
|
company: Red Hat, Inc.
|
||||||
|
license: Apache License, Version 2.0
|
||||||
|
min_ansible_version: 1.7
|
||||||
|
platforms:
|
||||||
|
- name: EL
|
||||||
|
versions:
|
||||||
|
- 7
|
||||||
|
categories:
|
||||||
|
- cloud
|
||||||
|
dependencies:
|
||||||
|
- { role: openshift_facts }
|
46
roles/openshift_repos/tasks/main.yaml
Normal file
46
roles/openshift_repos/tasks/main.yaml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
---
|
||||||
|
# TODO: Add flag for enabling EPEL repo, default to false
|
||||||
|
|
||||||
|
# TODO: Add subscription-management config, with parameters
|
||||||
|
# for username, password, poolid(name), and official repos to
|
||||||
|
# enable/disable. Might need to make a module that extends the
|
||||||
|
# subscription management module to take a poolid and enable/disable the
|
||||||
|
# proper repos correctly.
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that: openshift_deployment_type in known_openshift_deployment_types
|
||||||
|
|
||||||
|
- name: Ensure libselinux-python is installed
|
||||||
|
yum:
|
||||||
|
pkg: libselinux-python
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Create any additional repos that are defined
|
||||||
|
template:
|
||||||
|
src: yum_repo.j2
|
||||||
|
dest: /etc/yum.repos.d/openshift_additional.repo
|
||||||
|
when: openshift_additional_repos | length > 0
|
||||||
|
|
||||||
|
- name: Remove the additional repos if no longer defined
|
||||||
|
file:
|
||||||
|
dest: /etc/yum.repos.d/openshift_additional.repo
|
||||||
|
state: absent
|
||||||
|
when: openshift_additional_repos | length == 0
|
||||||
|
|
||||||
|
- name: Remove any yum repo files for other deployment types
|
||||||
|
file:
|
||||||
|
path: "/etc/yum.repos.d/{{ item | basename }}"
|
||||||
|
state: absent
|
||||||
|
with_fileglob:
|
||||||
|
- '*/repos/*'
|
||||||
|
when: not (item | search("/files/" ~ openshift_deployment_type ~ "/repos"))
|
||||||
|
|
||||||
|
- name: Configure gpg keys if needed
|
||||||
|
copy: src={{ item }} dest=/etc/pki/rpm-gpg/
|
||||||
|
with_fileglob:
|
||||||
|
- "{{ openshift_deployment_type }}/gpg_keys/*"
|
||||||
|
|
||||||
|
- name: Configure yum repositories
|
||||||
|
copy: src={{ item }} dest=/etc/yum.repos.d/
|
||||||
|
with_fileglob:
|
||||||
|
- "{{ openshift_deployment_type }}/repos/*"
|
14
roles/openshift_repos/templates/yum_repo.j2
Normal file
14
roles/openshift_repos/templates/yum_repo.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{% for repo in openshift_additional_repos %}
|
||||||
|
[{{ repo.id }}]
|
||||||
|
name={{ repo.name | default(repo.id) }}
|
||||||
|
baseurl={{ repo.baseurl }}
|
||||||
|
{% set enable_repo = repo.enabled | default('1') %}
|
||||||
|
enabled={{ 1 if ( enable_repo == 1 or enable_repo == True ) else 0 }}
|
||||||
|
{% set enable_gpg_check = repo.gpgcheck | default('1') %}
|
||||||
|
gpgcheck={{ 1 if ( enable_gpg_check == 1 or enable_gpg_check == True ) else 0 }}
|
||||||
|
{% for key, value in repo.iteritems() %}
|
||||||
|
{% if key not in ['id', 'name', 'baseurl', 'enabled', 'gpgcheck'] and value is defined %}
|
||||||
|
{{ key }}={{ value }}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor %}
|
2
roles/openshift_repos/vars/main.yml
Normal file
2
roles/openshift_repos/vars/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
---
|
||||||
|
known_openshift_deployment_types: ['origin', 'online', 'enterprise']
|
Loading…
Add table
Add a link
Reference in a new issue