diff options
| author | Brenton Leanhardt <bleanhar@redhat.com> | 2015-10-27 10:07:20 -0400 | 
|---|---|---|
| committer | Brenton Leanhardt <bleanhar@redhat.com> | 2015-10-27 10:07:20 -0400 | 
| commit | fcbb48362afb6e9ed196d7833940877bbc0296ae (patch) | |
| tree | d0bce8760facae32438342007cb568afcf27e3ad | |
| parent | 2f02c464904551e8018e0afc47bcde850ed8d0f1 (diff) | |
| parent | 05458ecde01c9c1ade9d1a5216bc7621a92b9d6f (diff) | |
Merge pull request #731 from abutcher/proxy-client-config
Add proxy client certs to master config
| -rw-r--r-- | playbooks/adhoc/upgrades/upgrade.yml | 10 | ||||
| -rw-r--r-- | playbooks/common/openshift-master/config.yml | 7 | ||||
| -rwxr-xr-x | roles/openshift_facts/library/openshift_facts.py | 13 | ||||
| -rw-r--r-- | roles/openshift_master/templates/master.yaml.v1.j2 | 3 | ||||
| -rw-r--r-- | roles/openshift_master_ca/tasks/main.yml | 3 | ||||
| -rw-r--r-- | roles/openshift_master_certificates/tasks/main.yml | 5 | 
6 files changed, 33 insertions, 8 deletions
diff --git a/playbooks/adhoc/upgrades/upgrade.yml b/playbooks/adhoc/upgrades/upgrade.yml index 56a1df860..ae1d0127c 100644 --- a/playbooks/adhoc/upgrades/upgrade.yml +++ b/playbooks/adhoc/upgrades/upgrade.yml @@ -1,4 +1,14 @@  --- +- name: Upgrade base package on masters +  hosts: masters +  roles: +  - openshift_facts +  vars: +    openshift_version: "{{ openshift_pkg_version | default('') }}" +  tasks: +    - name: Upgrade base package +      yum: pkg={{ openshift.common.service_type }}{{ openshift_version  }} state=latest +  - name: Re-Run cluster configuration to apply latest configuration changes    include: ../../common/openshift-cluster/config.yml    vars: diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml index 0a3fe90e1..1dec923fc 100644 --- a/playbooks/common/openshift-master/config.yml +++ b/playbooks/common/openshift-master/config.yml @@ -137,6 +137,7 @@        openshift_master_certs_no_etcd:        - admin.crt        - master.kubelet-client.crt +      - "{{ 'master.proxy-client.crt' if openshift.common.version_greater_than_3_1_or_1_1 else omit }}"        - master.server.crt        - openshift-master.crt        - openshift-registry.crt @@ -144,6 +145,7 @@        - etcd.server.crt        openshift_master_certs_etcd:        - master.etcd-client.crt +    - set_fact:        openshift_master_certs: "{{ (openshift_master_certs_no_etcd | union(openshift_master_certs_etcd)) if (groups.oo_etcd_to_config is defined and groups.oo_etcd_to_config) else openshift_master_certs_no_etcd }}" @@ -153,9 +155,9 @@      with_items: openshift_master_certs      register: g_master_cert_stat_result    - set_fact: -      master_certs_missing: "{{ g_master_cert_stat_result.results +      master_certs_missing: "{{ False in (g_master_cert_stat_result.results                                  | map(attribute='stat.exists') -                                | list | intersect([false])}}" +                                | list ) }}"        master_cert_subdir: master-{{ openshift.common.hostname }}        master_cert_config_dir: "{{ openshift.common.config_base }}/master" @@ -187,6 +189,7 @@      args:        creates: "{{ master_generated_certs_dir }}/{{ item.master_cert_subdir }}.tgz"      with_items: masters_needing_certs +    - name: Retrieve the master cert tarball from the master      fetch:        src: "{{ master_generated_certs_dir }}/{{ item.master_cert_subdir }}.tgz" diff --git a/roles/openshift_facts/library/openshift_facts.py b/roles/openshift_facts/library/openshift_facts.py index 3afbbbbb3..67994d11d 100755 --- a/roles/openshift_facts/library/openshift_facts.py +++ b/roles/openshift_facts/library/openshift_facts.py @@ -21,6 +21,7 @@ import ConfigParser  import copy  import os  from distutils.util import strtobool +from distutils.version import LooseVersion  def hostname_valid(hostname): @@ -528,7 +529,15 @@ def set_deployment_facts_if_unset(facts):              if deployment_type in ['enterprise', 'online']:                  data_dir = '/var/lib/openshift'              facts['common']['data_dir'] = data_dir -        facts['common']['version'] = get_openshift_version() +        facts['common']['version'] = version = get_openshift_version() +        if version is not None: +            if deployment_type == 'origin': +                version_gt_3_1_or_1_1 = LooseVersion(version) > LooseVersion('1.0.6') +            else: +                version_gt_3_1_or_1_1 = LooseVersion(version) > LooseVersion('3.0.2') +        else: +            version_gt_3_1_or_1_1 = True +        facts['common']['version_greater_than_3_1_or_1_1'] = version_gt_3_1_or_1_1      for role in ('master', 'node'):          if role in facts: @@ -659,7 +668,7 @@ def get_openshift_version():          Returns:              version: the current openshift version      """ -    version = '' +    version = None      if os.path.isfile('/usr/bin/openshift'):          _, output, _ = module.run_command(['/usr/bin/openshift', 'version']) diff --git a/roles/openshift_master/templates/master.yaml.v1.j2 b/roles/openshift_master/templates/master.yaml.v1.j2 index 90234bacc..3e4f78b17 100644 --- a/roles/openshift_master/templates/master.yaml.v1.j2 +++ b/roles/openshift_master/templates/master.yaml.v1.j2 @@ -74,6 +74,9 @@ kubernetesMasterConfig:    masterCount: 1    masterIP: ""    podEvictionTimeout: "" +  proxyClientInfo: +    certFile: master.proxy-client.crt +    keyFile: master.proxy-client.key    schedulerConfigFile: {{ openshift_master_scheduler_conf }}    servicesNodePortRange: ""    servicesSubnet: {{ openshift.master.portal_net }} diff --git a/roles/openshift_master_ca/tasks/main.yml b/roles/openshift_master_ca/tasks/main.yml index 5c9639ea5..cfd1ceabf 100644 --- a/roles/openshift_master_ca/tasks/main.yml +++ b/roles/openshift_master_ca/tasks/main.yml @@ -18,5 +18,4 @@        --master={{ openshift.master.api_url }}        --public-master={{ openshift.master.public_api_url }}        --cert-dir={{ openshift_master_config_dir }} --overwrite=false -  args: -    creates: "{{ openshift_master_config_dir }}/master.server.key" +  when: master_certs_missing diff --git a/roles/openshift_master_certificates/tasks/main.yml b/roles/openshift_master_certificates/tasks/main.yml index 0d75a9eb3..e4602337e 100644 --- a/roles/openshift_master_certificates/tasks/main.yml +++ b/roles/openshift_master_certificates/tasks/main.yml @@ -20,6 +20,8 @@      - admin.kubeconfig      - master.kubelet-client.crt      - master.kubelet-client.key +    - "{{ 'master.proxy-client.crt' if openshift.common.version_greater_than_3_1_or_1_1 else omit }}" +    - "{{ 'master.proxy-client.key' if openshift.common.version_greater_than_3_1_or_1_1 else omit }}"      - openshift-master.crt      - openshift-master.key      - openshift-master.kubeconfig @@ -41,6 +43,5 @@        --public-master={{ item.openshift.master.public_api_url }}        --cert-dir={{ openshift_generated_configs_dir }}/{{ item.master_cert_subdir }}        --overwrite=false -  args: -    creates: "{{ openshift_generated_configs_dir }}/{{ item.master_cert_subdir }}/master.server.crt" +  when: master_certs_missing    with_items: masters_needing_certs  | 
