From 5a316c72d414857d6772ad48e9cef19aec00a3ca Mon Sep 17 00:00:00 2001 From: Adam Miller Date: Tue, 18 Oct 2016 20:26:46 +0000 Subject: [PATCH] add osbs-cluster including external openshift-ansible repo's cluster playbook and inventory entries Signed-off-by: Adam Miller --- inventory/group_vars/all | 16 ++++++++ .../group_vars/{osbs-stg => osbs-masters-stg} | 3 ++ inventory/group_vars/osbs-nodes-stg | 2 + inventory/inventory | 38 ++++++++++++++++++- playbooks/groups/osbs-cluster.yml | 34 +++++++++++++++++ 5 files changed, 91 insertions(+), 2 deletions(-) rename inventory/group_vars/{osbs-stg => osbs-masters-stg} (89%) create mode 100644 playbooks/groups/osbs-cluster.yml diff --git a/inventory/group_vars/all b/inventory/group_vars/all index c6965372a6..cb42f4330f 100644 --- a/inventory/group_vars/all +++ b/inventory/group_vars/all @@ -1,4 +1,20 @@ --- +####### +# BEGIN: Ansible roles_path variables +# +# Background/reference about external repos pulled in: +# https://pagure.io/fedora-infrastructure/issue/5476 +# +ansible_base: /srv/web/infra + +# Path to the openshift-ansible checkout as external git repo brought into +# Fedora Infra +openshift_ansible: /srv/web/infra/openshift-ansible/ + +# +# END: Ansible roles_path variables +####### + freezes: true # most of our systems are in phx2 datacenter: phx2 diff --git a/inventory/group_vars/osbs-stg b/inventory/group_vars/osbs-masters-stg similarity index 89% rename from inventory/group_vars/osbs-stg rename to inventory/group_vars/osbs-masters-stg index 6bcadb7bce..8fe17b7807 100644 --- a/inventory/group_vars/osbs-stg +++ b/inventory/group_vars/osbs-masters-stg @@ -19,3 +19,6 @@ osbs_koji_username: "kojibuilder_stg" koji_url: "koji.stg.fedoraproject.org" osbs_client_conf_path: /etc/osbs.conf + +openshift_node_labels="{'region':'infra'}" +openshift_schedulable=False diff --git a/inventory/group_vars/osbs-nodes-stg b/inventory/group_vars/osbs-nodes-stg index 6bcadb7bce..6ae2729dd0 100644 --- a/inventory/group_vars/osbs-nodes-stg +++ b/inventory/group_vars/osbs-nodes-stg @@ -19,3 +19,5 @@ osbs_koji_username: "kojibuilder_stg" koji_url: "koji.stg.fedoraproject.org" osbs_client_conf_path: /etc/osbs.conf + +openshift_node_labels="{'region': 'primary', 'zone': 'default'} diff --git a/inventory/inventory b/inventory/inventory index 72d79666b9..ee1599581f 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -1195,6 +1195,7 @@ qa14.qa.fedoraproject.org taskotron-stg01.qa.fedoraproject.org taskotron01.qa.fedoraproject.org + [osbs] osbs-master01.phx2.fedoraproject.org @@ -1202,14 +1203,47 @@ osbs-master01.phx2.fedoraproject.org osbs-node01.phx2.fedoraproject.org osbs-node02.phx2.fedoraproject.org -[osbs-stg] -osbs-master01.stg.phx2.fedoraproject.org +##### +# This is for the OSBS scale-out deployment work, the following group names are +# unfortunately hard-coded into the openshift-ansible playbooks and roles and +# must be used: +# OSEv3 +# masters +# nodes +# etcd +# lb +# +# In an attempt to separate this out the best as we can, the descriptive group +# names are used below and we then set those groups as children as necessary +[OSEv3:children] +masters +nodes +etcd +lb + +[nodes:children] +osbs-masters-stg +osbs-nodes-stg + +[masters:children] +osbs-masters-stg + +[etcd:children] +osbs-masters-stg + +[lb:children] +osbs-masters-stg + +[osbs-masters-stg] +osbs-master01.stg.phx2.fedoraproject.org [osbs-nodes-stg] osbs-node01.stg.phx2.fedoraproject.org osbs-node02.stg.phx2.fedoraproject.org + +# Docker (docker-distribution) registries [docker-registry] docker-registry01.phx2.fedoraproject.org docker-candidate-registry01.phx2.fedoraproject.org diff --git a/playbooks/groups/osbs-cluster.yml b/playbooks/groups/osbs-cluster.yml new file mode 100644 index 0000000000..6b78664f06 --- /dev/null +++ b/playbooks/groups/osbs-cluster.yml @@ -0,0 +1,34 @@ +# create an osbs server +- include: "/srv/web/infra/ansible/playbooks/include/virt-create.yml myhosts=osbs-nodes-stg:osbs-masters-stg" + +- name: make the box be real + hosts: osbs-masters-stg:osbs-nodes-stg + user: root + gather_facts: True + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "/srv/private/ansible/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + roles: + - base + - rkhunter + - nagios/client + - hosts + - fas_client + - collectd/base + - rsyncd + - sudo + - { role: openvpn/client, + when: env != "staging" } + + tasks: + - include: "{{ tasks }}/yumrepos.yml" + - include: "{{ tasks }}/2fa_client.yml" + - include: "{{ tasks }}/motd.yml" + + handlers: + - include: "{{ handlers }}/restart_services.yml" + +- include: "{{ openshift_ansible }}/playbooks/byo/openshift-cluster/config.yml"