diff options
| author | Kenny Woodson <kwoodson@redhat.com> | 2017-02-24 13:38:31 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-02-24 13:38:31 -0500 | 
| commit | a451a468747a6d40ef65a4e4baca923b9adc74ea (patch) | |
| tree | 77dae5308e6eb4131a3c36ce7b71976673f6aeeb | |
| parent | bc0df10bdebc5dd1874c10ac701626e9ea6465de (diff) | |
| parent | 1e3b9869a349ccdd8a72c796861a0b257880cf88 (diff) | |
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.py | 24 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_adm_router.py | 12 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_env.py | 12 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_scale.py | 12 | ||||
| -rw-r--r-- | roles/lib_openshift/src/ansible/oc_adm_registry.py | 4 | ||||
| -rw-r--r-- | roles/lib_openshift/src/class/oc_adm_registry.py | 8 | ||||
| -rw-r--r-- | roles/lib_openshift/src/lib/deploymentconfig.py | 12 | 
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 [] | 
