diff options
Diffstat (limited to 'playbooks/gce')
| -rw-r--r-- | playbooks/gce/openshift-cluster/config.yml | 4 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/join_node.yml | 49 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/launch.yml | 54 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/list.yml | 4 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/tasks/launch_instances.yml | 21 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/terminate.yml | 55 | ||||
| -rw-r--r-- | playbooks/gce/openshift-cluster/vars.yml | 8 | 
7 files changed, 61 insertions, 134 deletions
diff --git a/playbooks/gce/openshift-cluster/config.yml b/playbooks/gce/openshift-cluster/config.yml index 7bd3f1a56..fd5dfcc72 100644 --- a/playbooks/gce/openshift-cluster/config.yml +++ b/playbooks/gce/openshift-cluster/config.yml @@ -10,8 +10,6 @@    - set_fact:        g_ssh_user_tmp: "{{ deployment_vars[deployment_type].ssh_user }}"        g_sudo_tmp: "{{ deployment_vars[deployment_type].sudo }}" -      use_sdn: "{{ do_we_use_openshift_sdn }}" -      sdn_plugin: "{{ sdn_network_plugin }}"  - include: ../../common/openshift-cluster/config.yml    vars: @@ -24,5 +22,3 @@      openshift_debug_level: 2      openshift_deployment_type: "{{ deployment_type }}"      openshift_hostname: "{{ gce_private_ip }}" -    openshift_use_openshift_sdn: "{{ hostvars.localhost.use_sdn  }}" -    os_sdn_network_plugin_name: "{{ hostvars.localhost.sdn_plugin }}" diff --git a/playbooks/gce/openshift-cluster/join_node.yml b/playbooks/gce/openshift-cluster/join_node.yml deleted file mode 100644 index 0dfa3e9d7..000000000 --- a/playbooks/gce/openshift-cluster/join_node.yml +++ /dev/null @@ -1,49 +0,0 @@ ---- -- name: Populate oo_hosts_to_update group -  hosts: localhost -  gather_facts: no -  vars_files: -  - vars.yml -  tasks: -  - name: Evaluate oo_hosts_to_update -    add_host: -      name: "{{ node_ip }}" -      groups: oo_hosts_to_update -      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" -      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" - -- include: ../../common/openshift-cluster/update_repos_and_packages.yml - -- name: Populate oo_masters_to_config host group -  hosts: localhost -  gather_facts: no -  vars_files: -  - vars.yml -  tasks: -  - name: Evaluate oo_nodes_to_config -    add_host: -      name: "{{ node_ip }}" -      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user }}" -      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -      groups: oo_nodes_to_config - -  - 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" - -#- include: config.yml -- include: ../../common/openshift-node/config.yml -  vars: -    openshift_cluster_id: "{{ cluster_id }}" -    openshift_debug_level: 4 -    openshift_deployment_type: "{{ deployment_type }}" -    openshift_hostname: "{{ ansible_default_ipv4.address }}" -    openshift_use_openshift_sdn: true -    openshift_node_labels: "{{ lookup('oo_option', 'openshift_node_labels') }} " -    os_sdn_network_plugin_name: "redhat/openshift-ovs-subnet" -    osn_cluster_dns_domain: "{{ hostvars[groups.oo_first_master.0].openshift.dns.domain }}" -    osn_cluster_dns_ip: "{{ hostvars[groups.oo_first_master.0].openshift.dns.ip }}" diff --git a/playbooks/gce/openshift-cluster/launch.yml b/playbooks/gce/openshift-cluster/launch.yml index 94e57fe4e..7a3b80da0 100644 --- a/playbooks/gce/openshift-cluster/launch.yml +++ b/playbooks/gce/openshift-cluster/launch.yml @@ -28,33 +28,33 @@        type: "{{ k8s_type }}"        g_sub_host_type: "{{ sub_host_type }}" -#  - include: ../../common/openshift-cluster/set_infra_launch_facts_tasks.yml -#    vars: -#      type: "infra" -#      count: "{{ num_infra }}" -#  - include: tasks/launch_instances.yml -#    vars: -#      instances: "{{ infra_names }}" -#      cluster: "{{ cluster_id }}" -#      type: "{{ k8s_type }}" -#      g_sub_host_type: "{{ sub_host_type }}" -# -#  - set_fact: -#      a_infra: "{{ infra_names[0] }}" -#  - add_host: name={{ a_infra }} groups=service_master -# +  - include: ../../common/openshift-cluster/set_node_launch_facts_tasks.yml +    vars: +      type: "infra" +      count: "{{ num_infra }}" +  - include: tasks/launch_instances.yml +    vars: +      instances: "{{ infra_names }}" +      cluster: "{{ cluster_id }}" +      type: "{{ k8s_type }}" +      g_sub_host_type: "{{ sub_host_type }}" + +  - set_fact: +      a_infra: "{{ infra_names[0] }}" +  - add_host: name={{ a_infra }} groups=service_master +  - include: update.yml -# -#- name: Deploy OpenShift Services -#  hosts: service_master -#  connection: ssh -#  gather_facts: yes -#  roles: -#  - openshift_registry -#  - openshift_router -# -#- include: ../../common/openshift-cluster/create_services.yml -#  vars: -#     g_svc_master: "{{ service_master }}" + +- name: Deploy OpenShift Services +  hosts: service_master +  connection: ssh +  gather_facts: yes +  roles: +  - openshift_registry +  - openshift_router + +- include: ../../common/openshift-cluster/create_services.yml +  vars: +     g_svc_master: "{{ service_master }}"  - include: list.yml diff --git a/playbooks/gce/openshift-cluster/list.yml b/playbooks/gce/openshift-cluster/list.yml index f5f89baf0..5ba0f5a48 100644 --- a/playbooks/gce/openshift-cluster/list.yml +++ b/playbooks/gce/openshift-cluster/list.yml @@ -14,11 +14,11 @@        groups: oo_list_hosts        ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user | default(ansible_ssh_user, true) }}"        ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -    with_items: groups[scratch_group] | default([]) | difference(['localhost']) | difference(groups.status_terminated | default([])) +    with_items: groups[scratch_group] | default([]) | difference(['localhost']) | difference(groups.status_terminated)  - name: List instance(s)    hosts: oo_list_hosts    gather_facts: no    tasks:    - debug: -      msg: "private ip:{{ hostvars[inventory_hostname].gce_private_ip }}" +      msg: "public ip:{{ hostvars[inventory_hostname].gce_public_ip }} private ip:{{ hostvars[inventory_hostname].gce_private_ip }}" diff --git a/playbooks/gce/openshift-cluster/tasks/launch_instances.yml b/playbooks/gce/openshift-cluster/tasks/launch_instances.yml index b07982305..6307ecc27 100644 --- a/playbooks/gce/openshift-cluster/tasks/launch_instances.yml +++ b/playbooks/gce/openshift-cluster/tasks/launch_instances.yml @@ -10,38 +10,33 @@      service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}"      pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}"      project_id: "{{ lookup('env', 'gce_project_id') }}" -    zone: "{{ lookup('env', 'zone') }}" -    network: "{{ lookup('env', 'network') }}" -# unsupported in 1.9.+ -    #service_account_permissions: "datastore,logging-write"      tags:        - created-by-{{ lookup('env', 'LOGNAME') |default(cluster, true) }}        - env-{{ cluster }}        - host-type-{{ type }} -      - sub-host-type-{{ g_sub_host_type }} +      - sub-host-type-{{ sub_host_type }}        - env-host-type-{{ cluster }}-openshift-{{ type }} -  when: instances |length > 0     register: gce  - name: Add new instances to groups and set variables needed    add_host:      hostname: "{{ item.name }}" -    ansible_ssh_host: "{{ item.name }}" +    ansible_ssh_host: "{{ item.public_ip }}"      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user | default(ansible_ssh_user, true) }}"      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}"      groups: "{{ item.tags | oo_prepend_strings_in_list('tag_') | join(',') }}"      gce_public_ip: "{{ item.public_ip }}"      gce_private_ip: "{{ item.private_ip }}" -  with_items: gce.instance_data | default([]) +  with_items: gce.instance_data  - name: Wait for ssh -  wait_for: port=22 host={{ item.name }} -  with_items: gce.instance_data | default([]) +  wait_for: port=22 host={{ item.public_ip }} +  with_items: gce.instance_data  - name: Wait for user setup    command: "ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null {{ hostvars[item.name].ansible_ssh_user }}@{{ item.public_ip }} echo {{ hostvars[item.name].ansible_ssh_user }} user is setup"    register: result    until: result.rc == 0 -  retries: 30 -  delay: 5 -  with_items: gce.instance_data | default([]) +  retries: 20 +  delay: 10 +  with_items: gce.instance_data diff --git a/playbooks/gce/openshift-cluster/terminate.yml b/playbooks/gce/openshift-cluster/terminate.yml index f705745d9..098b0df73 100644 --- a/playbooks/gce/openshift-cluster/terminate.yml +++ b/playbooks/gce/openshift-cluster/terminate.yml @@ -1,18 +1,25 @@  ---  - name: Terminate instance(s)    hosts: localhost -  connection: local    gather_facts: no    vars_files:    - vars.yml    tasks: -  - set_fact: scratch_group=tag_env-{{ cluster_id }} +  - set_fact: scratch_group=tag_env-host-type-{{ cluster_id }}-openshift-node    - add_host:        name: "{{ item }}" -      groups: oo_hosts_to_terminate +      groups: oo_hosts_to_terminate, oo_nodes_to_terminate        ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user | default(ansible_ssh_user, true) }}"        ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" -    with_items: groups[scratch_group] | default([]) | difference(['localhost']) | difference(groups.status_terminated | default([])) +    with_items: groups[scratch_group] | default([]) | difference(['localhost']) | difference(groups.status_terminated) + +  - set_fact: scratch_group=tag_env-host-type-{{ cluster_id }}-openshift-master +  - add_host: +      name: "{{ item }}" +      groups: oo_hosts_to_terminate, oo_masters_to_terminate +      ansible_ssh_user: "{{ deployment_vars[deployment_type].ssh_user | default(ansible_ssh_user, true) }}" +      ansible_sudo: "{{ deployment_vars[deployment_type].sudo }}" +    with_items: groups[scratch_group] | default([]) | difference(['localhost']) | difference(groups.status_terminated)  - name: Unsubscribe VMs    hosts: oo_hosts_to_terminate @@ -25,34 +32,14 @@            lookup('oo_option', 'rhel_skip_subscription') | default(rhsub_skip, True) |              default('no', True) | lower in ['no', 'false'] -- name: Terminate instances(s) -  hosts: localhost -  connection: local -  gather_facts: no -  vars_files: -  - vars.yml -  tasks: - -    - name: Terminate instances that were previously launched -      local_action: -        module: gce -        state: 'absent' -        name: "{{ item }}" -        service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}" -        pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}" -        project_id: "{{ lookup('env', 'gce_project_id') }}" -        zone: "{{ lookup('env', 'zone') }}" -      with_items: groups['oo_hosts_to_terminate'] | default([]) -      when: item is defined +- include: ../openshift-node/terminate.yml +  vars: +    gce_service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}" +    gce_pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}" +    gce_project_id: "{{ lookup('env', 'gce_project_id') }}" -#- include: ../openshift-node/terminate.yml -#  vars: -#    gce_service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}" -#    gce_pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}" -#    gce_project_id: "{{ lookup('env', 'gce_project_id') }}" -# -#- include: ../openshift-master/terminate.yml -#  vars: -#    gce_service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}" -#    gce_pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}" -#    gce_project_id: "{{ lookup('env', 'gce_project_id') }}" +- include: ../openshift-master/terminate.yml +  vars: +    gce_service_account_email: "{{ lookup('env', 'gce_service_account_email_address') }}" +    gce_pem_file: "{{ lookup('env', 'gce_service_account_pem_file_path') }}" +    gce_project_id: "{{ lookup('env', 'gce_project_id') }}" diff --git a/playbooks/gce/openshift-cluster/vars.yml b/playbooks/gce/openshift-cluster/vars.yml index 6de007807..ae33083b9 100644 --- a/playbooks/gce/openshift-cluster/vars.yml +++ b/playbooks/gce/openshift-cluster/vars.yml @@ -1,11 +1,8 @@  --- -do_we_use_openshift_sdn: true -sdn_network_plugin: redhat/openshift-ovs-subnet  -# os_sdn_network_plugin_name can be ovssubnet or multitenant, see https://docs.openshift.org/latest/architecture/additional_concepts/sdn.html#ovssubnet-plugin-operation  deployment_vars:    origin: -    image: preinstalled-slave-50g-v5 -    ssh_user: root +    image: centos-7 +    ssh_user:      sudo: yes    online:      image: libra-rhel7 @@ -15,3 +12,4 @@ deployment_vars:      image: rhel-7      ssh_user:      sudo: yes +  | 
