diff options
Diffstat (limited to 'playbooks/common')
15 files changed, 81 insertions, 43 deletions
| diff --git a/playbooks/common/openshift-cluster/additional_config.yml b/playbooks/common/openshift-cluster/additional_config.yml index 44bf962c9..c5a0f123c 100644 --- a/playbooks/common/openshift-cluster/additional_config.yml +++ b/playbooks/common/openshift-cluster/additional_config.yml @@ -52,3 +52,5 @@    - role: openshift_registry      registry_volume_claim: "{{ openshift.hosted.registry.storage.volume.name }}-claim"      when: deploy_infra | bool and attach_registry_volume | bool +  - role: openshift_metrics +    when: openshift.hosted.metrics.deploy | bool diff --git a/playbooks/common/openshift-cluster/config.yml b/playbooks/common/openshift-cluster/config.yml index 6f908fa7f..99b36098a 100644 --- a/playbooks/common/openshift-cluster/config.yml +++ b/playbooks/common/openshift-cluster/config.yml @@ -4,7 +4,7 @@  - include: validate_hostnames.yml  - name: Set oo_options -  hosts: oo_hosts_to_config +  hosts: oo_all_hosts    tasks:    - set_fact:        openshift_docker_additional_registries: "{{ lookup('oo_option', 'docker_additional_registries') }}" diff --git a/playbooks/common/openshift-cluster/evaluate_groups.yml b/playbooks/common/openshift-cluster/evaluate_groups.yml index ce0134c44..3fb42a7fa 100644 --- a/playbooks/common/openshift-cluster/evaluate_groups.yml +++ b/playbooks/common/openshift-cluster/evaluate_groups.yml @@ -34,7 +34,7 @@        name: "{{ item }}"        groups: oo_all_hosts        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_all_hosts | default([]) }}"    - name: Evaluate oo_masters @@ -42,7 +42,7 @@        name: "{{ item }}"        groups: oo_masters        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_master_hosts | union(g_new_master_hosts) | default([]) }}"    - name: Evaluate oo_etcd_to_config @@ -50,7 +50,7 @@        name: "{{ item }}"        groups: oo_etcd_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_etcd_hosts | default([]) }}"    - name: Evaluate oo_masters_to_config @@ -58,7 +58,7 @@        name: "{{ item }}"        groups: oo_masters_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_new_master_hosts | default(g_master_hosts | default([], true), true) }}"    - name: Evaluate oo_nodes_to_config @@ -66,7 +66,7 @@        name: "{{ item }}"        groups: oo_nodes_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_new_node_hosts | default(g_node_hosts | default([], true), true) }}"    # Skip adding the master to oo_nodes_to_config when g_new_node_hosts is @@ -75,7 +75,7 @@        name: "{{ item }}"        groups: oo_nodes_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_master_hosts | default([]) }}"      when: g_nodeonmaster | default(false) == true and g_new_node_hosts is not defined @@ -91,7 +91,7 @@        name: "{{ g_master_hosts[0] }}"        groups: oo_first_master        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      when: g_master_hosts|length > 0    - name: Evaluate oo_lb_to_config @@ -99,7 +99,7 @@        name: "{{ item }}"        groups: oo_lb_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_lb_hosts | default([]) }}"    - name: Evaluate oo_nfs_to_config @@ -107,5 +107,5 @@        name: "{{ item }}"        groups: oo_nfs_to_config        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ g_nfs_hosts | default([]) }}" diff --git a/playbooks/common/openshift-cluster/upgrades/v3_0_minor/upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_0_minor/upgrade.yml index 63c8ef756..51b108f6a 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_0_minor/upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_0_minor/upgrade.yml @@ -42,10 +42,10 @@  - name: Update cluster policy    hosts: oo_first_master    tasks: -    - name: oadm policy reconcile-cluster-roles --confirm +    - name: oadm policy reconcile-cluster-roles --additive-only=true --confirm        command: >          {{ openshift.common.admin_binary}} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -        policy reconcile-cluster-roles --confirm +        policy reconcile-cluster-roles --additive-only=true --confirm  - name: Upgrade default router    hosts: oo_first_master diff --git a/playbooks/common/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml index 31ba8c4a9..a72749a2b 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml @@ -490,7 +490,7 @@    - name: Reconcile Cluster Roles      command: >        {{ openshift.common.admin_binary}} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -      policy reconcile-cluster-roles --confirm +      policy reconcile-cluster-roles --additive-only=true --confirm      run_once: true    - name: Reconcile Cluster Role Bindings diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_minor/upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_minor/upgrade.yml index 54bb251f7..5e62b43a3 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_minor/upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_minor/upgrade.yml @@ -103,7 +103,7 @@    - name: Reconcile Cluster Roles      command: >        {{ openshift.common.admin_binary}} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -      policy reconcile-cluster-roles --confirm +      policy reconcile-cluster-roles --additive-only=true --confirm      run_once: true    - name: Reconcile Cluster Role Bindings diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/containerized_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/containerized_upgrade.yml index 2bd625257..319758a06 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/containerized_upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/containerized_upgrade.yml @@ -1,7 +1,7 @@  - include_vars: ../../../../../roles/openshift_node/vars/main.yml  - name: Update systemd units -  include: ../../../../../roles/openshift_node/tasks/systemd_units.yml openshift_version=v{{ g_aos_versions.avail_version }} +  include: ../../../../../roles/openshift_node/tasks/systemd_units.yml openshift_version=v{{ g_new_version }}  - name: Verifying the correct version was configured    shell: grep {{ verify_upgrade_version }} {{ item }} diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/node_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/node_upgrade.yml new file mode 100644 index 000000000..a911f12be --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/node_upgrade.yml @@ -0,0 +1,24 @@ +- name: Prepare for Node evacuation +  command: > +    {{ openshift.common.admin_binary }} manage-node {{ openshift.common.hostname | lower }} --schedulable=false +  delegate_to: "{{ groups.oo_first_master.0 }}" + +- name: Evacuate Node for Kubelet upgrade +  command: > +    {{ openshift.common.admin_binary }} manage-node {{ openshift.common.hostname | lower }} --evacuate --force +  delegate_to: "{{ groups.oo_first_master.0 }}" + +- include: rpm_upgrade.yml +  vars: +     component: "node" +     openshift_version: "{{ openshift_pkg_version | default('') }}" +  when: not openshift.common.is_containerized | bool + +- include: containerized_upgrade.yml +  when: openshift.common.is_containerized | bool + +- name: Set node schedulability +  command: > +    {{ openshift.common.admin_binary }} manage-node {{ openshift.common.hostname | lower }} --schedulable=true +  delegate_to: "{{ groups.oo_first_master.0 }}" +  when: openshift.node.schedulable | bool diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml index 21480ba55..db1d420ac 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/pre.yml @@ -161,14 +161,14 @@      when: inventory_hostname in groups.oo_masters_to_config    - name: Update systemd units -    include: ../../../../../roles/openshift_master/tasks/systemd_units.yml openshift_version=v{{ g_aos_versions.curr_version }} +    include: ../../../../../roles/openshift_master/tasks/systemd_units.yml openshift_version=v{{ g_new_version }}      when: inventory_hostname in groups.oo_masters_to_config    - include_vars: ../../../../../roles/openshift_node/vars/main.yml      when: inventory_hostname in groups.oo_nodes_to_config    - name: Update systemd units -    include: ../../../../../roles/openshift_node/tasks/systemd_units.yml openshift_version=v{{g_aos_versions.curr_version}} +    include: ../../../../../roles/openshift_node/tasks/systemd_units.yml openshift_version=v{{ g_new_version }}      when: inventory_hostname in groups.oo_nodes_to_config    # Note: the version number is hardcoded here in hopes of catching potential diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/rpm_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/rpm_upgrade.yml index 7a2718e1b..5c96ad094 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/rpm_upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/rpm_upgrade.yml @@ -4,3 +4,6 @@  - name: Ensure python-yaml present for config upgrade    action: "{{ ansible_pkg_mgr }} name=PyYAML state=present"    when: not openshift.common.is_atomic | bool + +- name: Restart node service +  service: name="{{ openshift.common.service_type }}-node" state=restarted diff --git a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/upgrade.yml index 8852bb8de..a28f7e9c1 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/upgrade.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_1_to_v3_2/upgrade.yml @@ -50,7 +50,7 @@    - include_vars: ../../../../../roles/openshift_master/vars/main.yml    - name: Update systemd units -    include: ../../../../../roles/openshift_master/tasks/systemd_units.yml openshift_version=v{{ g_aos_versions.avail_version }} +    include: ../../../../../roles/openshift_master/tasks/systemd_units.yml openshift_version=v{{ g_new_version }}  #  - name: Upgrade master configuration  #    openshift_upgrade_config: @@ -88,23 +88,13 @@  ###############################################################################  - name: Upgrade nodes    hosts: oo_nodes_to_config +  serial: 1    roles:    - openshift_facts    handlers:    - include: ../../../../../roles/openshift_node/handlers/main.yml    tasks: -  - include: rpm_upgrade.yml -    vars: -       component: "node" -       openshift_version: "{{ openshift_pkg_version | default('') }}" -    when: not openshift.common.is_containerized | bool - -  - include: containerized_upgrade.yml -    when: openshift.common.is_containerized | bool - -  # This will restart the node -  - name: Restart openvswitch service -    service: name="{{ openshift.common.service_type }}-node" state=restarted +  - include: node_upgrade.yml    - set_fact:        node_update_complete: True @@ -130,6 +120,7 @@  ###############################################################################  # Reconcile Cluster Roles, Cluster Role Bindings and Security Context Constraints  ############################################################################### +  - name: Reconcile Cluster Roles and Cluster Role Bindings and Security Context Constraints    hosts: oo_masters_to_config    roles: @@ -147,7 +138,7 @@    - name: Reconcile Cluster Roles      command: >        {{ openshift.common.admin_binary}} --config={{ openshift.common.config_base }}/master/admin.kubeconfig -      policy reconcile-cluster-roles --confirm +      policy reconcile-cluster-roles --additive-only=true --confirm      run_once: true    - name: Reconcile Cluster Role Bindings @@ -164,7 +155,7 @@    - name: Reconcile Security Context Constraints      command: > -      {{ openshift.common.admin_binary}} policy reconcile-sccs --confirm +      {{ openshift.common.admin_binary}} policy reconcile-sccs --confirm --additive-only=true      run_once: true    - set_fact: diff --git a/playbooks/common/openshift-etcd/config.yml b/playbooks/common/openshift-etcd/config.yml index 2f07b2f51..01c092625 100644 --- a/playbooks/common/openshift-etcd/config.yml +++ b/playbooks/common/openshift-etcd/config.yml @@ -22,6 +22,8 @@        etcd_cert_subdir: etcd-{{ openshift.common.hostname }}        etcd_cert_config_dir: /etc/etcd        etcd_cert_prefix: +      etcd_hostname: "{{ openshift.common.hostname }}" +      etcd_ip: "{{ openshift.common.ip }}"  - name: Create temp directory for syncing certs    hosts: localhost @@ -43,7 +45,7 @@                                    | oo_filter_list(filter_attr='etcd_server_certs_missing') }}"      sync_tmpdir: "{{ hostvars.localhost.g_etcd_mktemp.stdout }}"    roles: -  - etcd_certificates +  - openshift_etcd_certificates    post_tasks:    - name: Create a tarball of the etcd certs      command: > @@ -69,7 +71,7 @@      sync_tmpdir: "{{ hostvars.localhost.g_etcd_mktemp.stdout }}"      etcd_url_scheme: https      etcd_peer_url_scheme: https -    etcd_peers_group: oo_etcd_to_config +    etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}"    pre_tasks:    - name: Ensure certificate directory exists      file: @@ -91,7 +93,7 @@      sync_tmpdir: "{{ hostvars.localhost.g_etcd_mktemp.stdout }}"      etcd_url_scheme: https      etcd_peer_url_scheme: https -    etcd_peers_group: oo_etcd_to_config +    etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}"    pre_tasks:    - name: Ensure certificate directory exists      file: diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml index f1eaf8e16..060b5aa0d 100644 --- a/playbooks/common/openshift-master/config.yml +++ b/playbooks/common/openshift-master/config.yml @@ -35,6 +35,19 @@    - set_fact:        openshift_master_debug_level: "{{ t_oo_option_master_debug_level }}"      when: openshift_master_debug_level is not defined and t_oo_option_master_debug_level != "" + +  - set_fact: +      openshift_master_default_subdomain: "{{ lookup('oo_option', 'openshift_master_default_subdomain') | default(None, true) }}" +    when: openshift_master_default_subdomain is not defined +  - set_fact: +      openshift_hosted_metrics_deploy: "{{ lookup('oo_option', 'openshift_hosted_metrics_deploy') | default(false, true) }}" +    when: openshift_hosted_metrics_deploy is not defined +  - set_fact: +      openshift_hosted_metrics_duration: "{{ lookup('oo_option', 'openshift_hosted_metrics_duration') | default(7) }}" +    when: openshift_hosted_metrics_duration is not defined +  - set_fact: +      openshift_hosted_metrics_resolution: "{{ lookup('oo_option', 'openshift_hosted_metrics_resolution') | default(10) }}" +    when: openshift_hosted_metrics_resolution is not defined    roles:    - openshift_facts    post_tasks: @@ -53,7 +66,6 @@          console_url: "{{ openshift_master_console_url | default(None) }}"          console_use_ssl: "{{ openshift_master_console_use_ssl | default(None) }}"          public_console_url: "{{ openshift_master_public_console_url | default(None) }}" -        portal_net: "{{ openshift_master_portal_net | default(None) }}"          ha: "{{ openshift_master_ha | default(groups.oo_masters | length > 1) }}"          master_count: "{{ openshift_master_count | default(groups.oo_masters | length) }}"    - openshift_facts: @@ -75,6 +87,8 @@        etcd_cert_subdir: openshift-master-{{ openshift.common.hostname }}        etcd_cert_config_dir: "{{ openshift.common.config_base }}/master"        etcd_cert_prefix: master.etcd- +      etcd_hostname: "{{ openshift.common.hostname }}" +      etcd_ip: "{{ openshift.common.ip }}"      when: groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config  - name: Create temp directory for syncing certs @@ -98,7 +112,7 @@                                     | oo_filter_list(filter_attr='etcd_client_certs_missing') }}"      sync_tmpdir: "{{ hostvars.localhost.g_master_mktemp.stdout }}"    roles: -  - etcd_certificates +  - openshift_etcd_certificates    post_tasks:    - name: Create a tarball of the etcd certs      command: > diff --git a/playbooks/common/openshift-master/restart.yml b/playbooks/common/openshift-master/restart.yml index 02449e40d..57a63cfee 100644 --- a/playbooks/common/openshift-master/restart.yml +++ b/playbooks/common/openshift-master/restart.yml @@ -97,7 +97,7 @@        name: "{{ item }}"        groups: oo_active_masters        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ groups.oo_masters_to_config | default([]) }}"      when: (hostvars[item]['is_active'] | default(false)) | bool    - name: Evaluate oo_current_masters @@ -105,7 +105,7 @@        name: "{{ item }}"        groups: oo_current_masters        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ groups.oo_masters_to_config | default([]) }}"      when: (hostvars[item]['current_host'] | default(false)) | bool diff --git a/playbooks/common/openshift-node/config.yml b/playbooks/common/openshift-node/config.yml index 7ca941732..264935a63 100644 --- a/playbooks/common/openshift-node/config.yml +++ b/playbooks/common/openshift-node/config.yml @@ -105,7 +105,7 @@        name: "{{ item }}"        groups: oo_containerized_master_nodes        ansible_ssh_user: "{{ g_ssh_user | default(omit) }}" -      ansible_sudo: "{{ g_sudo | default(omit) }}" +      ansible_become: "{{ g_sudo | default(omit) }}"      with_items: "{{ groups.oo_nodes_to_config | default([]) }}"      when: hostvars[item].openshift.common.is_containerized | bool and (item in groups.oo_nodes_to_config and item in groups.oo_masters_to_config) @@ -119,7 +119,7 @@      # hostvars[groups.oo_first_master.0].openshift.hosted.registry instead of      # hardcoding      openshift_docker_hosted_registry_insecure: True -    openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.master.portal_net }}" +    openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.common.portal_net }}"    roles:    - openshift_node @@ -132,7 +132,7 @@      # hostvars[groups.oo_first_master.0].openshift.hosted.registry instead of      # hardcoding      openshift_docker_hosted_registry_insecure: True -    openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.master.portal_net }}" +    openshift_docker_hosted_registry_network: "{{ hostvars[groups.oo_first_master.0].openshift.common.portal_net }}"    roles:    - openshift_node @@ -154,6 +154,8 @@        etcd_cert_subdir: openshift-node-{{ openshift.common.hostname }}        etcd_cert_config_dir: "{{ openshift.common.config_base }}/node"        etcd_cert_prefix: node.etcd- +      etcd_hostname: "{{ openshift.common.hostname }}" +      etcd_ip: "{{ openshift.common.ip }}"      when: groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config and (openshift.common.use_flannel | bool)  - name: Configure flannel etcd certificates @@ -168,7 +170,7 @@                                     | oo_filter_list(filter_attr='etcd_client_flannel_certs_missing') | default([]) }}"      when: etcd_client_flannel_certs_missing is defined and etcd_client_flannel_certs_missing    roles: -  - role: etcd_certificates +  - role: openshift_etcd_certificates      when: openshift_use_flannel | default(false) | bool    post_tasks:    - name: Create a tarball of the etcd flannel certs | 
