diff options
Diffstat (limited to 'playbooks/common')
| -rw-r--r-- | playbooks/common/openshift-cluster/upgrades/v3_0_to_v3_1/upgrade.yml | 11 | ||||
| -rw-r--r-- | playbooks/common/openshift-master/config.yml | 49 | 
2 files changed, 33 insertions, 27 deletions
| 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 1f9c6afd3..68df2153d 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 @@ -29,6 +29,7 @@    hosts: oo_first_master    vars:      openshift_master_ha: "{{ groups.oo_masters_to_config | length > 1 }}" +    target_version: "{{ '1.1' if deployment_type == 'origin' else '3.1' }}"    gather_facts: no    tasks:    # Pacemaker is currently the only supported upgrade path for multiple masters @@ -45,8 +46,8 @@    - fail:        msg: >          openshift_pkg_version is {{ openshift_pkg_version }} which is not a -        valid version for a 3.1 upgrade -    when: openshift_pkg_version is defined and openshift_pkg_version.split('-',1).1 | version_compare('3.0.2.900','<') +        valid version for a {{ target_version }} upgrade +    when: openshift_pkg_version is defined and openshift_pkg_version.split('-',1).1 | version_compare(target_version ,'<')    # If this script errors out ansible will show the default stdout/stderr    # which contains details for the user: @@ -55,6 +56,8 @@  - name: Verify upgrade can proceed    hosts: oo_masters_to_config:oo_nodes_to_config +  vars: +    target_version: "{{ '1.1' if deployment_type == 'origin' else '3.1' }}"    tasks:    - name: Clean package cache      command: "{{ ansible_pkg_mgr }} clean all" @@ -77,8 +80,8 @@      when: deployment_type == 'origin' and g_aos_versions.curr_version | version_compare('1.0.6','<')    - fail: -      msg: Atomic OpenShift 3.1 packages not found -    when: g_aos_versions.curr_version | version_compare('3.0.2.900','<') and (g_aos_versions.avail_version is none or g_aos_versions.avail_version | version_compare('3.0.2.900','<')) +      msg: Upgrade packages not found +    when: (g_aos_versions.avail_version | default(g_aos_versions.curr_version, true) | version_compare(target_version, '<'))    - set_fact:        pre_upgrade_complete: True diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml index 759656e63..677c274c4 100644 --- a/playbooks/common/openshift-master/config.yml +++ b/playbooks/common/openshift-master/config.yml @@ -236,29 +236,32 @@    - role: haproxy      when: groups.oo_masters_to_config | length > 1 -- name: Generate master session keys +- name: Check for cached session secrets    hosts: oo_first_master +  roles: +  - role: openshift_facts +  post_tasks: +  - openshift_facts: +      role: master +      local_facts: +          session_auth_secrets: "{{ openshift_master_session_auth_secrets | default(openshift.master.session_auth_secrets | default(None)) }}" +          session_encryption_secrets: "{{ openshift_master_session_encryption_secrets | default(openshift.master.session_encryption_secrets | default(None)) }}" + +- name: Generate master session secrets +  hosts: oo_first_master +  vars: +    g_session_secrets_present: "{{ (openshift.master.session_auth_secrets | default([]) and openshift.master.session_encryption_secrets | default([])) | length > 0 }}" +    g_session_auth_secrets: "{{ [ 24 | oo_generate_secret ] }}" +    g_session_encryption_secrets: "{{ [ 24 | oo_generate_secret ] }}" +  roles: +  - role: openshift_facts    tasks: -  - fail: -      msg: "Both openshift_master_session_auth_secrets and openshift_master_session_encryption_secrets must be provided if either variable is set" -    when: (openshift_master_session_auth_secrets is defined and openshift_master_session_encryption_secrets is not defined) or (openshift_master_session_encryption_secrets is defined and openshift_master_session_auth_secrets is not defined) -  - fail: -      msg: "openshift_master_session_auth_secrets and openshift_master_encryption_secrets must be equal length" -    when: (openshift_master_session_auth_secrets is defined and openshift_master_session_encryption_secrets is defined) and (openshift_master_session_auth_secrets | length != openshift_master_session_encryption_secrets | length) -  - name: Install OpenSSL package -    action: "{{ ansible_pkg_mgr }} name=openssl state=present" -    when: not openshift.common.is_atomic | bool -  - name: Generate session authentication key -    command: /usr/bin/openssl rand -base64 24 -    register: session_auth_output -    when: openshift_master_session_auth_secrets is undefined -  - name: Generate session encryption key -    command: /usr/bin/openssl rand -base64 24 -    register: session_encryption_output -    when: openshift_master_session_encryption_secrets is undefined -  - set_fact: -      session_auth_secret: "{{ openshift_master_session_auth_secrets | default([session_auth_output.stdout]) }}" -      session_encryption_secret: "{{ openshift_master_session_encryption_secrets | default([session_encryption_output.stdout]) }}" +  - openshift_facts: +      role: master +      local_facts: +        session_auth_secrets: "{{ g_session_auth_secrets }}" +        session_encryption_secrets: "{{ g_session_encryption_secrets }}" +    when: not g_session_secrets_present | bool  - name: Parse named certificates    hosts: localhost @@ -314,8 +317,8 @@      sync_tmpdir: "{{ hostvars.localhost.g_master_mktemp.stdout }}"      openshift_master_ha: "{{ groups.oo_masters_to_config | length > 1 }}"      openshift_master_count: "{{ groups.oo_masters_to_config | length }}" -    openshift_master_session_auth_secrets: "{{ hostvars[groups['oo_first_master'][0]]['session_auth_secret'] }}" -    openshift_master_session_encryption_secrets: "{{ hostvars[groups['oo_first_master'][0]]['session_encryption_secret'] }}" +    openshift_master_session_auth_secrets: "{{ hostvars[groups.oo_first_master.0].openshift.master.session_auth_secrets }}" +    openshift_master_session_encryption_secrets: "{{ hostvars[groups.oo_first_master.0].openshift.master.session_encryption_secrets }}"    pre_tasks:    - name: Ensure certificate directory exists      file: | 
