summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Woodson <kwoodson@redhat.com>2017-02-24 13:38:31 -0500
committerGitHub <noreply@github.com>2017-02-24 13:38:31 -0500
commita451a468747a6d40ef65a4e4baca923b9adc74ea (patch)
tree77dae5308e6eb4131a3c36ce7b71976673f6aeeb
parentbc0df10bdebc5dd1874c10ac701626e9ea6465de (diff)
parent1e3b9869a349ccdd8a72c796861a0b257880cf88 (diff)
downloadopenshift-a451a468747a6d40ef65a4e4baca923b9adc74ea.tar.gz
openshift-a451a468747a6d40ef65a4e4baca923b9adc74ea.tar.bz2
openshift-a451a468747a6d40ef65a4e4baca923b9adc74ea.tar.xz
openshift-a451a468747a6d40ef65a4e4baca923b9adc74ea.zip
Merge pull request #3467 from kwoodson/registry_updates
Fixed default variables. Added a fix to generated secret in env var.
-rw-r--r--roles/lib_openshift/library/oc_adm_registry.py24
-rw-r--r--roles/lib_openshift/library/oc_adm_router.py12
-rw-r--r--roles/lib_openshift/library/oc_env.py12
-rw-r--r--roles/lib_openshift/library/oc_scale.py12
-rw-r--r--roles/lib_openshift/src/ansible/oc_adm_registry.py4
-rw-r--r--roles/lib_openshift/src/class/oc_adm_registry.py8
-rw-r--r--roles/lib_openshift/src/lib/deploymentconfig.py12
7 files changed, 80 insertions, 4 deletions
diff --git a/roles/lib_openshift/library/oc_adm_registry.py b/roles/lib_openshift/library/oc_adm_registry.py
index fa17d0e58..1575b023f 100644
--- a/roles/lib_openshift/library/oc_adm_registry.py
+++ b/roles/lib_openshift/library/oc_adm_registry.py
@@ -1571,6 +1571,18 @@ spec:
return False
+ def get_env_var(self, key):
+ '''return a environment variables '''
+ results = self.get(DeploymentConfig.env_path) or []
+ if not results:
+ return None
+
+ for env_var in results:
+ if env_var['name'] == key:
+ return env_var
+
+ return None
+
def get_env_vars(self):
'''return a environment variables '''
return self.get(DeploymentConfig.env_path) or []
@@ -2354,6 +2366,14 @@ class Registry(OpenShiftCLI):
def add_modifications(self, deploymentconfig):
''' update a deployment config with changes '''
+ # The environment variable for REGISTRY_HTTP_SECRET is autogenerated
+ # We should set the generated deploymentconfig to the in memory version
+ # the following modifications will overwrite if needed
+ if self.deploymentconfig:
+ result = self.deploymentconfig.get_env_var('REGISTRY_HTTP_SECRET')
+ if result:
+ deploymentconfig.update_env_var('REGISTRY_HTTP_SECRET', result['value'])
+
# Currently we know that our deployment of a registry requires a few extra modifications
# Modification 1
# we need specific environment variables to be set
@@ -2547,8 +2567,8 @@ def main():
service_account=dict(default='registry', type='str'),
mount_host=dict(default=None, type='str'),
volume_mounts=dict(default=None, type='list'),
- env_vars=dict(default=None, type='dict'),
- edits=dict(default=None, type='list'),
+ env_vars=dict(default={}, type='dict'),
+ edits=dict(default=[], type='list'),
enforce_quota=dict(default=False, type='bool'),
force=dict(default=False, type='bool'),
daemonset=dict(default=False, type='bool'),
diff --git a/roles/lib_openshift/library/oc_adm_router.py b/roles/lib_openshift/library/oc_adm_router.py
index a9e76a92e..52863b5f3 100644
--- a/roles/lib_openshift/library/oc_adm_router.py
+++ b/roles/lib_openshift/library/oc_adm_router.py
@@ -1724,6 +1724,18 @@ spec:
return False
+ def get_env_var(self, key):
+ '''return a environment variables '''
+ results = self.get(DeploymentConfig.env_path) or []
+ if not results:
+ return None
+
+ for env_var in results:
+ if env_var['name'] == key:
+ return env_var
+
+ return None
+
def get_env_vars(self):
'''return a environment variables '''
return self.get(DeploymentConfig.env_path) or []
diff --git a/roles/lib_openshift/library/oc_env.py b/roles/lib_openshift/library/oc_env.py
index 3286985c5..a84b9f074 100644
--- a/roles/lib_openshift/library/oc_env.py
+++ b/roles/lib_openshift/library/oc_env.py
@@ -1462,6 +1462,18 @@ spec:
return False
+ def get_env_var(self, key):
+ '''return a environment variables '''
+ results = self.get(DeploymentConfig.env_path) or []
+ if not results:
+ return None
+
+ for env_var in results:
+ if env_var['name'] == key:
+ return env_var
+
+ return None
+
def get_env_vars(self):
'''return a environment variables '''
return self.get(DeploymentConfig.env_path) or []
diff --git a/roles/lib_openshift/library/oc_scale.py b/roles/lib_openshift/library/oc_scale.py
index 3523e7ea6..a7e3e111e 100644
--- a/roles/lib_openshift/library/oc_scale.py
+++ b/roles/lib_openshift/library/oc_scale.py
@@ -1449,6 +1449,18 @@ spec:
return False
+ def get_env_var(self, key):
+ '''return a environment variables '''
+ results = self.get(DeploymentConfig.env_path) or []
+ if not results:
+ return None
+
+ for env_var in results:
+ if env_var['name'] == key:
+ return env_var
+
+ return None
+
def get_env_vars(self):
'''return a environment variables '''
return self.get(DeploymentConfig.env_path) or []
diff --git a/roles/lib_openshift/src/ansible/oc_adm_registry.py b/roles/lib_openshift/src/ansible/oc_adm_registry.py
index a49b84589..c85973c7d 100644
--- a/roles/lib_openshift/src/ansible/oc_adm_registry.py
+++ b/roles/lib_openshift/src/ansible/oc_adm_registry.py
@@ -24,8 +24,8 @@ def main():
service_account=dict(default='registry', type='str'),
mount_host=dict(default=None, type='str'),
volume_mounts=dict(default=None, type='list'),
- env_vars=dict(default=None, type='dict'),
- edits=dict(default=None, type='list'),
+ env_vars=dict(default={}, type='dict'),
+ edits=dict(default=[], type='list'),
enforce_quota=dict(default=False, type='bool'),
force=dict(default=False, type='bool'),
daemonset=dict(default=False, type='bool'),
diff --git a/roles/lib_openshift/src/class/oc_adm_registry.py b/roles/lib_openshift/src/class/oc_adm_registry.py
index eb78667ca..35b417059 100644
--- a/roles/lib_openshift/src/class/oc_adm_registry.py
+++ b/roles/lib_openshift/src/class/oc_adm_registry.py
@@ -232,6 +232,14 @@ class Registry(OpenShiftCLI):
def add_modifications(self, deploymentconfig):
''' update a deployment config with changes '''
+ # The environment variable for REGISTRY_HTTP_SECRET is autogenerated
+ # We should set the generated deploymentconfig to the in memory version
+ # the following modifications will overwrite if needed
+ if self.deploymentconfig:
+ result = self.deploymentconfig.get_env_var('REGISTRY_HTTP_SECRET')
+ if result:
+ deploymentconfig.update_env_var('REGISTRY_HTTP_SECRET', result['value'])
+
# Currently we know that our deployment of a registry requires a few extra modifications
# Modification 1
# we need specific environment variables to be set
diff --git a/roles/lib_openshift/src/lib/deploymentconfig.py b/roles/lib_openshift/src/lib/deploymentconfig.py
index e37475ef5..0549bba84 100644
--- a/roles/lib_openshift/src/lib/deploymentconfig.py
+++ b/roles/lib_openshift/src/lib/deploymentconfig.py
@@ -105,6 +105,18 @@ spec:
return False
+ def get_env_var(self, key):
+ '''return a environment variables '''
+ results = self.get(DeploymentConfig.env_path) or []
+ if not results:
+ return None
+
+ for env_var in results:
+ if env_var['name'] == key:
+ return env_var
+
+ return None
+
def get_env_vars(self):
'''return a environment variables '''
return self.get(DeploymentConfig.env_path) or []