diff options
| author | OpenShift Bot <eparis+openshiftbot@redhat.com> | 2017-06-07 04:59:01 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-07 04:59:01 -0400 | 
| commit | 1e0331d152d81cb4490d0e975bfb1a66f6d70599 (patch) | |
| tree | d7df1724b39eca0287820750b1619b7ce4ccf04c /roles | |
| parent | a39fc605318d359533c7dba343f557f7005db17d (diff) | |
| parent | 816e92aca20a8882016416f3ed4244e5e48d56e7 (diff) | |
| download | openshift-1e0331d152d81cb4490d0e975bfb1a66f6d70599.tar.gz openshift-1e0331d152d81cb4490d0e975bfb1a66f6d70599.tar.bz2 openshift-1e0331d152d81cb4490d0e975bfb1a66f6d70599.tar.xz openshift-1e0331d152d81cb4490d0e975bfb1a66f6d70599.zip | |
Merge pull request #4278 from abutcher/loopback-kubeconfig
Merged by openshift-bot
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/openshift_ca/tasks/main.yml | 32 | ||||
| -rw-r--r-- | roles/openshift_ca/vars/main.yml | 3 | ||||
| -rw-r--r-- | roles/openshift_master_certificates/tasks/main.yml | 6 | 
3 files changed, 38 insertions, 3 deletions
| diff --git a/roles/openshift_ca/tasks/main.yml b/roles/openshift_ca/tasks/main.yml index c7b906949..b9a7ec32f 100644 --- a/roles/openshift_ca/tasks/main.yml +++ b/roles/openshift_ca/tasks/main.yml @@ -108,6 +108,38 @@    delegate_to: "{{ openshift_ca_host }}"    run_once: true +- name: Test local loopback context +  command: > +    {{ hostvars[openshift_ca_host].openshift.common.client_binary }} config view +    --config={{ openshift_master_loopback_config }} +  changed_when: false +  register: loopback_config +  delegate_to: "{{ openshift_ca_host }}" +  run_once: true + +- name: Generate the loopback master client config +  command: > +    {{ hostvars[openshift_ca_host].openshift.common.client_binary }} adm create-api-client-config +      {% for named_ca_certificate in openshift.master.named_certificates | default([]) | oo_collect('cafile') %} +      --certificate-authority {{ named_ca_certificate }} +      {% endfor %} +      --certificate-authority={{ openshift_ca_cert }} +      --client-dir={{ openshift_ca_config_dir }} +      --groups=system:masters,system:openshift-master +      --master={{ hostvars[openshift_ca_host].openshift.master.loopback_api_url }} +      --public-master={{ hostvars[openshift_ca_host].openshift.master.loopback_api_url }} +      --signer-cert={{ openshift_ca_cert }} +      --signer-key={{ openshift_ca_key }} +      --signer-serial={{ openshift_ca_serial }} +      --user=system:openshift-master +      --basename=openshift-master +      {% if openshift_version | oo_version_gte_3_5_or_1_5(openshift.common.deployment_type) | bool %} +      --expire-days={{ openshift_master_cert_expire_days }} +      {% endif %} +  when: loopback_context_string not in loopback_config.stdout +  delegate_to: "{{ openshift_ca_host }}" +  run_once: true +  - name: Restore original serviceaccount keys    copy:      src: "{{ item }}.keep" diff --git a/roles/openshift_ca/vars/main.yml b/roles/openshift_ca/vars/main.yml index a32e385ec..d04c1766d 100644 --- a/roles/openshift_ca/vars/main.yml +++ b/roles/openshift_ca/vars/main.yml @@ -4,3 +4,6 @@ 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_master_certificates/tasks/main.yml b/roles/openshift_master_certificates/tasks/main.yml index 9706da24b..62413536b 100644 --- a/roles/openshift_master_certificates/tasks/main.yml +++ b/roles/openshift_master_certificates/tasks/main.yml @@ -71,7 +71,7 @@    delegate_to: "{{ openshift_ca_host }}"    run_once: true -- name: Generate the master client config +- name: Generate the loopback master client config    command: >      {{ hostvars[openshift_ca_host].openshift.common.client_binary }} adm create-api-client-config        {% for named_ca_certificate in openshift.master.named_certificates | default([]) | oo_collect('cafile') %} @@ -80,8 +80,8 @@        --certificate-authority={{ openshift_ca_cert }}        --client-dir={{ openshift_generated_configs_dir }}/master-{{ hostvars[item].openshift.common.hostname }}        --groups=system:masters,system:openshift-master -      --master={{ openshift.master.api_url }} -      --public-master={{ openshift.master.public_api_url }} +      --master={{ hostvars[item].openshift.master.loopback_api_url }} +      --public-master={{ hostvars[item].openshift.master.loopback_api_url }}        --signer-cert={{ openshift_ca_cert }}        --signer-key={{ openshift_ca_key }}        --signer-serial={{ openshift_ca_serial }} | 
