diff options
Diffstat (limited to 'playbooks/common')
14 files changed, 452 insertions, 21 deletions
| diff --git a/playbooks/common/openshift-cluster/create_persistent_volumes.yml b/playbooks/common/openshift-cluster/create_persistent_volumes.yml index ec6f2c52c..8a60a30b8 100644 --- a/playbooks/common/openshift-cluster/create_persistent_volumes.yml +++ b/playbooks/common/openshift-cluster/create_persistent_volumes.yml @@ -1,13 +1,4 @@  --- -- name: Create persistent volumes -  hosts: oo_first_master -  vars: -    persistent_volumes: "{{ hostvars[groups.oo_first_master.0] | oo_persistent_volumes(groups) }}" -    persistent_volume_claims: "{{ hostvars[groups.oo_first_master.0] | oo_persistent_volume_claims }}" -  tasks: -  - debug: var=persistent_volumes -  - debug: var=persistent_volume_claims -  - name: Create Hosted Resources - persistent volumes    hosts: oo_first_master    vars: diff --git a/playbooks/common/openshift-cluster/upgrades/init.yml b/playbooks/common/openshift-cluster/upgrades/init.yml index 2826951e6..6ad0b6b86 100644 --- a/playbooks/common/openshift-cluster/upgrades/init.yml +++ b/playbooks/common/openshift-cluster/upgrades/init.yml @@ -9,7 +9,12 @@  - name: Ensure firewall is not switched during upgrade    hosts: oo_all_hosts +  vars: +    openshift_master_installed_version: "{{ hostvars[groups.oo_first_master.0].openshift.common.version }}"    tasks: +  - name: set currently installed version +    set_fact: +      openshift_currently_installed_version: "{{ openshift_master_installed_version }}"    - name: Check if iptables is running      command: systemctl status iptables      changed_when: false diff --git a/playbooks/common/openshift-cluster/upgrades/v3_7/validator.yml b/playbooks/common/openshift-cluster/upgrades/v3_7/validator.yml index 022b4b4fb..7a28eeb27 100644 --- a/playbooks/common/openshift-cluster/upgrades/v3_7/validator.yml +++ b/playbooks/common/openshift-cluster/upgrades/v3_7/validator.yml @@ -15,7 +15,7 @@    - name: Confirm OpenShift authorization objects are in sync      command: >        {{ openshift.common.client_binary }} adm migrate authorization -    when: openshift_upgrade_target | version_compare('3.8','<') +    when: openshift_currently_installed_version | version_compare('3.7','<')      changed_when: false      register: l_oc_result      until: l_oc_result.rc == 0 diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/filter_plugins b/playbooks/common/openshift-cluster/upgrades/v3_8/filter_plugins new file mode 120000 index 000000000..7de3c1dd7 --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/filter_plugins @@ -0,0 +1 @@ +../../../../../filter_plugins/
\ No newline at end of file diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/master_config_upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_8/master_config_upgrade.yml new file mode 100644 index 000000000..1d4d1919c --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/master_config_upgrade.yml @@ -0,0 +1,20 @@ +--- +- modify_yaml: +    dest: "{{ openshift.common.config_base}}/master/master-config.yaml" +    yaml_key: 'controllerConfig.election.lockName' +    yaml_value: 'openshift-master-controllers' + +- modify_yaml: +    dest: "{{ openshift.common.config_base}}/master/master-config.yaml" +    yaml_key: 'controllerConfig.serviceServingCert.signer.certFile' +    yaml_value: service-signer.crt + +- modify_yaml: +    dest: "{{ openshift.common.config_base}}/master/master-config.yaml" +    yaml_key: 'controllerConfig.serviceServingCert.signer.keyFile' +    yaml_value: service-signer.key + +- modify_yaml: +    dest: "{{ openshift.common.config_base }}/master/master-config.yaml" +    yaml_key: servingInfo.clientCA +    yaml_value: ca.crt diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/roles b/playbooks/common/openshift-cluster/upgrades/v3_8/roles new file mode 120000 index 000000000..415645be6 --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/roles @@ -0,0 +1 @@ +../../../../../roles/
\ No newline at end of file diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade.yml b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade.yml new file mode 100644 index 000000000..b3162bd5f --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade.yml @@ -0,0 +1,142 @@ +--- +# +# Full Control Plane + Nodes Upgrade +# +- include: ../init.yml +  tags: +  - pre_upgrade + +- name: Configure the upgrade target for the common upgrade tasks +  hosts: oo_all_hosts +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_upgrade_target: '3.8' +      openshift_upgrade_min: '3.7' + +# Pre-upgrade + +- include: ../initialize_nodes_to_upgrade.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_etcd3_backend.yml +  tags: +  - pre_upgrade + +- name: Update repos and initialize facts on all hosts +  hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config:oo_lb_to_config +  tags: +  - pre_upgrade +  roles: +  - openshift_repos + +- name: Set openshift_no_proxy_internal_hostnames +  hosts: oo_masters_to_config:oo_nodes_to_upgrade +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_no_proxy_internal_hostnames: "{{ hostvars | oo_select_keys(groups['oo_nodes_to_config'] +                                                    | union(groups['oo_masters_to_config']) +                                                    | union(groups['oo_etcd_to_config'] | default([]))) +                                                | oo_collect('openshift.common.hostname') | default([]) | join (',') +                                                }}" +    when: +    - openshift_http_proxy is defined or openshift_https_proxy is defined +    - openshift_generate_no_proxy_hosts | default(True) | bool + +- include: ../pre/verify_inventory_vars.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_health_checks.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_control_plane_running.yml +  tags: +  - pre_upgrade + +- include: ../disable_master_excluders.yml +  tags: +  - pre_upgrade + +- include: ../disable_node_excluders.yml +  tags: +  - pre_upgrade + +- include: ../../initialize_openshift_version.yml +  tags: +  - pre_upgrade +  vars: +    # Request specific openshift_release and let the openshift_version role handle converting this +    # to a more specific version, respecting openshift_image_tag and openshift_pkg_version if +    # defined, and overriding the normal behavior of protecting the installed version +    openshift_release: "{{ openshift_upgrade_target }}" +    openshift_protect_installed_version: False + +    # We skip the docker role at this point in upgrade to prevent +    # unintended package, container, or config upgrades which trigger +    # docker restarts. At this early stage of upgrade we can assume +    # docker is configured and running. +    skip_docker_role: True + +- include: ../../../openshift-master/validate_restart.yml +  tags: +  - pre_upgrade + +- name: Verify upgrade targets +  hosts: oo_masters_to_config:oo_nodes_to_upgrade +  tasks: +  - include: ../pre/verify_upgrade_targets.yml +  tags: +  - pre_upgrade + +- name: Verify docker upgrade targets +  hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config +  tasks: +  - include: ../pre/tasks/verify_docker_upgrade_targets.yml +  tags: +  - pre_upgrade + +- include: validator.yml +  tags: +  - pre_upgrade + +- include: ../pre/gate_checks.yml +  tags: +  - pre_upgrade + +# Pre-upgrade completed, nothing after this should be tagged pre_upgrade. + +# Separate step so we can execute in parallel and clear out anything unused +# before we get into the serialized upgrade process which will then remove +# remaining images if possible. +- name: Cleanup unused Docker images +  hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config +  tasks: +  - include: ../cleanup_unused_images.yml + +- include: ../upgrade_control_plane.yml +  vars: +    master_config_hook: "v3_7/master_config_upgrade.yml" + +# All controllers must be stopped at the same time then restarted +- name: Cycle all controller services to force new leader election mode +  hosts: oo_masters_to_config +  gather_facts: no +  tasks: +  - name: Stop {{ openshift.common.service_type }}-master-controllers +    systemd: +      name: "{{ openshift.common.service_type }}-master-controllers" +      state: stopped +  - name: Start {{ openshift.common.service_type }}-master-controllers +    systemd: +      name: "{{ openshift.common.service_type }}-master-controllers" +      state: started + +- include: ../upgrade_nodes.yml + +- include: ../post_control_plane.yml diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_control_plane.yml b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_control_plane.yml new file mode 100644 index 000000000..3df5b17b5 --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_control_plane.yml @@ -0,0 +1,144 @@ +--- +# +# Control Plane Upgrade Playbook +# +# Upgrades masters and Docker (only on standalone etcd hosts) +# +# This upgrade does not include: +# - node service running on masters +# - docker running on masters +# - node service running on dedicated nodes +# +# You can run the upgrade_nodes.yml playbook after this to upgrade these components separately. +# +- include: ../init.yml +  tags: +  - pre_upgrade + +- name: Configure the upgrade target for the common upgrade tasks +  hosts: oo_all_hosts +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_upgrade_target: '3.8' +      openshift_upgrade_min: '3.7' + +# Pre-upgrade +- include: ../initialize_nodes_to_upgrade.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_etcd3_backend.yml +  tags: +  - pre_upgrade + +- name: Update repos on control plane hosts +  hosts: oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config +  tags: +  - pre_upgrade +  roles: +  - openshift_repos + +- name: Set openshift_no_proxy_internal_hostnames +  hosts: oo_masters_to_config:oo_nodes_to_upgrade +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_no_proxy_internal_hostnames: "{{ hostvars | oo_select_keys(groups['oo_nodes_to_config'] +                                                    | union(groups['oo_masters_to_config']) +                                                    | union(groups['oo_etcd_to_config'] | default([]))) +                                                | oo_collect('openshift.common.hostname') | default([]) | join (',') +                                                }}" +    when: +    - openshift_http_proxy is defined or openshift_https_proxy is defined +    - openshift_generate_no_proxy_hosts | default(True) | bool + +- include: ../pre/verify_inventory_vars.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_health_checks.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_control_plane_running.yml +  tags: +  - pre_upgrade + +- include: ../disable_master_excluders.yml +  tags: +  - pre_upgrade + +- include: ../../initialize_openshift_version.yml +  tags: +  - pre_upgrade +  vars: +    # Request specific openshift_release and let the openshift_version role handle converting this +    # to a more specific version, respecting openshift_image_tag and openshift_pkg_version if +    # defined, and overriding the normal behavior of protecting the installed version +    openshift_release: "{{ openshift_upgrade_target }}" +    openshift_protect_installed_version: False + +    # We skip the docker role at this point in upgrade to prevent +    # unintended package, container, or config upgrades which trigger +    # docker restarts. At this early stage of upgrade we can assume +    # docker is configured and running. +    skip_docker_role: True + +- include: ../../../openshift-master/validate_restart.yml +  tags: +  - pre_upgrade + +- name: Verify upgrade targets +  hosts: oo_masters_to_config +  tasks: +  - include: ../pre/verify_upgrade_targets.yml +  tags: +  - pre_upgrade + +- name: Verify docker upgrade targets +  hosts: oo_masters_to_config:oo_etcd_to_config +  tasks: +  - include: ../pre/tasks/verify_docker_upgrade_targets.yml +  tags: +  - pre_upgrade + +- include: validator.yml +  tags: +  - pre_upgrade + +- include: ../pre/gate_checks.yml +  tags: +  - pre_upgrade + +# Pre-upgrade completed, nothing after this should be tagged pre_upgrade. + +# Separate step so we can execute in parallel and clear out anything unused +# before we get into the serialized upgrade process which will then remove +# remaining images if possible. +- name: Cleanup unused Docker images +  hosts: oo_masters_to_config:oo_etcd_to_config +  tasks: +  - include: ../cleanup_unused_images.yml + +- include: ../upgrade_control_plane.yml +  vars: +    master_config_hook: "v3_7/master_config_upgrade.yml" + +# All controllers must be stopped at the same time then restarted +- name: Cycle all controller services to force new leader election mode +  hosts: oo_masters_to_config +  gather_facts: no +  tasks: +  - name: Stop {{ openshift.common.service_type }}-master-controllers +    systemd: +      name: "{{ openshift.common.service_type }}-master-controllers" +      state: stopped +  - name: Start {{ openshift.common.service_type }}-master-controllers +    systemd: +      name: "{{ openshift.common.service_type }}-master-controllers" +      state: started + +- include: ../post_control_plane.yml diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_nodes.yml b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_nodes.yml new file mode 100644 index 000000000..f3d192ba7 --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/upgrade_nodes.yml @@ -0,0 +1,115 @@ +--- +# +# Node Upgrade Playbook +# +# Upgrades nodes only, but requires the control plane to have already been upgraded. +# +- include: ../init.yml +  tags: +  - pre_upgrade + +- name: Configure the upgrade target for the common upgrade tasks +  hosts: oo_all_hosts +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_upgrade_target: '3.8' +      openshift_upgrade_min: '3.7' + +# Pre-upgrade +- include: ../initialize_nodes_to_upgrade.yml +  tags: +  - pre_upgrade + +- name: Update repos on nodes +  hosts: oo_masters_to_config:oo_nodes_to_upgrade:oo_etcd_to_config:oo_lb_to_config +  roles: +  - openshift_repos +  tags: +  - pre_upgrade + +- name: Set openshift_no_proxy_internal_hostnames +  hosts: oo_masters_to_config:oo_nodes_to_upgrade +  tags: +  - pre_upgrade +  tasks: +  - set_fact: +      openshift_no_proxy_internal_hostnames: "{{ hostvars | oo_select_keys(groups['oo_nodes_to_upgrade'] +                                                    | union(groups['oo_masters_to_config']) +                                                    | union(groups['oo_etcd_to_config'] | default([]))) +                                                | oo_collect('openshift.common.hostname') | default([]) | join (',') +                                                }}" +    when: +    - openshift_http_proxy is defined or openshift_https_proxy is defined +    - openshift_generate_no_proxy_hosts | default(True) | bool + +- include: ../pre/verify_inventory_vars.yml +  tags: +  - pre_upgrade + +- include: ../pre/verify_health_checks.yml +  tags: +  - pre_upgrade + +- include: ../disable_node_excluders.yml +  tags: +  - pre_upgrade + +- include: ../../initialize_openshift_version.yml +  tags: +  - pre_upgrade +  vars: +    # Request specific openshift_release and let the openshift_version role handle converting this +    # to a more specific version, respecting openshift_image_tag and openshift_pkg_version if +    # defined, and overriding the normal behavior of protecting the installed version +    openshift_release: "{{ openshift_upgrade_target }}" +    openshift_protect_installed_version: False + +    # We skip the docker role at this point in upgrade to prevent +    # unintended package, container, or config upgrades which trigger +    # docker restarts. At this early stage of upgrade we can assume +    # docker is configured and running. +    skip_docker_role: True + +- name: Verify masters are already upgraded +  hosts: oo_masters_to_config +  tags: +  - pre_upgrade +  tasks: +  - fail: msg="Master running {{ openshift.common.version }} must be upgraded to {{ openshift_version }} before node upgrade can be run." +    when: openshift.common.version != openshift_version + +- include: ../pre/verify_control_plane_running.yml +  tags: +  - pre_upgrade + +- name: Verify upgrade targets +  hosts: oo_nodes_to_upgrade +  tasks: +  - include: ../pre/verify_upgrade_targets.yml +  tags: +  - pre_upgrade + +- name: Verify docker upgrade targets +  hosts: oo_nodes_to_upgrade +  tasks: +  - include: ../pre/tasks/verify_docker_upgrade_targets.yml +  tags: +  - pre_upgrade + +- include: ../pre/gate_checks.yml +  tags: +  - pre_upgrade + +# Pre-upgrade completed, nothing after this should be tagged pre_upgrade. + +# Separate step so we can execute in parallel and clear out anything unused +# before we get into the serialized upgrade process which will then remove +# remaining images if possible. +- name: Cleanup unused Docker images +  hosts: oo_nodes_to_upgrade +  tasks: +  - include: ../cleanup_unused_images.yml + +- include: ../upgrade_nodes.yml diff --git a/playbooks/common/openshift-cluster/upgrades/v3_8/validator.yml b/playbooks/common/openshift-cluster/upgrades/v3_8/validator.yml new file mode 100644 index 000000000..d8540abfb --- /dev/null +++ b/playbooks/common/openshift-cluster/upgrades/v3_8/validator.yml @@ -0,0 +1,7 @@ +--- +- name: Verify 3.8 specific upgrade checks +  hosts: oo_first_master +  roles: +  - { role: lib_openshift } +  tasks: +  - debug: msg="noop" diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml index b359919ba..7ce0362ef 100644 --- a/playbooks/common/openshift-master/config.yml +++ b/playbooks/common/openshift-master/config.yml @@ -212,6 +212,12 @@        tasks_from: master      when: openshift_use_kuryr | default(false) | bool +  - name: Setup the node group config maps +    include_role: +      name: openshift_node_group +    when: openshift_master_bootstrap_enabled | default(false) | bool +    run_once: True +    post_tasks:    - name: Create group for deployment type      group_by: key=oo_masters_deployment_type_{{ openshift.common.deployment_type }} diff --git a/playbooks/common/openshift-master/files/openshift-ansible-catalog-console.js b/playbooks/common/openshift-master/files/openshift-ansible-catalog-console.js deleted file mode 100644 index d0a9f11dc..000000000 --- a/playbooks/common/openshift-master/files/openshift-ansible-catalog-console.js +++ /dev/null @@ -1,2 +0,0 @@ -// empty file so that the master-config can still point to a file that exists -// this file will be replaced by the template service broker role if enabled diff --git a/playbooks/common/openshift-master/tasks/wire_aggregator.yml b/playbooks/common/openshift-master/tasks/wire_aggregator.yml index df3ea27b4..0d23e9d61 100644 --- a/playbooks/common/openshift-master/tasks/wire_aggregator.yml +++ b/playbooks/common/openshift-master/tasks/wire_aggregator.yml @@ -136,9 +136,15 @@    when:    - not front_proxy_kubeconfig.stat.exists -- name: copy tech preview extension file for service console UI -  copy: -    src: openshift-ansible-catalog-console.js +- name: Delete temp directory +  file: +    name: "{{ certtemp.stdout }}" +    state: absent +  changed_when: False + +- name: Setup extension file for service console UI +  template: +    src: ../templates/openshift-ansible-catalog-console.js      dest: /etc/origin/master/openshift-ansible-catalog-console.js  - name: Update master config @@ -212,9 +218,3 @@    changed_when: false    when:    - yedit_output.changed - -- name: Delete temp directory -  file: -    name: "{{ certtemp.stdout }}" -    state: absent -  changed_when: False diff --git a/playbooks/common/openshift-master/templates/openshift-ansible-catalog-console.js b/playbooks/common/openshift-master/templates/openshift-ansible-catalog-console.js new file mode 100644 index 000000000..fd02325ba --- /dev/null +++ b/playbooks/common/openshift-master/templates/openshift-ansible-catalog-console.js @@ -0,0 +1 @@ +window.OPENSHIFT_CONSTANTS.TEMPLATE_SERVICE_BROKER_ENABLED = {{ 'true' if (template_service_broker_install | default(True)) else 'false' }}; | 
