diff options
Diffstat (limited to 'roles/lib_openshift')
| -rw-r--r-- | roles/lib_openshift/library/oc_adm_registry.py | 5 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_adm_router.py | 5 | ||||
| -rw-r--r-- | roles/lib_openshift/library/oc_secret.py | 19 | ||||
| -rw-r--r-- | roles/lib_openshift/src/ansible/oc_secret.py | 1 | ||||
| -rw-r--r-- | roles/lib_openshift/src/class/oc_secret.py | 7 | ||||
| -rw-r--r-- | roles/lib_openshift/src/doc/secret | 6 | ||||
| -rw-r--r-- | roles/lib_openshift/src/lib/secret.py | 5 | ||||
| -rwxr-xr-x | roles/lib_openshift/src/test/unit/test_oc_secret.py | 3 | 
8 files changed, 46 insertions, 5 deletions
| diff --git a/roles/lib_openshift/library/oc_adm_registry.py b/roles/lib_openshift/library/oc_adm_registry.py index 0090cac12..df0e40d20 100644 --- a/roles/lib_openshift/library/oc_adm_registry.py +++ b/roles/lib_openshift/library/oc_adm_registry.py @@ -1898,10 +1898,12 @@ class SecretConfig(object):                   sname,                   namespace,                   kubeconfig, -                 secrets=None): +                 secrets=None, +                 stype=None):          ''' constructor for handling secret options '''          self.kubeconfig = kubeconfig          self.name = sname +        self.type = stype          self.namespace = namespace          self.secrets = secrets          self.data = {} @@ -1912,6 +1914,7 @@ class SecretConfig(object):          ''' assign the correct properties for a secret dict '''          self.data['apiVersion'] = 'v1'          self.data['kind'] = 'Secret' +        self.data['type'] = self.type          self.data['metadata'] = {}          self.data['metadata']['name'] = self.name          self.data['metadata']['namespace'] = self.namespace diff --git a/roles/lib_openshift/library/oc_adm_router.py b/roles/lib_openshift/library/oc_adm_router.py index 98e80e001..8af8cb196 100644 --- a/roles/lib_openshift/library/oc_adm_router.py +++ b/roles/lib_openshift/library/oc_adm_router.py @@ -2242,10 +2242,12 @@ class SecretConfig(object):                   sname,                   namespace,                   kubeconfig, -                 secrets=None): +                 secrets=None, +                 stype=None):          ''' constructor for handling secret options '''          self.kubeconfig = kubeconfig          self.name = sname +        self.type = stype          self.namespace = namespace          self.secrets = secrets          self.data = {} @@ -2256,6 +2258,7 @@ class SecretConfig(object):          ''' assign the correct properties for a secret dict '''          self.data['apiVersion'] = 'v1'          self.data['kind'] = 'Secret' +        self.data['type'] = self.type          self.data['metadata'] = {}          self.data['metadata']['name'] = self.name          self.data['metadata']['namespace'] = self.namespace diff --git a/roles/lib_openshift/library/oc_secret.py b/roles/lib_openshift/library/oc_secret.py index 379670aee..02257500f 100644 --- a/roles/lib_openshift/library/oc_secret.py +++ b/roles/lib_openshift/library/oc_secret.py @@ -108,6 +108,12 @@ options:      required: false      default: None      aliases: [] +  type: +    description: +    - The secret type. +    required: false +    default: None +    aliases: []    force:      description:      - Whether or not to force the operation @@ -1470,10 +1476,12 @@ class SecretConfig(object):                   sname,                   namespace,                   kubeconfig, -                 secrets=None): +                 secrets=None, +                 stype=None):          ''' constructor for handling secret options '''          self.kubeconfig = kubeconfig          self.name = sname +        self.type = stype          self.namespace = namespace          self.secrets = secrets          self.data = {} @@ -1484,6 +1492,7 @@ class SecretConfig(object):          ''' assign the correct properties for a secret dict '''          self.data['apiVersion'] = 'v1'          self.data['kind'] = 'Secret' +        self.data['type'] = self.type          self.data['metadata'] = {}          self.data['metadata']['name'] = self.name          self.data['metadata']['namespace'] = self.namespace @@ -1573,12 +1582,14 @@ class OCSecret(OpenShiftCLI):      def __init__(self,                   namespace,                   secret_name=None, +                 secret_type=None,                   decode=False,                   kubeconfig='/etc/origin/master/admin.kubeconfig',                   verbose=False):          ''' Constructor for OpenshiftOC '''          super(OCSecret, self).__init__(namespace, kubeconfig=kubeconfig, verbose=verbose)          self.name = secret_name +        self.type = secret_type          self.decode = decode      def get(self): @@ -1609,6 +1620,8 @@ class OCSecret(OpenShiftCLI):          secrets = ["%s=%s" % (sfile['name'], sfile['path']) for sfile in files]          cmd = ['secrets', 'new', self.name] +        if self.type is not None: +            cmd.append("--type=%s" % (self.type))          cmd.extend(secrets)          results = self.openshift_cmd(cmd) @@ -1642,6 +1655,8 @@ class OCSecret(OpenShiftCLI):          secrets = ["%s=%s" % (sfile['name'], sfile['path']) for sfile in files]          cmd = ['-ojson', 'secrets', 'new', self.name] +        if self.type is not None: +            cmd.extend(["--type=%s" % (self.type)])          cmd.extend(secrets)          return self.openshift_cmd(cmd, output=True) @@ -1654,6 +1669,7 @@ class OCSecret(OpenShiftCLI):          ocsecret = OCSecret(params['namespace'],                              params['name'], +                            params['type'],                              params['decode'],                              kubeconfig=params['kubeconfig'],                              verbose=params['debug']) @@ -1776,6 +1792,7 @@ def main():              debug=dict(default=False, type='bool'),              namespace=dict(default='default', type='str'),              name=dict(default=None, type='str'), +            type=dict(default=None, type='str'),              files=dict(default=None, type='list'),              delete_after=dict(default=False, type='bool'),              contents=dict(default=None, type='list'), diff --git a/roles/lib_openshift/src/ansible/oc_secret.py b/roles/lib_openshift/src/ansible/oc_secret.py index 1337cbbe5..faa7c1772 100644 --- a/roles/lib_openshift/src/ansible/oc_secret.py +++ b/roles/lib_openshift/src/ansible/oc_secret.py @@ -15,6 +15,7 @@ def main():              debug=dict(default=False, type='bool'),              namespace=dict(default='default', type='str'),              name=dict(default=None, type='str'), +            type=dict(default=None, type='str'),              files=dict(default=None, type='list'),              delete_after=dict(default=False, type='bool'),              contents=dict(default=None, type='list'), diff --git a/roles/lib_openshift/src/class/oc_secret.py b/roles/lib_openshift/src/class/oc_secret.py index deb36a9fa..ee83580df 100644 --- a/roles/lib_openshift/src/class/oc_secret.py +++ b/roles/lib_openshift/src/class/oc_secret.py @@ -13,12 +13,14 @@ class OCSecret(OpenShiftCLI):      def __init__(self,                   namespace,                   secret_name=None, +                 secret_type=None,                   decode=False,                   kubeconfig='/etc/origin/master/admin.kubeconfig',                   verbose=False):          ''' Constructor for OpenshiftOC '''          super(OCSecret, self).__init__(namespace, kubeconfig=kubeconfig, verbose=verbose)          self.name = secret_name +        self.type = secret_type          self.decode = decode      def get(self): @@ -49,6 +51,8 @@ class OCSecret(OpenShiftCLI):          secrets = ["%s=%s" % (sfile['name'], sfile['path']) for sfile in files]          cmd = ['secrets', 'new', self.name] +        if self.type is not None: +            cmd.append("--type=%s" % (self.type))          cmd.extend(secrets)          results = self.openshift_cmd(cmd) @@ -82,6 +86,8 @@ class OCSecret(OpenShiftCLI):          secrets = ["%s=%s" % (sfile['name'], sfile['path']) for sfile in files]          cmd = ['-ojson', 'secrets', 'new', self.name] +        if self.type is not None: +            cmd.extend(["--type=%s" % (self.type)])          cmd.extend(secrets)          return self.openshift_cmd(cmd, output=True) @@ -94,6 +100,7 @@ class OCSecret(OpenShiftCLI):          ocsecret = OCSecret(params['namespace'],                              params['name'], +                            params['type'],                              params['decode'],                              kubeconfig=params['kubeconfig'],                              verbose=params['debug']) diff --git a/roles/lib_openshift/src/doc/secret b/roles/lib_openshift/src/doc/secret index 5c2bd9bc0..76b147f6f 100644 --- a/roles/lib_openshift/src/doc/secret +++ b/roles/lib_openshift/src/doc/secret @@ -57,6 +57,12 @@ options:      required: false      default: None      aliases: [] +  type: +    description: +    - The secret type. +    required: false +    default: None +    aliases: []    force:      description:      - Whether or not to force the operation diff --git a/roles/lib_openshift/src/lib/secret.py b/roles/lib_openshift/src/lib/secret.py index 75c32e8b1..a1c202442 100644 --- a/roles/lib_openshift/src/lib/secret.py +++ b/roles/lib_openshift/src/lib/secret.py @@ -9,10 +9,12 @@ class SecretConfig(object):                   sname,                   namespace,                   kubeconfig, -                 secrets=None): +                 secrets=None, +                 stype=None):          ''' constructor for handling secret options '''          self.kubeconfig = kubeconfig          self.name = sname +        self.type = stype          self.namespace = namespace          self.secrets = secrets          self.data = {} @@ -23,6 +25,7 @@ class SecretConfig(object):          ''' assign the correct properties for a secret dict '''          self.data['apiVersion'] = 'v1'          self.data['kind'] = 'Secret' +        self.data['type'] = self.type          self.data['metadata'] = {}          self.data['metadata']['name'] = self.name          self.data['metadata']['namespace'] = self.namespace diff --git a/roles/lib_openshift/src/test/unit/test_oc_secret.py b/roles/lib_openshift/src/test/unit/test_oc_secret.py index e31393793..09cc4a374 100755 --- a/roles/lib_openshift/src/test/unit/test_oc_secret.py +++ b/roles/lib_openshift/src/test/unit/test_oc_secret.py @@ -38,6 +38,7 @@ class OCSecretTest(unittest.TestCase):              'state': 'present',              'namespace': 'default',              'name': 'testsecretname', +            'type': 'Opaque',              'contents': [{                  'path': "/tmp/somesecret.json",                  'data': "{'one': 1, 'two': 2, 'three': 3}", @@ -74,7 +75,7 @@ class OCSecretTest(unittest.TestCase):          # Making sure our mock was called as we expected          mock_cmd.assert_has_calls([              mock.call(['oc', 'get', 'secrets', 'testsecretname', '-o', 'json', '-n', 'default'], None), -            mock.call(['oc', 'secrets', 'new', 'testsecretname', mock.ANY, '-n', 'default'], None), +            mock.call(['oc', 'secrets', 'new', 'testsecretname', '--type=Opaque', mock.ANY, '-n', 'default'], None),          ])          mock_write.assert_has_calls([ | 
