summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorScott Dodson <sdodson@redhat.com>2016-06-08 09:08:17 -0400
committerScott Dodson <sdodson@redhat.com>2016-06-08 09:08:17 -0400
commit9553b9173d951de39b52a03688ea6f7aff7291d4 (patch)
treeefae1f93ecdbe172fe38aaf44b0414ce4da3ab1f /roles
parent377405b67551ef51ce6f644bde018986465a1e0c (diff)
parenta2fad7dd125bb4f1b0123beab81cbff9075397d4 (diff)
downloadopenshift-9553b9173d951de39b52a03688ea6f7aff7291d4.tar.gz
openshift-9553b9173d951de39b52a03688ea6f7aff7291d4.tar.bz2
openshift-9553b9173d951de39b52a03688ea6f7aff7291d4.tar.xz
openshift-9553b9173d951de39b52a03688ea6f7aff7291d4.zip
Merge pull request #1964 from sdodson/fix-proxy-smashing
Preserve proxy config if it exists in the sysconfig files but is undefined in our config
Diffstat (limited to 'roles')
-rw-r--r--roles/docker/tasks/main.yml1
-rw-r--r--roles/openshift_master/tasks/systemd_units.yml46
2 files changed, 47 insertions, 0 deletions
diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml
index b9b2666fb..5f94500a0 100644
--- a/roles/docker/tasks/main.yml
+++ b/roles/docker/tasks/main.yml
@@ -85,6 +85,7 @@
reg_fact_val: "{{ docker_no_proxy | default('') | join(',') }}"
notify:
- restart docker
+ when: "{{ 'http_proxy' in openshift.common or 'https_proxy' in openshift.common and docker_check.stat.isreg }}"
- name: Set various docker options
lineinfile:
diff --git a/roles/openshift_master/tasks/systemd_units.yml b/roles/openshift_master/tasks/systemd_units.yml
index a81270bab..458b56fd1 100644
--- a/roles/openshift_master/tasks/systemd_units.yml
+++ b/roles/openshift_master/tasks/systemd_units.yml
@@ -38,22 +38,54 @@
when: create_ha_unit_files | changed
# end workaround for missing systemd unit files
+- name: Preserve Master API Proxy Config options
+ command: grep PROXY /etc/sysconfig/{{ openshift.common.service_type }}-master-api
+ register: master_api_proxy
+ when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
+ failed_when: false
+ changed_when: false
+
- name: Create the master api service env file
template:
src: "{{ ha_svc_template_path }}/atomic-openshift-master-api.j2"
dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-api
+ backup: true
when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
notify:
- restart master api
+- name: Restore Master API Proxy Config Options
+ when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
+ and master_api_proxy.rc == 0 and 'http_proxy' not in openshift.common and 'https_proxy' not in openshift.common
+ lineinfile:
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-api
+ line: "{{ item }}"
+ with_items: "{{ master_api_proxy.stdout_lines | default([]) }}"
+
+- name: Preserve Master Controllers Proxy Config options
+ command: grep PROXY /etc/sysconfig/{{ openshift.common.service_type }}-master-api
+ register: master_controllers_proxy
+ when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
+ failed_when: false
+ changed_when: false
+
- name: Create the master controllers service env file
template:
src: "{{ ha_svc_template_path }}/atomic-openshift-master-controllers.j2"
dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-controllers
+ backup: true
when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
notify:
- restart master controllers
+- name: Restore Master Controllers Proxy Config Options
+ lineinfile:
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-controllers
+ line: "{{ item }}"
+ with_items: "{{ master_controllers_proxy.stdout_lines | default([]) }}"
+ when: openshift.master.ha is defined and openshift.master.ha | bool and openshift_master_cluster_method == "native"
+ and master_controllers_proxy.rc == 0 and 'http_proxy' not in openshift.common and 'https_proxy' not in openshift.common
+
- name: Install Master docker service file
template:
dest: "/etc/systemd/system/{{ openshift.common.service_type }}-master.service"
@@ -61,9 +93,23 @@
register: install_result
when: openshift.common.is_containerized | bool and openshift.master.ha is defined and not openshift.master.ha | bool
+- name: Preserve Master Proxy Config options
+ command: grep PROXY /etc/sysconfig/{{ openshift.common.service_type }}-master
+ register: master_proxy
+ failed_when: false
+ changed_when: false
+
- name: Create the master service env file
template:
src: "atomic-openshift-master.j2"
dest: /etc/sysconfig/{{ openshift.common.service_type }}-master
+ backup: true
notify:
- restart master
+
+- name: Restore Master Proxy Config Options
+ lineinfile:
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master
+ line: "{{ item }}"
+ with_items: "{{ master_proxy.stdout_lines | default([]) }}"
+ when: master_proxy.rc == 0 and 'http_proxy' not in openshift.common and 'https_proxy' not in openshift.common \ No newline at end of file