Add CI for OpenShift

Change-Id: I4cd03c50203ed76f242412cb8fc806ed1aa5e117
This commit is contained in:
Flavio Percoco 2017-10-27 13:50:41 +02:00
parent 20cfd56994
commit 89a8adf6da
9 changed files with 130 additions and 1 deletions

View File

@ -3,6 +3,7 @@
check:
jobs:
- ansible-role-k8s-mariadb-kubernetes-centos
- ansible-role-k8s-mariadb-openshift-centos
- nodeset:
name: ansible-role-k8s-centos
@ -25,3 +26,11 @@
vars:
coe: kubernetes
project_name: ansible-role-k8s-mariadb
- job:
name: ansible-role-k8s-mariadb-openshift-centos
parent: ansible-role-k8s-base
nodeset: ansible-role-k8s-centos
vars:
coe: openshift
project_name: ansible-role-k8s-mariadb

View File

@ -11,6 +11,7 @@
set -x
ansible-playbook -i ci_inventory --skip-tags bastion-ssh-config -e skip_downloads=true cluster.yml
kubectl create namespace openstack
executable: /bin/bash
chdir: "/tmp/kubespray"
delegate_to: "primary"

View File

@ -0,0 +1,6 @@
---
- include: pre_rhel.yml
when: ansible_os_family == 'RedHat'
- include: pre_debian.yml
when: ansible_os_family == 'Debian'

View File

@ -0,0 +1 @@
---

View File

@ -0,0 +1,72 @@
---
- name: Add ASB repo for ansible-kubernetes-modules
become: true
yum_repository:
name: asb
description: Copr repo for ansible-service-broker-latest owned by @ansible-service-broker
file: asb
baseurl: https://copr-be.cloud.fedoraproject.org/results/@ansible-service-broker/ansible-service-broker-latest/epel-7-$basearch/
gpgkey: https://copr-be.cloud.fedoraproject.org/results/@ansible-service-broker/ansible-service-broker-latest/pubkey.gpg
gpgcheck: true
enabled: true
skip_if_unavailable: true
repo_gpgcheck: false
- name: Enable/Install epel-release/centos-release-openshift-origin
become: true
yum:
name: "{{item}}"
state: present
with_items:
- epel-release
- centos-release-openshift-origin
# NOTE(flaper87): python-openshift requires a specific version of
# python-requests. We need to update it to the version in the asb repo, hence
# this step. We have to enable epel so we can meet the python2-pysocks
# dependency, which is a python-requests requirement.
- name: Force update for requests/urllib3
become: true
yum:
name: "{{item}}"
state: latest
update_cache: true
enablerepo: asb,epel
disablerepo: centos-openstack-ocata
with_items:
- python-requests
- name: Install required packages
become: true
yum:
name: "{{item}}"
state: latest
with_items:
- ansible
- python-netaddr
- origin-clients
- docker
- docker-distribution
- name: Install required packages from asb
become: true
yum:
name: "{{item}}"
state: latest
with_items:
- ansible-kubernetes-modules
- name: Set docker registry options for OpenShift
become: true
lineinfile:
path: /etc/sysconfig/docker
state: present
regexp: "^OPTIONS='(.*)'"
line: "OPTIONS='\\1 --insecure-registry 172.30.0.0/16'"
backrefs: yes
- name: Start docker
become: true
service:
name: docker
state: restarted

View File

@ -0,0 +1,24 @@
---
- shell:
cmd: |
set -e
set -x
oc cluster up
executable: /bin/bash
become: true
delegate_to: "primary"
environment: '{{ zuul | zuul_legacy_vars }}'
register: oc_output
- name: Login to OpenShift
shell:
cmd: |
set -e
set -x
oc login https://127.0.0.1:8443 --insecure-skip-tls-verify=true -u developer -p developer
oc new-project openstack
executable: /bin/bash
delegate_to: "primary"
environment: '{{ zuul | zuul_legacy_vars }}'

View File

@ -0,0 +1,2 @@
[Service]
Environment="DOCKER_OPTS=--insecure-registry 172.30.0.0/16"

View File

@ -0,0 +1,12 @@
[kube-master]
{{nodes}}
[kube-node]
{{nodes}}
[etcd:children]
kube-master
[k8s-cluster:children]
kube-master
kube-node

View File

@ -4,8 +4,10 @@
connection: local
vars:
namespace: default
namespace: openstack
{% if coe == 'kubernetes' %}
coe_host: "http://localhost:8080"
{% endif %}
roles:
- role: {{project_name}}