import openshift_repos role from openshift-ansible

This commit is contained in:
Adam Miller 2015-08-05 16:29:24 +00:00
parent e08f304a3e
commit 4e35ec7a30
13 changed files with 146 additions and 0 deletions

View file

@ -29,6 +29,7 @@ To re-import/update the OpenShift Ansible roles:
openshift_master_cluster
openshift_node
openshift_node_certificates
openshift_repos
os_env_extras
os_env_extras_node
pods

View 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

View file

@ -0,0 +1,2 @@
---
openshift_additional_repos: {}

View 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

View file

@ -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

View file

@ -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

View 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 }

View 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/*"

View 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 %}

View file

@ -0,0 +1,2 @@
---
known_openshift_deployment_types: ['origin', 'online', 'enterprise']