diff options
Diffstat (limited to 'playbooks')
| -rw-r--r-- | playbooks/aws/openshift-cluster/cluster_hosts.yml | 2 | ||||
| -rw-r--r-- | playbooks/byo/openshift-cluster/cluster_hosts.yml | 4 | ||||
| -rw-r--r-- | playbooks/byo/openshift-etcd/scaleup.yml | 22 | ||||
| -rw-r--r-- | playbooks/common/openshift-cluster/evaluate_groups.yml | 15 | ||||
| -rw-r--r-- | playbooks/common/openshift-etcd/scaleup.yml | 30 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/cluster_hosts.yml | 2 | ||||
| -rw-r--r-- | playbooks/libvirt/openshift-cluster/cluster_hosts.yml | 2 | ||||
| -rw-r--r-- | playbooks/openstack/openshift-cluster/cluster_hosts.yml | 2 | 
8 files changed, 75 insertions, 4 deletions
| diff --git a/playbooks/aws/openshift-cluster/cluster_hosts.yml b/playbooks/aws/openshift-cluster/cluster_hosts.yml index 119df9c7d..c2f4dfedc 100644 --- a/playbooks/aws/openshift-cluster/cluster_hosts.yml +++ b/playbooks/aws/openshift-cluster/cluster_hosts.yml @@ -4,6 +4,8 @@ g_all_hosts: "{{ groups['tag_clusterid_' ~ cluster_id] | default([])  g_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type_etcd'] | default([])) }}" +g_new_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type_new_etcd'] | default([])) }}" +  g_lb_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type_lb'] | default([])) }}"  g_nfs_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type_nfs'] | default([])) }}" diff --git a/playbooks/byo/openshift-cluster/cluster_hosts.yml b/playbooks/byo/openshift-cluster/cluster_hosts.yml index 0db7ccf89..e807ac004 100644 --- a/playbooks/byo/openshift-cluster/cluster_hosts.yml +++ b/playbooks/byo/openshift-cluster/cluster_hosts.yml @@ -1,6 +1,8 @@  ---  g_etcd_hosts: "{{ groups.etcd | default([]) }}" +g_new_etcd_hosts: "{{ groups.new_etcd | default([]) }}" +  g_lb_hosts: "{{ groups.lb | default([]) }}"  g_master_hosts: "{{ groups.masters | default([]) }}" @@ -18,7 +20,7 @@ g_glusterfs_hosts: "{{ groups.glusterfs | default([]) }}"  g_glusterfs_registry_hosts: "{{ groups.glusterfs_registry | default(g_glusterfs_hosts) }}"  g_all_hosts: "{{ g_master_hosts | union(g_node_hosts) | union(g_etcd_hosts) -                 | union(g_lb_hosts) | union(g_nfs_hosts) +                 | union(g_new_etcd_hosts) | union(g_lb_hosts) | union(g_nfs_hosts)                   | union(g_new_node_hosts)| union(g_new_master_hosts)                   | union(g_glusterfs_hosts) | union(g_glusterfs_registry_hosts)                   | default([]) }}" diff --git a/playbooks/byo/openshift-etcd/scaleup.yml b/playbooks/byo/openshift-etcd/scaleup.yml new file mode 100644 index 000000000..f03854c2a --- /dev/null +++ b/playbooks/byo/openshift-etcd/scaleup.yml @@ -0,0 +1,22 @@ +--- +- hosts: localhost +  connection: local +  become: no +  gather_facts: no +  tasks: +  - include_vars: ../../byo/openshift-cluster/cluster_hosts.yml +  - add_host: +      name: "{{ item }}" +      groups: l_oo_all_hosts +    with_items: "{{ g_all_hosts }}" + +- hosts: l_oo_all_hosts +  gather_facts: no +  tasks: +  - include_vars: ../../byo/openshift-cluster/cluster_hosts.yml + +- include: ../../common/openshift-cluster/evaluate_groups.yml +- include: ../../common/openshift-etcd/scaleup.yml +  vars: +    openshift_cluster_id: "{{ cluster_id | default('default') }}" +    openshift_deployment_type: "{{ deployment_type }}" diff --git a/playbooks/common/openshift-cluster/evaluate_groups.yml b/playbooks/common/openshift-cluster/evaluate_groups.yml index baca72c58..8accda8c7 100644 --- a/playbooks/common/openshift-cluster/evaluate_groups.yml +++ b/playbooks/common/openshift-cluster/evaluate_groups.yml @@ -5,10 +5,10 @@    become: no    gather_facts: no    tasks: -  - name: Evaluate groups - g_etcd_hosts required +  - name: Evaluate groups - g_etcd_hosts or g_new_etcd_hosts required      fail: -      msg: This playbook requires g_etcd_hosts to be set -    when: g_etcd_hosts is not defined +      msg: This playbook requires g_etcd_hosts or g_new_etcd_hosts to be set +    when: "{{ g_etcd_hosts is not defined and g_new_etcd_hosts is not defined}}"    - name: Evaluate groups - g_master_hosts or g_new_master_hosts required      fail: @@ -67,6 +67,15 @@      when: g_master_hosts|length > 0      changed_when: no +  - name: Evaluate oo_new_etcd_to_config +    add_host: +      name: "{{ item }}" +      groups: oo_new_etcd_to_config +      ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}" +    with_items: "{{ g_new_etcd_hosts | default([]) }}" +    changed_when: no +    - name: Evaluate oo_masters_to_config      add_host:        name: "{{ item }}" diff --git a/playbooks/common/openshift-etcd/scaleup.yml b/playbooks/common/openshift-etcd/scaleup.yml new file mode 100644 index 000000000..47fa8cdf5 --- /dev/null +++ b/playbooks/common/openshift-etcd/scaleup.yml @@ -0,0 +1,30 @@ +--- +- name: Configure etcd +  hosts: oo_new_etcd_to_config +  serial: 1 +  any_errors_fatal: true +  vars: +    etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" +  pre_tasks: +  - name: Add new etcd members to cluster +    command: > +      /usr/bin/etcdctl  --cert-file {{ etcd_peer_cert_file }} +                        --key-file {{ etcd_peer_key_file }} +                        --ca-file {{ etcd_peer_ca_file }} +                        -C {{ etcd_peer_url_scheme }}://{{ etcd_ca_host }}:{{ etcd_client_port }} +                        member add {{ inventory_hostname }} {{ etcd_peer_url_scheme }}://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:{{ etcd_peer_port }} +    delegate_to: "{{ etcd_ca_host }}" +    register: etcd_add_check +  roles: +  - role: openshift_etcd +    when: etcd_add_check.rc == 0 +    etcd_peers: "{{ groups.oo_etcd_to_config | union(groups.oo_new_etcd_to_config)| default([], true) }}" +    etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" +    etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" +    etcd_initial_cluster_state: "existing" +    initial_etcd_cluster: "{{ etcd_add_check.stdout_lines[3] | regex_replace('ETCD_INITIAL_CLUSTER=','') }}" +    etcd_hostname: "{{ inventory_hostname }}" +    etcd_ca_setup: False +    r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" +  - role: nickhammond.logrotate +    when: etcd_add_check.rc == 0 diff --git a/playbooks/gce/openshift-cluster/cluster_hosts.yml b/playbooks/gce/openshift-cluster/cluster_hosts.yml index 05a58db73..e5f41382b 100644 --- a/playbooks/gce/openshift-cluster/cluster_hosts.yml +++ b/playbooks/gce/openshift-cluster/cluster_hosts.yml @@ -4,6 +4,8 @@ g_all_hosts: "{{ groups['tag_clusterid-' ~ cluster_id] | default([])  g_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-etcd'] | default([])) }}" +g_new_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-new_etcd'] | default([])) }}" +  g_lb_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-lb'] | default([])) }}"  g_nfs_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-nfs'] | default([])) }}" diff --git a/playbooks/libvirt/openshift-cluster/cluster_hosts.yml b/playbooks/libvirt/openshift-cluster/cluster_hosts.yml index 05a58db73..e5f41382b 100644 --- a/playbooks/libvirt/openshift-cluster/cluster_hosts.yml +++ b/playbooks/libvirt/openshift-cluster/cluster_hosts.yml @@ -4,6 +4,8 @@ g_all_hosts: "{{ groups['tag_clusterid-' ~ cluster_id] | default([])  g_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-etcd'] | default([])) }}" +g_new_etcd_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-new_etcd'] | default([])) }}" +  g_lb_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-lb'] | default([])) }}"  g_nfs_hosts: "{{ g_all_hosts | intersect(groups['tag_host-type-nfs'] | default([])) }}" diff --git a/playbooks/openstack/openshift-cluster/cluster_hosts.yml b/playbooks/openstack/openshift-cluster/cluster_hosts.yml index 505f7b3a8..12c9fd442 100644 --- a/playbooks/openstack/openshift-cluster/cluster_hosts.yml +++ b/playbooks/openstack/openshift-cluster/cluster_hosts.yml @@ -4,6 +4,8 @@ g_all_hosts: "{{ groups['meta-clusterid_' ~ cluster_id] | default([])  g_etcd_hosts: "{{ g_all_hosts | intersect(groups['meta-host-type_etcd'] | default([])) }}" +g_new_etcd_hosts: "{{ g_all_hosts | intersect(groups['meta-host-type_new_etcd'] | default([])) }}" +  g_lb_hosts: "{{ g_all_hosts | intersect(groups['meta-host-type_lb'] | default([])) }}"  g_nfs_hosts: "{{ g_all_hosts | intersect(groups['meta-host-type_nfs'] | default([])) }}" | 
