diff options
74 files changed, 292 insertions, 234 deletions
| diff --git a/.tito/packages/openshift-ansible b/.tito/packages/openshift-ansible index a5969b113..9681ad98d 100644 --- a/.tito/packages/openshift-ansible +++ b/.tito/packages/openshift-ansible @@ -1 +1 @@ -3.7.0-0.137.0 ./ +3.7.0-0.139.0 ./ diff --git a/openshift-ansible.spec b/openshift-ansible.spec index 9decb43d7..13ccd7192 100644 --- a/openshift-ansible.spec +++ b/openshift-ansible.spec @@ -10,7 +10,7 @@  Name:           openshift-ansible  Version:        3.7.0 -Release:        0.137.0%{?dist} +Release:        0.139.0%{?dist}  Summary:        Openshift and Atomic Enterprise Ansible  License:        ASL 2.0  URL:            https://github.com/openshift/openshift-ansible @@ -276,6 +276,19 @@ Atomic OpenShift Utilities includes  %changelog +* Mon Oct 02 2017 Jenkins CD Merge Bot <smunilla@redhat.com> 3.7.0-0.139.0 +- Fix mispelling in error message yammlint -> yamllint (simo@redhat.com) +- Separate certificate playbooks. (abutcher@redhat.com) +- Reverting using uninstall variables for logging and metrics +  (ewolinet@redhat.com) +- Add --image flag to setup-openshift-heketi-storage (ttindell@isenpai.com) + +* Mon Oct 02 2017 Jenkins CD Merge Bot <smunilla@redhat.com> 3.7.0-0.138.0 +- Fix typo in openshift_default_storage_class/README (hansmi@vshn.ch) +- GlusterFS: make ServiceAccounts privileged when either glusterfs or heketi is +  native (jarrpa@redhat.com) +- Fix some provisioning variables (mgugino@redhat.com) +  * Mon Oct 02 2017 Jenkins CD Merge Bot <smunilla@redhat.com> 3.7.0-0.137.0  - openshift_node: Add MASTER_SERVICE on system container install    (smilner@redhat.com) diff --git a/playbooks/byo/openshift-cluster/redeploy-certificates.yml b/playbooks/byo/openshift-cluster/redeploy-certificates.yml index 073ded6e0..255b0dbf7 100644 --- a/playbooks/byo/openshift-cluster/redeploy-certificates.yml +++ b/playbooks/byo/openshift-cluster/redeploy-certificates.yml @@ -11,11 +11,23 @@    vars:      g_check_expiry_hosts: 'oo_etcd_to_config' -- include: ../../common/openshift-cluster/redeploy-certificates/etcd.yml +- include: ../../common/openshift-cluster/redeploy-certificates/etcd-backup.yml -- include: ../../common/openshift-cluster/redeploy-certificates/masters.yml +- include: ../../common/openshift-etcd/certificates.yml +  vars: +    etcd_certificates_redeploy: true + +- include: ../../common/openshift-cluster/redeploy-certificates/masters-backup.yml + +- include: ../../common/openshift-master/certificates.yml +  vars: +    openshift_certificates_redeploy: true + +- include: ../../common/openshift-cluster/redeploy-certificates/nodes-backup.yml -- include: ../../common/openshift-cluster/redeploy-certificates/nodes.yml +- include: ../../common/openshift-node/certificates.yml +  vars: +    openshift_certificates_redeploy: true  - include: ../../common/openshift-etcd/restart.yml    vars: diff --git a/playbooks/byo/openshift-cluster/redeploy-etcd-certificates.yml b/playbooks/byo/openshift-cluster/redeploy-etcd-certificates.yml index 0f86eb997..f4f2ce00d 100644 --- a/playbooks/byo/openshift-cluster/redeploy-etcd-certificates.yml +++ b/playbooks/byo/openshift-cluster/redeploy-etcd-certificates.yml @@ -11,7 +11,11 @@    vars:      g_check_expiry_hosts: 'oo_etcd_to_config' -- include: ../../common/openshift-cluster/redeploy-certificates/etcd.yml +- include: ../../common/openshift-cluster/redeploy-certificates/etcd-backup.yml + +- include: ../../common/openshift-etcd/certificates.yml +  vars: +    etcd_certificates_redeploy: true  - include: ../../common/openshift-etcd/restart.yml    vars: diff --git a/playbooks/byo/openshift-cluster/redeploy-master-certificates.yml b/playbooks/byo/openshift-cluster/redeploy-master-certificates.yml index 566e8b261..049bad8e7 100644 --- a/playbooks/byo/openshift-cluster/redeploy-master-certificates.yml +++ b/playbooks/byo/openshift-cluster/redeploy-master-certificates.yml @@ -7,6 +7,10 @@    tags:    - always -- include: ../../common/openshift-cluster/redeploy-certificates/masters.yml +- include: ../../common/openshift-cluster/redeploy-certificates/masters-backup.yml + +- include: ../../common/openshift-master/certificates.yml +  vars: +    openshift_certificates_redeploy: true  - include: ../../common/openshift-master/restart.yml diff --git a/playbooks/byo/openshift-cluster/redeploy-node-certificates.yml b/playbooks/byo/openshift-cluster/redeploy-node-certificates.yml index 42777e5e6..345b0c689 100644 --- a/playbooks/byo/openshift-cluster/redeploy-node-certificates.yml +++ b/playbooks/byo/openshift-cluster/redeploy-node-certificates.yml @@ -7,6 +7,10 @@    tags:    - always -- include: ../../common/openshift-cluster/redeploy-certificates/nodes.yml +- include: ../../common/openshift-cluster/redeploy-certificates/nodes-backup.yml + +- include: ../../common/openshift-node/certificates.yml +  vars: +    openshift_certificates_redeploy: true  - include: ../../common/openshift-node/restart.yml diff --git a/playbooks/byo/openshift-etcd/certificates.yml b/playbooks/byo/openshift-etcd/certificates.yml new file mode 100644 index 000000000..e35cf243f --- /dev/null +++ b/playbooks/byo/openshift-etcd/certificates.yml @@ -0,0 +1,8 @@ +--- +- include: ../openshift-cluster/initialize_groups.yml + +- include: ../../common/openshift-cluster/std_include.yml + +- include: ../../common/openshift-etcd/ca.yml + +- include: ../../common/openshift-etcd/certificates.yml diff --git a/playbooks/byo/openshift-master/certificates.yml b/playbooks/byo/openshift-master/certificates.yml new file mode 100644 index 000000000..26b964034 --- /dev/null +++ b/playbooks/byo/openshift-master/certificates.yml @@ -0,0 +1,8 @@ +--- +- include: ../openshift-cluster/initialize_groups.yml + +- include: ../../common/openshift-cluster/std_include.yml + +- include: ../../common/openshift-master/ca.yml + +- include: ../../common/openshift-master/certificates.yml diff --git a/playbooks/byo/openshift-node/certificates.yml b/playbooks/byo/openshift-node/certificates.yml new file mode 100644 index 000000000..3d2de74a9 --- /dev/null +++ b/playbooks/byo/openshift-node/certificates.yml @@ -0,0 +1,6 @@ +--- +- include: ../openshift-cluster/initialize_groups.yml + +- include: ../../common/openshift-cluster/std_include.yml + +- include: ../../common/openshift-node/certificates.yml diff --git a/playbooks/byo/openshift-node/scaleup.yml b/playbooks/byo/openshift-node/scaleup.yml index e0c36fb69..9f992cca6 100644 --- a/playbooks/byo/openshift-node/scaleup.yml +++ b/playbooks/byo/openshift-node/scaleup.yml @@ -16,4 +16,6 @@  - include: ../../common/openshift-cluster/std_include.yml +- include: ../../common/openshift-node/certificates.yml +  - include: ../../common/openshift-node/config.yml diff --git a/playbooks/common/openshift-cluster/config.yml b/playbooks/common/openshift-cluster/config.yml index 96a43230d..4ca0d48e4 100644 --- a/playbooks/common/openshift-cluster/config.yml +++ b/playbooks/common/openshift-cluster/config.yml @@ -18,6 +18,10 @@        - docker_image_availability        - docker_storage +- include: ../openshift-etcd/ca.yml + +- include: ../openshift-etcd/certificates.yml +  - include: ../openshift-etcd/config.yml  - include: ../openshift-nfs/config.yml @@ -26,10 +30,16 @@  - include: ../openshift-loadbalancer/config.yml    when: groups.oo_lb_to_config | default([]) | count > 0 +- include: ../openshift-master/ca.yml + +- include: ../openshift-master/certificates.yml +  - include: ../openshift-master/config.yml  - include: ../openshift-master/additional_config.yml +- include: ../openshift-node/certificates.yml +  - include: ../openshift-node/config.yml  - include: ../openshift-glusterfs/config.yml diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/etcd-backup.yml b/playbooks/common/openshift-cluster/redeploy-certificates/etcd-backup.yml new file mode 100644 index 000000000..d738c8207 --- /dev/null +++ b/playbooks/common/openshift-cluster/redeploy-certificates/etcd-backup.yml @@ -0,0 +1,19 @@ +--- +- name: Backup and remove generated etcd certificates +  hosts: oo_first_etcd +  any_errors_fatal: true +  tasks: +  - include_role: +      name: etcd +      tasks_from: backup_generated_certificates +  - include_role: +      name: etcd +      tasks_from: remove_generated_certificates + +- name: Backup deployed etcd certificates +  hosts: oo_etcd_to_config +  any_errors_fatal: true +  tasks: +  - include_role: +      name: etcd +      tasks_from: backup_server_certificates diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/etcd-ca.yml b/playbooks/common/openshift-cluster/redeploy-certificates/etcd-ca.yml index 3da22bce6..044875d1c 100644 --- a/playbooks/common/openshift-cluster/redeploy-certificates/etcd-ca.yml +++ b/playbooks/common/openshift-cluster/redeploy-certificates/etcd-ca.yml @@ -21,20 +21,7 @@        name: etcd        tasks_from: remove_ca_certificates -- name: Generate new etcd CA -  hosts: oo_first_etcd -  roles: -  - role: openshift_etcd_facts -  tasks: -  - include_role: -      name: etcd -      tasks_from: ca -    vars: -      etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" -      etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" -      etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" -    when: -    - etcd_ca_setup | default(True) | bool +- include: ../../openshift-etcd/ca.yml  - name: Create temp directory for syncing certs    hosts: localhost @@ -72,7 +59,7 @@        name: etcd        tasks_from: retrieve_ca_certificates      vars: -      etcd_sync_cert_dir: hostvars['localhost'].g_etcd_mktemp.stdout +      etcd_sync_cert_dir: "{{ hostvars['localhost'].g_etcd_mktemp.stdout }}"        r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}"  - name: Distribute etcd CA to masters diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/etcd.yml b/playbooks/common/openshift-cluster/redeploy-certificates/etcd.yml deleted file mode 100644 index 48a5a13ac..000000000 --- a/playbooks/common/openshift-cluster/redeploy-certificates/etcd.yml +++ /dev/null @@ -1,54 +0,0 @@ ---- -- name: Backup and remove generated etcd certificates -  hosts: oo_first_etcd -  any_errors_fatal: true -  tasks: -  - include_role: -      name: etcd -      tasks_from: backup_generated_certificates -  - include_role: -      name: etcd -      tasks_from: remove_generated_certificates - -- name: Backup and removed deployed etcd certificates -  hosts: oo_etcd_to_config -  any_errors_fatal: true -  tasks: -  - include_role: -      name: etcd -      tasks_from: backup_server_certificates -    vars: -      r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" - -- name: Redeploy etcd certificates -  hosts: oo_etcd_to_config -  any_errors_fatal: true -  roles: -  - role: openshift_etcd_facts -  tasks: -  - include_role: -      name: etcd -      tasks_from: server_certificates -    vars: -      etcd_certificates_redeploy: true -      etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" -      etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" -      etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" -      openshift_ca_host: "{{ groups.oo_first_master.0 }}" -      r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" - -- name: Redeploy etcd client certificates for masters -  hosts: oo_masters_to_config -  any_errors_fatal: true -  roles: -  - role: openshift_etcd_facts -  - role: openshift_etcd_client_certificates -    etcd_certificates_redeploy: true -    etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" -    etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}" -    etcd_cert_config_dir: "{{ openshift.common.config_base }}/master" -    etcd_cert_prefix: "master.etcd-" -    openshift_ca_host: "{{ groups.oo_first_master.0 }}" -    openshift_master_count: "{{ openshift.master.master_count | default(groups.oo_masters | length) }}" -    r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" -    when: groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/masters-backup.yml b/playbooks/common/openshift-cluster/redeploy-certificates/masters-backup.yml new file mode 100644 index 000000000..4dbc041b0 --- /dev/null +++ b/playbooks/common/openshift-cluster/redeploy-certificates/masters-backup.yml @@ -0,0 +1,38 @@ +--- +- name: Backup and remove master cerftificates +  hosts: oo_masters_to_config +  any_errors_fatal: true +  vars: +    openshift_ca_host: "{{ groups.oo_first_master.0 }}" +    openshift_master_count: "{{ openshift.master.master_count | default(groups.oo_masters | length) }}" +  pre_tasks: +  - stat: +      path: "{{ openshift.common.config_base }}/generated-configs" +    register: openshift_generated_configs_dir_stat +  - name: Backup generated certificate and config directories +    command: > +      tar -czvf /etc/origin/master-node-cert-config-backup-{{ ansible_date_time.epoch }}.tgz +      {{ openshift.common.config_base }}/generated-configs +      {{ openshift.common.config_base }}/master +    when: openshift_generated_configs_dir_stat.stat.exists +    delegate_to: "{{ openshift_ca_host }}" +    run_once: true +  - name: Remove generated certificate directories +    file: +      path: "{{ item }}" +      state: absent +    with_items: +    - "{{ openshift.common.config_base }}/generated-configs" +  - name: Remove generated certificates +    file: +      path: "{{ openshift.common.config_base }}/master/{{ item }}" +      state: absent +    with_items: +    - "{{ hostvars[inventory_hostname] | certificates_to_synchronize(include_keys=false, include_ca=false) }}" +    - "etcd.server.crt" +    - "etcd.server.key" +    - "master.server.crt" +    - "master.server.key" +    - "openshift-master.crt" +    - "openshift-master.key" +    - "openshift-master.kubeconfig" diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/masters.yml b/playbooks/common/openshift-cluster/redeploy-certificates/masters.yml deleted file mode 100644 index 51b196299..000000000 --- a/playbooks/common/openshift-cluster/redeploy-certificates/masters.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -- name: Redeploy master certificates -  hosts: oo_masters_to_config -  any_errors_fatal: true -  vars: -    openshift_ca_host: "{{ groups.oo_first_master.0 }}" -    openshift_master_count: "{{ openshift.master.master_count | default(groups.oo_masters | length) }}" -  pre_tasks: -  - stat: -      path: "{{ openshift_generated_configs_dir }}" -    register: openshift_generated_configs_dir_stat -  - name: Backup generated certificate and config directories -    command: > -      tar -czvf /etc/origin/master-node-cert-config-backup-{{ ansible_date_time.epoch }}.tgz -      {{ openshift_generated_configs_dir }} -      {{ openshift.common.config_base }}/master -    when: openshift_generated_configs_dir_stat.stat.exists -    delegate_to: "{{ openshift_ca_host }}" -    run_once: true -  - name: Remove generated certificate directories -    file: -      path: "{{ item }}" -      state: absent -    with_items: -    - "{{ openshift_generated_configs_dir }}" -  - name: Remove generated certificates -    file: -      path: "{{ openshift.common.config_base }}/master/{{ item }}" -      state: absent -    with_items: -    - "{{ hostvars[inventory_hostname] | certificates_to_synchronize(include_keys=false, include_ca=false) }}" -    - "etcd.server.crt" -    - "etcd.server.key" -    - "master.server.crt" -    - "master.server.key" -    - "openshift-master.crt" -    - "openshift-master.key" -    - "openshift-master.kubeconfig" -  - name: Remove generated etcd client certificates -    file: -      path: "{{ openshift.common.config_base }}/master/{{ item }}" -      state: absent -    with_items: -    - "master.etcd-client.crt" -    - "master.etcd-client.key" -    when: groups.oo_etcd_to_config | default([]) | length == 0 -  roles: -  - role: openshift_master_certificates -    openshift_master_etcd_hosts: "{{ hostvars -                                     | oo_select_keys(groups['oo_etcd_to_config'] | default([])) -                                     | oo_collect('openshift.common.hostname') -                                     | default(none, true) }}" -    openshift_certificates_redeploy: true -  - role: lib_utils -  post_tasks: -  - yedit: -      src: "{{ openshift.common.config_base }}/master/master-config.yaml" -      key: servingInfo.namedCertificates -      value: "{{ openshift.master.named_certificates | default([]) | oo_named_certificates_list }}" -    when: -    - ('named_certificates' in openshift.master) -    - openshift.master.named_certificates | default([]) | length > 0 -    - openshift_master_overwrite_named_certificates | default(false) | bool diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/nodes.yml b/playbooks/common/openshift-cluster/redeploy-certificates/nodes-backup.yml index 4990a03f2..2ad84b3b9 100644 --- a/playbooks/common/openshift-cluster/redeploy-certificates/nodes.yml +++ b/playbooks/common/openshift-cluster/redeploy-certificates/nodes-backup.yml @@ -22,8 +22,3 @@        state: absent      with_items:      - "{{ openshift.common.config_base }}/node/ca.crt" -  roles: -  - role: openshift_node_certificates -    openshift_node_master_api_url: "{{ hostvars[groups.oo_first_master.0].openshift.master.api_url }}" -    openshift_ca_host: "{{ groups.oo_first_master.0 }}" -    openshift_certificates_redeploy: true diff --git a/playbooks/common/openshift-cluster/redeploy-certificates/openshift-ca.yml b/playbooks/common/openshift-cluster/redeploy-certificates/openshift-ca.yml index b54acae6c..12cd209d2 100644 --- a/playbooks/common/openshift-cluster/redeploy-certificates/openshift-ca.yml +++ b/playbooks/common/openshift-cluster/redeploy-certificates/openshift-ca.yml @@ -105,25 +105,21 @@      - "ca.serial.txt"      - "ca-bundle.crt" -- name: Generate new OpenShift CA certificate +- name: Create temporary directory for creating new CA certificate    hosts: oo_first_master -  pre_tasks: +  tasks:    - name: Create temporary directory for creating new CA certificate      command: >        mktemp -d /tmp/openshift-ansible-XXXXXXX      register: g_new_openshift_ca_mktemp      changed_when: false -  roles: -  - role: openshift_ca + +- include: ../../openshift-master/ca.yml +  vars:      # Set openshift_ca_config_dir to a temporary directory where CA      # will be created. We'll replace the existing CA with the CA      # created in the temporary directory. -    openshift_ca_config_dir: "{{ g_new_openshift_ca_mktemp.stdout }}" -    openshift_ca_host: "{{ groups.oo_first_master.0 }}" -    openshift_master_hostnames: "{{ hostvars -                                    | oo_select_keys(groups['oo_masters_to_config'] | default([])) -                                    | oo_collect('openshift.common.all_hostnames') -                                    | oo_flatten | unique }}" +    openshift_ca_config_dir: "{{ hostvars[groups.oo_first_master.0].g_new_openshift_ca_mktemp.stdout }}"  - name: Create temp directory for syncing certs    hosts: localhost diff --git a/playbooks/common/openshift-etcd/ca.yml b/playbooks/common/openshift-etcd/ca.yml new file mode 100644 index 000000000..ac5543be9 --- /dev/null +++ b/playbooks/common/openshift-etcd/ca.yml @@ -0,0 +1,15 @@ +--- +- name: Generate new etcd CA +  hosts: oo_first_etcd +  roles: +  - role: openshift_etcd_facts +  tasks: +  - include_role: +      name: etcd +      tasks_from: ca +    vars: +      etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" +      etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" +      etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" +    when: +    - etcd_ca_setup | default(True) | bool diff --git a/playbooks/common/openshift-etcd/certificates.yml b/playbooks/common/openshift-etcd/certificates.yml new file mode 100644 index 000000000..31a0f50d8 --- /dev/null +++ b/playbooks/common/openshift-etcd/certificates.yml @@ -0,0 +1,29 @@ +--- +- name: Create etcd server certificates for etcd hosts +  hosts: oo_etcd_to_config +  any_errors_fatal: true +  roles: +    - role: openshift_etcd_facts +  post_tasks: +    - include_role: +        name: etcd +        tasks_from: server_certificates +      vars: +        etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" +        etcd_peers: "{{ groups.oo_etcd_to_config | default([], true) }}" +        etcd_certificates_etcd_hosts: "{{ groups.oo_etcd_to_config | default([], true) }}" +        r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" + +- name: Create etcd client certificates for master hosts +  hosts: oo_masters_to_config +  any_errors_fatal: true +  roles: +    - role: openshift_etcd_facts +    - role: openshift_etcd_client_certificates +      etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" +      etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}" +      etcd_cert_config_dir: "{{ openshift.common.config_base }}/master" +      etcd_cert_prefix: "master.etcd-" +      openshift_ca_host: "{{ groups.oo_first_master.0 }}" +      r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" +      when: groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config diff --git a/playbooks/common/openshift-etcd/scaleup.yml b/playbooks/common/openshift-etcd/scaleup.yml index 4f83264d0..8aa508119 100644 --- a/playbooks/common/openshift-etcd/scaleup.yml +++ b/playbooks/common/openshift-etcd/scaleup.yml @@ -30,6 +30,13 @@      retries: 3      delay: 10      until: etcd_add_check.rc == 0 +  - include_role: +      name: etcd +      tasks_from: server_certificates +    vars: +      etcd_peers: "{{ groups.oo_new_etcd_to_config | default([], true) }}" +      etcd_certificates_etcd_hosts: "{{ groups.oo_new_etcd_to_config | default([], true) }}" +      r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}"    roles:    - role: os_firewall      when: etcd_add_check.rc == 0 diff --git a/playbooks/common/openshift-master/ca.yml b/playbooks/common/openshift-master/ca.yml new file mode 100644 index 000000000..5bb796fa3 --- /dev/null +++ b/playbooks/common/openshift-master/ca.yml @@ -0,0 +1,8 @@ +--- +- name: Create OpenShift CA +  hosts: oo_masters_to_config +  roles: +  - role: openshift_master_facts +  - role: openshift_named_certificates +  - role: openshift_ca +    openshift_ca_host: "{{ groups.oo_first_master.0 }}" diff --git a/playbooks/common/openshift-master/certificates.yml b/playbooks/common/openshift-master/certificates.yml new file mode 100644 index 000000000..f6afbc36f --- /dev/null +++ b/playbooks/common/openshift-master/certificates.yml @@ -0,0 +1,14 @@ +--- +- name: Create OpenShift certificates for master hosts +  hosts: oo_masters_to_config +  vars: +    openshift_ca_host: "{{ groups.oo_first_master.0 }}" +  roles: +  - role: openshift_master_facts +  - role: openshift_named_certificates +  - role: openshift_ca +  - role: openshift_master_certificates +    openshift_master_etcd_hosts: "{{ hostvars +                                     | oo_select_keys(groups['oo_etcd_to_config'] | default([])) +                                     | oo_collect('openshift.common.hostname') +                                     | default(none, true) }}" diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml index 3904d85cb..766e0e501 100644 --- a/playbooks/common/openshift-master/config.yml +++ b/playbooks/common/openshift-master/config.yml @@ -180,15 +180,6 @@    - role: os_firewall    - role: openshift_master_facts    - role: openshift_hosted_facts -  - role: openshift_master_certificates -  - role: openshift_etcd_facts -  - role: openshift_etcd_client_certificates -    etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}" -    etcd_cert_config_dir: "{{ openshift.common.config_base }}/master" -    etcd_cert_prefix: "master.etcd-" -    r_etcd_common_etcd_runtime: "{{ openshift.common.etcd_runtime }}" -    etcd_ca_host: "{{ groups.oo_etcd_to_config.0 }}" -    when: groups.oo_etcd_to_config | default([]) | length != 0    - role: openshift_clock    - role: openshift_cloud_provider    - role: openshift_builddefaults diff --git a/playbooks/common/openshift-master/scaleup.yml b/playbooks/common/openshift-master/scaleup.yml index 8c366e038..d007fac85 100644 --- a/playbooks/common/openshift-master/scaleup.yml +++ b/playbooks/common/openshift-master/scaleup.yml @@ -45,8 +45,14 @@  - include: ../openshift-master/set_network_facts.yml +- include: ../openshift-etcd/certificates.yml + +- include: ../openshift-master/certificates.yml +  - include: ../openshift-master/config.yml  - include: ../openshift-loadbalancer/config.yml +- include: ../openshift-node/certificates.yml +  - include: ../openshift-node/config.yml diff --git a/playbooks/common/openshift-node/certificates.yml b/playbooks/common/openshift-node/certificates.yml new file mode 100644 index 000000000..908885ee6 --- /dev/null +++ b/playbooks/common/openshift-node/certificates.yml @@ -0,0 +1,8 @@ +--- +- name: Create OpenShift certificates for node hosts +  hosts: oo_nodes_to_config +  gather_facts: no +  roles: +  - role: openshift_node_certificates +    openshift_ca_host: "{{ groups.oo_first_master.0 }}" +    when: not openshift_node_bootstrap | default(false) | bool diff --git a/playbooks/common/openshift-node/configure_nodes.yml b/playbooks/common/openshift-node/configure_nodes.yml index 072986d09..c96e4921c 100644 --- a/playbooks/common/openshift-node/configure_nodes.yml +++ b/playbooks/common/openshift-node/configure_nodes.yml @@ -13,5 +13,4 @@    roles:    - role: os_firewall    - role: openshift_node -    openshift_ca_host: "{{ groups.oo_first_master.0 }}"    - role: nickhammond.logrotate diff --git a/roles/etcd/tasks/main.yml b/roles/etcd/tasks/main.yml index f643d292d..3e69af314 100644 --- a/roles/etcd/tasks/main.yml +++ b/roles/etcd/tasks/main.yml @@ -1,6 +1,4 @@  --- -- include: server_certificates.yml -  - name: Set hostname and ip facts    set_fact:      # Store etcd_hostname and etcd_ip such that they will be available diff --git a/roles/lib_openshift/library/oc_adm_ca_server_cert.py b/roles/lib_openshift/library/oc_adm_ca_server_cert.py index 1e6eb2386..05b2763d5 100644 --- a/roles/lib_openshift/library/oc_adm_ca_server_cert.py +++ b/roles/lib_openshift/library/oc_adm_ca_server_cert.py @@ -1421,7 +1421,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_csr.py b/roles/lib_openshift/library/oc_adm_csr.py index 8c6a81cc8..d1dc4caf8 100644 --- a/roles/lib_openshift/library/oc_adm_csr.py +++ b/roles/lib_openshift/library/oc_adm_csr.py @@ -1399,7 +1399,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_manage_node.py b/roles/lib_openshift/library/oc_adm_manage_node.py index 4a7847e88..152f270ab 100644 --- a/roles/lib_openshift/library/oc_adm_manage_node.py +++ b/roles/lib_openshift/library/oc_adm_manage_node.py @@ -1407,7 +1407,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_policy_group.py b/roles/lib_openshift/library/oc_adm_policy_group.py index b8af5cad9..3082f5890 100644 --- a/roles/lib_openshift/library/oc_adm_policy_group.py +++ b/roles/lib_openshift/library/oc_adm_policy_group.py @@ -1393,7 +1393,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_policy_user.py b/roles/lib_openshift/library/oc_adm_policy_user.py index 3364f8de3..1ceaf5d0d 100644 --- a/roles/lib_openshift/library/oc_adm_policy_user.py +++ b/roles/lib_openshift/library/oc_adm_policy_user.py @@ -1393,7 +1393,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_registry.py b/roles/lib_openshift/library/oc_adm_registry.py index c64d7ffd2..5d6fa1f80 100644 --- a/roles/lib_openshift/library/oc_adm_registry.py +++ b/roles/lib_openshift/library/oc_adm_registry.py @@ -1511,7 +1511,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_adm_router.py b/roles/lib_openshift/library/oc_adm_router.py index 492494bda..ffea14766 100644 --- a/roles/lib_openshift/library/oc_adm_router.py +++ b/roles/lib_openshift/library/oc_adm_router.py @@ -1536,7 +1536,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_clusterrole.py b/roles/lib_openshift/library/oc_clusterrole.py index b412ca8af..9761b4b4e 100644 --- a/roles/lib_openshift/library/oc_clusterrole.py +++ b/roles/lib_openshift/library/oc_clusterrole.py @@ -1385,7 +1385,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_configmap.py b/roles/lib_openshift/library/oc_configmap.py index 8bbc22c49..047edffbb 100644 --- a/roles/lib_openshift/library/oc_configmap.py +++ b/roles/lib_openshift/library/oc_configmap.py @@ -1391,7 +1391,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_edit.py b/roles/lib_openshift/library/oc_edit.py index ad17051cb..0b6a8436b 100644 --- a/roles/lib_openshift/library/oc_edit.py +++ b/roles/lib_openshift/library/oc_edit.py @@ -1435,7 +1435,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_env.py b/roles/lib_openshift/library/oc_env.py index 74a84ac89..1f52fba40 100644 --- a/roles/lib_openshift/library/oc_env.py +++ b/roles/lib_openshift/library/oc_env.py @@ -1402,7 +1402,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_group.py b/roles/lib_openshift/library/oc_group.py index eea1516ae..1b63a6c13 100644 --- a/roles/lib_openshift/library/oc_group.py +++ b/roles/lib_openshift/library/oc_group.py @@ -1375,7 +1375,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_image.py b/roles/lib_openshift/library/oc_image.py index dc33d3b8a..94b08d9ce 100644 --- a/roles/lib_openshift/library/oc_image.py +++ b/roles/lib_openshift/library/oc_image.py @@ -1394,7 +1394,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_label.py b/roles/lib_openshift/library/oc_label.py index 88fd9554d..ad837fdb5 100644 --- a/roles/lib_openshift/library/oc_label.py +++ b/roles/lib_openshift/library/oc_label.py @@ -1411,7 +1411,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_obj.py b/roles/lib_openshift/library/oc_obj.py index 8408f9ebc..892546e56 100644 --- a/roles/lib_openshift/library/oc_obj.py +++ b/roles/lib_openshift/library/oc_obj.py @@ -1414,7 +1414,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_objectvalidator.py b/roles/lib_openshift/library/oc_objectvalidator.py index d1be0b534..38df585f0 100644 --- a/roles/lib_openshift/library/oc_objectvalidator.py +++ b/roles/lib_openshift/library/oc_objectvalidator.py @@ -1346,7 +1346,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_process.py b/roles/lib_openshift/library/oc_process.py index 9a281e6cd..70632f86d 100644 --- a/roles/lib_openshift/library/oc_process.py +++ b/roles/lib_openshift/library/oc_process.py @@ -1403,7 +1403,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_project.py b/roles/lib_openshift/library/oc_project.py index b503c330b..4eee748d7 100644 --- a/roles/lib_openshift/library/oc_project.py +++ b/roles/lib_openshift/library/oc_project.py @@ -1400,7 +1400,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_pvc.py b/roles/lib_openshift/library/oc_pvc.py index 7a9e3bf89..2e73a7645 100644 --- a/roles/lib_openshift/library/oc_pvc.py +++ b/roles/lib_openshift/library/oc_pvc.py @@ -1407,7 +1407,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_route.py b/roles/lib_openshift/library/oc_route.py index 875e473ad..b46fd5495 100644 --- a/roles/lib_openshift/library/oc_route.py +++ b/roles/lib_openshift/library/oc_route.py @@ -1445,7 +1445,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_scale.py b/roles/lib_openshift/library/oc_scale.py index ec3635753..c142f1f43 100644 --- a/roles/lib_openshift/library/oc_scale.py +++ b/roles/lib_openshift/library/oc_scale.py @@ -1389,7 +1389,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_secret.py b/roles/lib_openshift/library/oc_secret.py index c010607e8..19c7fde78 100644 --- a/roles/lib_openshift/library/oc_secret.py +++ b/roles/lib_openshift/library/oc_secret.py @@ -1441,7 +1441,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_service.py b/roles/lib_openshift/library/oc_service.py index e83a6e26d..3e8aea4f1 100644 --- a/roles/lib_openshift/library/oc_service.py +++ b/roles/lib_openshift/library/oc_service.py @@ -1448,7 +1448,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_serviceaccount.py b/roles/lib_openshift/library/oc_serviceaccount.py index 0d46bbf96..646a39224 100644 --- a/roles/lib_openshift/library/oc_serviceaccount.py +++ b/roles/lib_openshift/library/oc_serviceaccount.py @@ -1387,7 +1387,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_serviceaccount_secret.py b/roles/lib_openshift/library/oc_serviceaccount_secret.py index 662d77ec1..99a8e8f3d 100644 --- a/roles/lib_openshift/library/oc_serviceaccount_secret.py +++ b/roles/lib_openshift/library/oc_serviceaccount_secret.py @@ -1387,7 +1387,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_storageclass.py b/roles/lib_openshift/library/oc_storageclass.py index 574f109e4..e88f3ae8d 100644 --- a/roles/lib_openshift/library/oc_storageclass.py +++ b/roles/lib_openshift/library/oc_storageclass.py @@ -1405,7 +1405,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_user.py b/roles/lib_openshift/library/oc_user.py index e430546ee..7bbe38819 100644 --- a/roles/lib_openshift/library/oc_user.py +++ b/roles/lib_openshift/library/oc_user.py @@ -1447,7 +1447,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_version.py b/roles/lib_openshift/library/oc_version.py index a12620968..63adbd6ac 100644 --- a/roles/lib_openshift/library/oc_version.py +++ b/roles/lib_openshift/library/oc_version.py @@ -1359,7 +1359,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/library/oc_volume.py b/roles/lib_openshift/library/oc_volume.py index 134b2ad19..3c07f8d4b 100644 --- a/roles/lib_openshift/library/oc_volume.py +++ b/roles/lib_openshift/library/oc_volume.py @@ -1436,7 +1436,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/lib_openshift/src/lib/base.py b/roles/lib_openshift/src/lib/base.py index 5a307cdb3..1fb32164e 100644 --- a/roles/lib_openshift/src/lib/base.py +++ b/roles/lib_openshift/src/lib/base.py @@ -597,7 +597,7 @@ class OpenShiftCLIConfig(object):          for key in sorted(self.config_options.keys()):              data = self.config_options[key]              if data['include'] \ -               and (data['value'] or isinstance(data['value'], int)): +               and (data['value'] is not None or isinstance(data['value'], int)):                  if key == ascommalist:                      val = ','.join(['{}={}'.format(kk, vv) for kk, vv in sorted(data['value'].items())])                  else: diff --git a/roles/openshift_ca/defaults/main.yml b/roles/openshift_ca/defaults/main.yml index ecfcc88b3..742b15df4 100644 --- a/roles/openshift_ca/defaults/main.yml +++ b/roles/openshift_ca/defaults/main.yml @@ -1,3 +1,11 @@  ---  openshift_ca_cert_expire_days: 1825  openshift_master_cert_expire_days: 730 + +openshift_ca_config_dir: "{{ openshift.common.config_base }}/master" +openshift_ca_cert: "{{ openshift_ca_config_dir }}/ca.crt" +openshift_ca_key: "{{ openshift_ca_config_dir }}/ca.key" +openshift_ca_serial: "{{ openshift_ca_config_dir }}/ca.serial.txt" +openshift_master_loopback_config: "{{ openshift_ca_config_dir }}/openshift-master.kubeconfig" + +openshift_version: "{{ openshift_pkg_version | default('') }}" diff --git a/roles/openshift_ca/meta/main.yml b/roles/openshift_ca/meta/main.yml index dfbdf0cc7..f8b784a63 100644 --- a/roles/openshift_ca/meta/main.yml +++ b/roles/openshift_ca/meta/main.yml @@ -14,4 +14,3 @@ galaxy_info:    - system  dependencies:  - role: openshift_cli -- role: openshift_named_certificates diff --git a/roles/openshift_ca/vars/main.yml b/roles/openshift_ca/vars/main.yml index d04c1766d..4d80bf921 100644 --- a/roles/openshift_ca/vars/main.yml +++ b/roles/openshift_ca/vars/main.yml @@ -1,9 +1,2 @@  --- -openshift_ca_config_dir: "{{ openshift.common.config_base }}/master" -openshift_ca_cert: "{{ openshift_ca_config_dir }}/ca.crt" -openshift_ca_key: "{{ openshift_ca_config_dir }}/ca.key" -openshift_ca_serial: "{{ openshift_ca_config_dir }}/ca.serial.txt" -openshift_version: "{{ openshift_pkg_version | default('') }}" - -openshift_master_loopback_config: "{{ openshift_ca_config_dir }}/openshift-master.kubeconfig"  loopback_context_string: "current-context: {{ openshift.master.loopback_context_name }}" diff --git a/roles/openshift_logging/defaults/main.yml b/roles/openshift_logging/defaults/main.yml index 5574a1446..0f1f659c6 100644 --- a/roles/openshift_logging/defaults/main.yml +++ b/roles/openshift_logging/defaults/main.yml @@ -8,7 +8,6 @@ openshift_logging_labels: {}  openshift_logging_label_key: ""  openshift_logging_label_value: ""  openshift_logging_install_logging: False -openshift_logging_uninstall_logging: False  openshift_logging_purge_logging: False  openshift_logging_image_pull_secret: "" diff --git a/roles/openshift_logging/tasks/main.yaml b/roles/openshift_logging/tasks/main.yaml index 0da9771c7..15f6a23e6 100644 --- a/roles/openshift_logging/tasks/main.yaml +++ b/roles/openshift_logging/tasks/main.yaml @@ -36,7 +36,7 @@  - include: delete_logging.yaml    when: -    - openshift_logging_uninstall_logging | default(false) | bool +    - not openshift_logging_install_logging | default(false) | bool  - name: Cleaning up local temp dir    local_action: file path="{{local_tmp.stdout}}" state=absent diff --git a/roles/openshift_master_certificates/meta/main.yml b/roles/openshift_master_certificates/meta/main.yml index 018186e86..300b2cbff 100644 --- a/roles/openshift_master_certificates/meta/main.yml +++ b/roles/openshift_master_certificates/meta/main.yml @@ -12,6 +12,4 @@ galaxy_info:    categories:    - cloud    - system -dependencies: -- role: openshift_master_facts -- role: openshift_ca +dependencies: [] diff --git a/roles/openshift_metrics/defaults/main.yaml b/roles/openshift_metrics/defaults/main.yaml index 084b734ee..8da74430f 100644 --- a/roles/openshift_metrics/defaults/main.yaml +++ b/roles/openshift_metrics/defaults/main.yaml @@ -1,7 +1,6 @@  ---  openshift_metrics_start_cluster: True  openshift_metrics_install_metrics: False -openshift_metrics_uninstall_metrics: False  openshift_metrics_startup_timeout: 500  openshift_metrics_hawkular_replicas: 1 diff --git a/roles/openshift_metrics/tasks/main.yaml b/roles/openshift_metrics/tasks/main.yaml index c92458c50..10509fc1e 100644 --- a/roles/openshift_metrics/tasks/main.yaml +++ b/roles/openshift_metrics/tasks/main.yaml @@ -49,7 +49,7 @@  - include: uninstall_metrics.yaml    when: -    - openshift_metrics_uninstall_metrics | bool +    - not openshift_metrics_install_metrics | bool  - include: uninstall_hosa.yaml    when: not openshift_metrics_install_hawkular_agent | bool diff --git a/roles/openshift_named_certificates/defaults/main.yml b/roles/openshift_named_certificates/defaults/main.yml new file mode 100644 index 000000000..a32e385ec --- /dev/null +++ b/roles/openshift_named_certificates/defaults/main.yml @@ -0,0 +1,6 @@ +--- +openshift_ca_config_dir: "{{ openshift.common.config_base }}/master" +openshift_ca_cert: "{{ openshift_ca_config_dir }}/ca.crt" +openshift_ca_key: "{{ openshift_ca_config_dir }}/ca.key" +openshift_ca_serial: "{{ openshift_ca_config_dir }}/ca.serial.txt" +openshift_version: "{{ openshift_pkg_version | default('') }}" diff --git a/roles/openshift_named_certificates/vars/main.yml b/roles/openshift_named_certificates/vars/main.yml index 368e9bdac..7f891441d 100644 --- a/roles/openshift_named_certificates/vars/main.yml +++ b/roles/openshift_named_certificates/vars/main.yml @@ -1,10 +1,4 @@  --- -openshift_ca_config_dir: "{{ openshift.common.config_base }}/master" -openshift_ca_cert: "{{ openshift_ca_config_dir }}/ca.crt" -openshift_ca_key: "{{ openshift_ca_config_dir }}/ca.key" -openshift_ca_serial: "{{ openshift_ca_config_dir }}/ca.serial.txt" -openshift_version: "{{ openshift_pkg_version | default('') }}" -  overwrite_named_certs: "{{ openshift_master_overwrite_named_certificates | default(false) }}"  named_certs_dir: "{{ openshift.common.config_base }}/master/named_certificates/"  internal_hostnames: "{{ openshift.common.internal_hostnames }}" diff --git a/roles/openshift_node/meta/main.yml b/roles/openshift_node/meta/main.yml index ce5ecb9d0..5bc7b9869 100644 --- a/roles/openshift_node/meta/main.yml +++ b/roles/openshift_node/meta/main.yml @@ -17,7 +17,5 @@ dependencies:  - role: lib_os_firewall  - role: openshift_clock  - role: openshift_docker -- role: openshift_node_certificates -  when: not openshift_node_bootstrap  - role: openshift_cloud_provider  - role: openshift_node_dnsmasq diff --git a/roles/openshift_node_certificates/meta/main.yml b/roles/openshift_node_certificates/meta/main.yml index 93216c1d2..0440bf11a 100644 --- a/roles/openshift_node_certificates/meta/main.yml +++ b/roles/openshift_node_certificates/meta/main.yml @@ -12,5 +12,4 @@ galaxy_info:    categories:    - cloud    - system -dependencies: -- role: openshift_facts +dependencies: [] diff --git a/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml b/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml index 3f6dab78b..51724f979 100644 --- a/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml +++ b/roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml @@ -18,6 +18,17 @@      node_selector: "{% if glusterfs_use_default_selector %}{{ omit }}{% endif %}"    when: glusterfs_is_native or glusterfs_heketi_is_native or glusterfs_storageclass +- name: Add namespace service accounts to privileged SCC +  oc_adm_policy_user: +    user: "system:serviceaccount:{{ glusterfs_namespace }}:{{ item }}" +    resource_kind: scc +    resource_name: privileged +    state: present +  with_items: +  - 'default' +  - 'router' +  when: glusterfs_is_native or glusterfs_heketi_is_native +  - name: Delete pre-existing heketi resources    oc_obj:      namespace: "{{ glusterfs_namespace }}" diff --git a/roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml b/roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml index 8c3e31fc9..932d06038 100644 --- a/roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml +++ b/roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml @@ -55,16 +55,6 @@    - glusterfs_wipe    - item.stdout_lines | count > 0 -- name: Add service accounts to privileged SCC -  oc_adm_policy_user: -    user: "system:serviceaccount:{{ glusterfs_namespace }}:{{ item }}" -    resource_kind: scc -    resource_name: privileged -    state: present -  with_items: -  - 'default' -  - 'router' -  - name: Label GlusterFS nodes    oc_label:      name: "{{ hostvars[item].openshift.node.nodename }}" diff --git a/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml b/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml index 54a6dd7c3..074904bec 100644 --- a/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml +++ b/roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml @@ -1,6 +1,6 @@  ---  - name: Create heketi DB volume -  command: "{{ glusterfs_heketi_client }} setup-openshift-heketi-storage --listfile /tmp/heketi-storage.json" +  command: "{{ glusterfs_heketi_client }} setup-openshift-heketi-storage --image {{ glusterfs_heketi_image}}:{{ glusterfs_heketi_version }} --listfile /tmp/heketi-storage.json"    register: setup_storage  - name: Copy heketi-storage list @@ -165,7 +165,7 @@ class OpenShiftAnsibleYamlLint(Command):                          has_warnings = True          if has_errors or has_warnings: -            print('yammlint issues found') +            print('yamllint issues found')              raise SystemExit(1) | 
