diff options
| author | Kenny Woodson <kwoodson@redhat.com> | 2015-10-29 11:14:51 -0400 | 
|---|---|---|
| committer | Kenny Woodson <kwoodson@redhat.com> | 2015-10-29 11:14:51 -0400 | 
| commit | 9bbaa824da5e1a049cdec1a6523c3841d713386c (patch) | |
| tree | 93e80f1577ad0f2f5f8931b493c50cd9aa657c77 /playbooks/libvirt/openshift-cluster | |
| parent | 15df494fb781dd1509854eeb366e981930b52c22 (diff) | |
| parent | 16d1bce0be2f8c3942489630adcb7030aecadc55 (diff) | |
| download | openshift-9bbaa824da5e1a049cdec1a6523c3841d713386c.tar.gz openshift-9bbaa824da5e1a049cdec1a6523c3841d713386c.tar.bz2 openshift-9bbaa824da5e1a049cdec1a6523c3841d713386c.tar.xz openshift-9bbaa824da5e1a049cdec1a6523c3841d713386c.zip  | |
Merge pull request #763 from openshift/master
Merge master into prod.
Diffstat (limited to 'playbooks/libvirt/openshift-cluster')
9 files changed, 75 insertions, 38 deletions
diff --git a/playbooks/libvirt/openshift-cluster/config.yml b/playbooks/libvirt/openshift-cluster/config.yml index 75e2005a2..c208eee81 100644 --- a/playbooks/libvirt/openshift-cluster/config.yml +++ b/playbooks/libvirt/openshift-cluster/config.yml @@ -3,37 +3,22 @@  # is localhost, so no hostname value (or public_hostname) value is getting  # assigned -- name: Populate oo_masters_to_config host group -  hosts: localhost +- hosts: localhost    gather_facts: no    vars_files:    - vars.yml    tasks: -  - name: Evaluate oo_masters_to_config -    add_host: -      name: "{{ item }}" -      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" -      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -      groups: oo_masters_to_config -    with_items: groups["tag_env-host-type-{{ cluster_id }}-openshift-master"] | default([]) -  - name: Evaluate oo_nodes_to_config -    add_host: -      name: "{{ item }}" -      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" -      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -      groups: oo_nodes_to_config -    with_items: groups["tag_env-host-type-{{ cluster_id }}-openshift-node"] | default([]) -  - name: Evaluate oo_first_master -    add_host: -      name: "{{ groups['tag_env-host-type-' ~ cluster_id ~ '-openshift-master'][0] }}" -      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" -      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -      groups: oo_first_master -    when: "'tag_env-host-type-{{ cluster_id }}-openshift-master' in groups" +  - set_fact: +      g_ssh_user_tmp: "{{ deployment_vars[deployment_type].ssh_user }}" +      g_sudo_tmp: "{{ deployment_vars[deployment_type].sudo }}"  - include: ../../common/openshift-cluster/config.yml    vars: +    g_etcd_group: "{{ 'tag_env-host-type-' ~ cluster_id ~ '-openshift-etcd' }}" +    g_masters_group: "{{ 'tag_env-host-type-' ~ cluster_id ~ '-openshift-master' }}" +    g_nodes_group: "{{ 'tag_env-host-type-' ~ cluster_id ~ '-openshift-node' }}" +    g_ssh_user: "{{ hostvars.localhost.g_ssh_user_tmp }}" +    g_sudo: "{{ hostvars.localhost.g_sudo_tmp }}"      openshift_cluster_id: "{{ cluster_id }}" -    openshift_debug_level: 4 +    openshift_debug_level: 2      openshift_deployment_type: "{{ deployment_type }}" -    openshift_first_master: "{{ groups.oo_first_master.0 }}" diff --git a/playbooks/libvirt/openshift-cluster/launch.yml b/playbooks/libvirt/openshift-cluster/launch.yml index a7ddc1e7e..d3e768de5 100644 --- a/playbooks/libvirt/openshift-cluster/launch.yml +++ b/playbooks/libvirt/openshift-cluster/launch.yml @@ -13,23 +13,47 @@      image_name: "{{ deployment_vars[deployment_type].image.name }}"    tasks:    - fail: msg="Deployment type not supported for libvirt provider yet" -    when: deployment_type in ['online', 'enterprise'] +    when: deployment_type == 'online'    - include: tasks/configure_libvirt.yml +  - include: ../../common/openshift-cluster/set_etcd_launch_facts_tasks.yml +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ etcd_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "default" +    - include: ../../common/openshift-cluster/set_master_launch_facts_tasks.yml    - include: tasks/launch_instances.yml      vars:        instances: "{{ master_names }}"        cluster: "{{ cluster_id }}"        type: "{{ k8s_type }}" +      g_sub_host_type: "default" + +  - include: ../../common/openshift-cluster/set_node_launch_facts_tasks.yml +    vars: +      type: "compute" +      count: "{{ num_nodes }}" +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ node_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "{{ sub_host_type }}"    - include: ../../common/openshift-cluster/set_node_launch_facts_tasks.yml +    vars: +      type: "infra" +      count: "{{ num_infra }}"    - include: tasks/launch_instances.yml      vars:        instances: "{{ node_names }}"        cluster: "{{ cluster_id }}"        type: "{{ k8s_type }}" +      g_sub_host_type: "{{ sub_host_type }}"  - include: update.yml diff --git a/playbooks/libvirt/openshift-cluster/lookup_plugins b/playbooks/libvirt/openshift-cluster/lookup_plugins new file mode 120000 index 000000000..ac79701db --- /dev/null +++ b/playbooks/libvirt/openshift-cluster/lookup_plugins @@ -0,0 +1 @@ +../../../lookup_plugins
\ No newline at end of file diff --git a/playbooks/libvirt/openshift-cluster/tasks/launch_instances.yml b/playbooks/libvirt/openshift-cluster/tasks/launch_instances.yml index 8291192ab..4b91c6da8 100644 --- a/playbooks/libvirt/openshift-cluster/tasks/launch_instances.yml +++ b/playbooks/libvirt/openshift-cluster/tasks/launch_instances.yml @@ -14,6 +14,7 @@      url: '{{ image_url }}'      sha256sum: '{{ image_sha256 }}'      dest: '{{ os_libvirt_storage_pool_path }}/{{ image_name }}' +  when: '{{ ( lookup("oo_option", "skip_image_download") | default("no", True) | lower ) in ["false", "no"] }}'  - name: Create the cloud-init config drive path    file: @@ -62,8 +63,9 @@    shell: 'virsh -c {{ libvirt_uri }} net-dhcp-leases openshift-ansible | egrep -c ''{{ instances | join("|") }}'''    register: nb_allocated_ips    until: nb_allocated_ips.stdout == '{{ instances | length }}' -  retries: 30 -  delay: 1 +  retries: 60 +  delay: 3 +  when: instances | length != 0  - name: Collect IP addresses of the VMs    shell: 'virsh -c {{ libvirt_uri }} net-dhcp-leases openshift-ansible | awk ''$6 == "{{ item }}" {gsub(/\/.*/, "", $5); print $5}''' @@ -71,7 +73,7 @@    with_items: instances  - set_fact: -    ips: "{{ scratch_ip.results | oo_collect('stdout') }}" +    ips: "{{ scratch_ip.results | default([]) | oo_collect('stdout') }}"  - name: Add new instances    add_host: diff --git a/playbooks/libvirt/openshift-cluster/templates/network.xml b/playbooks/libvirt/openshift-cluster/templates/network.xml index 86dcd62bb..050bc7ab9 100644 --- a/playbooks/libvirt/openshift-cluster/templates/network.xml +++ b/playbooks/libvirt/openshift-cluster/templates/network.xml @@ -8,7 +8,7 @@    <!-- TODO: query for first available virbr interface available -->    <bridge name='virbr3' stp='on' delay='0'/>    <!-- TODO: make overridable --> -  <domain name='example.com'/> +  <domain name='example.com' localOnly='yes' />    <dns>      <!-- TODO: automatically add host entries -->    </dns> diff --git a/playbooks/libvirt/openshift-cluster/templates/user-data b/playbooks/libvirt/openshift-cluster/templates/user-data index 77b788109..eacae7c7e 100644 --- a/playbooks/libvirt/openshift-cluster/templates/user-data +++ b/playbooks/libvirt/openshift-cluster/templates/user-data @@ -19,5 +19,5 @@ system_info:  ssh_authorized_keys:    - {{ lookup('file', '~/.ssh/id_rsa.pub') }} -bootcmd: +runcmd:    - NETWORK_CONFIG=/etc/sysconfig/network-scripts/ifcfg-eth0; if ! grep DHCP_HOSTNAME ${NETWORK_CONFIG}; then echo 'DHCP_HOSTNAME="{{ item[0] }}.example.com"' >> ${NETWORK_CONFIG}; fi; pkill -9 dhclient; service network restart diff --git a/playbooks/libvirt/openshift-cluster/terminate.yml b/playbooks/libvirt/openshift-cluster/terminate.yml index b173a09dd..8f00812a9 100644 --- a/playbooks/libvirt/openshift-cluster/terminate.yml +++ b/playbooks/libvirt/openshift-cluster/terminate.yml @@ -15,6 +15,23 @@        ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}"      with_items: groups[cluster_group] | default([]) +- name: Unsubscribe VMs +  hosts: oo_hosts_to_terminate +  vars_files: +  - vars.yml +  roles: +  - role: rhel_unsubscribe +    when: deployment_type == "enterprise" and +          ansible_distribution == "RedHat" and +          lookup('oo_option', 'rhel_skip_subscription') | default(rhsub_skip, True) | +            default('no', True) | lower in ['no', 'false'] + +- name: Terminate instance(s) +  hosts: localhost +  gather_facts: no +  vars_files: +  - vars.yml +  tasks:    - name: Destroy VMs      virt:        name: '{{ item[0] }}' diff --git a/playbooks/libvirt/openshift-cluster/update.yml b/playbooks/libvirt/openshift-cluster/update.yml index 57e36db9e..d09832c16 100644 --- a/playbooks/libvirt/openshift-cluster/update.yml +++ b/playbooks/libvirt/openshift-cluster/update.yml @@ -11,7 +11,9 @@        groups: oo_hosts_to_update        ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}"        ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -    with_items: groups["tag_env-host-type-{{ cluster_id }}-openshift-master"] | union(groups["tag_env-host-type-{{ cluster_id }}-openshift-node"]) | default([]) +    with_items: (groups["tag_env-host-type-{{ cluster_id }}-openshift-master"] | default([])) +                | union(groups["tag_env-host-type-{{ cluster_id }}-openshift-node"] | default([])) +                | union(groups["tag_env-host-type-{{ cluster_id }}-openshift-etcd"] | default([]))  - include: ../../common/openshift-cluster/update_repos_and_packages.yml diff --git a/playbooks/libvirt/openshift-cluster/vars.yml b/playbooks/libvirt/openshift-cluster/vars.yml index 65d954fee..c77a0797e 100644 --- a/playbooks/libvirt/openshift-cluster/vars.yml +++ b/playbooks/libvirt/openshift-cluster/vars.yml @@ -7,9 +7,12 @@ libvirt_uri: 'qemu:///system'  deployment_vars:    origin:      image: -      url: "http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2" -      name: CentOS-7-x86_64-GenericCloud.qcow2 -      sha256: e324e3ab1d24a1bbf035ddb365e7f9058c0b454acf48d7aa15c5519fae5998ab +      url:    "{{ lookup('oo_option', 'image_url') | +                  default('http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2', True) }}" +      name:   "{{ lookup('oo_option', 'image_name') | +                  default('CentOS-7-x86_64-GenericCloud.qcow2', True) }}" +      sha256: "{{ lookup('oo_option', 'image_sha256') | +                  default('e324e3ab1d24a1bbf035ddb365e7f9058c0b454acf48d7aa15c5519fae5998ab', True) }}"      ssh_user: openshift      sudo: yes    online: @@ -21,9 +24,12 @@ deployment_vars:      sudo: no    enterprise:      image: -      url: -      name: -      sha256: +      url:    "{{ lookup('oo_option', 'image_url') | +                  default('https://access.cdn.redhat.com//content/origin/files/sha256/ff/ff8198653cfd9c39411fc57077451ac291b3a605d305e905932fd6d5b1890bf3/rhel-guest-image-7.1-20150224.0.x86_64.qcow2', True) }}" +      name:   "{{ lookup('oo_option', 'image_name') | +                  default('rhel-guest-image-7.1-20150224.0.x86_64.qcow2', True) }}" +      sha256: "{{ lookup('oo_option', 'image_sha256') | +                  default('ff8198653cfd9c39411fc57077451ac291b3a605d305e905932fd6d5b1890bf3', True) }}"      ssh_user: openshift      sudo: yes  #  origin:  | 
