summaryrefslogtreecommitdiffstats
path: root/roles/lib_openshift
diff options
context:
space:
mode:
Diffstat (limited to 'roles/lib_openshift')
-rw-r--r--roles/lib_openshift/library/oc_adm_policy_user.py19
-rw-r--r--roles/lib_openshift/library/oc_adm_registry.py5
-rw-r--r--roles/lib_openshift/library/oc_adm_router.py11
-rw-r--r--roles/lib_openshift/library/oc_edit.py15
-rw-r--r--roles/lib_openshift/library/oc_service.py16
-rw-r--r--roles/lib_openshift/library/oc_storageclass.py2
-rw-r--r--roles/lib_openshift/src/ansible/oc_adm_policy_user.py1
-rw-r--r--roles/lib_openshift/src/ansible/oc_adm_router.py6
-rw-r--r--roles/lib_openshift/src/ansible/oc_edit.py15
-rw-r--r--roles/lib_openshift/src/ansible/oc_service.py1
-rw-r--r--roles/lib_openshift/src/ansible/oc_storageclass.py2
-rw-r--r--roles/lib_openshift/src/class/oc_adm_policy_user.py4
-rw-r--r--roles/lib_openshift/src/class/oc_service.py4
-rw-r--r--roles/lib_openshift/src/doc/policy_user14
-rw-r--r--roles/lib_openshift/src/doc/service6
-rw-r--r--roles/lib_openshift/src/lib/service.py5
-rwxr-xr-xroles/lib_openshift/src/test/unit/test_oc_service.py4
17 files changed, 92 insertions, 38 deletions
diff --git a/roles/lib_openshift/library/oc_adm_policy_user.py b/roles/lib_openshift/library/oc_adm_policy_user.py
index 1ceaf5d0d..92515889b 100644
--- a/roles/lib_openshift/library/oc_adm_policy_user.py
+++ b/roles/lib_openshift/library/oc_adm_policy_user.py
@@ -71,6 +71,12 @@ options:
required: false
default: None
aliases: []
+ role_namespace:
+ description:
+ - The namespace where to find the role
+ required: false
+ default: None
+ aliases: []
debug:
description:
- Turn on debug output.
@@ -122,6 +128,14 @@ EXAMPLES = '''
resource_kind: cluster-role
resource_name: system:build-strategy-docker
state: present
+
+- name: oc adm policy add-role-to-user system:build-strategy-docker ausername --role-namespace foo
+ oc_adm_policy_user:
+ user: ausername
+ resource_kind: cluster-role
+ resource_name: system:build-strategy-docker
+ state: present
+ role_namespace: foo
'''
# -*- -*- -*- End included fragment: doc/policy_user -*- -*- -*-
@@ -2065,6 +2079,9 @@ class PolicyUser(OpenShiftCLI):
self.config.config_options['name']['value'],
self.config.config_options['user']['value']]
+ if self.config.config_options['role_namespace']['value'] is not None:
+ cmd.extend(['--role-namespace', self.config.config_options['role_namespace']['value']])
+
return self.openshift_cmd(cmd, oadm=True)
@staticmethod
@@ -2085,6 +2102,7 @@ class PolicyUser(OpenShiftCLI):
'user': {'value': params['user'], 'include': False},
'resource_kind': {'value': params['resource_kind'], 'include': False},
'name': {'value': params['resource_name'], 'include': False},
+ 'role_namespace': {'value': params['role_namespace'], 'include': False},
})
policyuser = PolicyUser(nconfig, params['debug'])
@@ -2149,6 +2167,7 @@ def main():
debug=dict(default=False, type='bool'),
resource_name=dict(required=True, type='str'),
namespace=dict(default='default', type='str'),
+ role_namespace=dict(default=None, type='str'),
kubeconfig=dict(default='/etc/origin/master/admin.kubeconfig', type='str'),
user=dict(required=True, type='str'),
diff --git a/roles/lib_openshift/library/oc_adm_registry.py b/roles/lib_openshift/library/oc_adm_registry.py
index 0771aa5a5..fe565987c 100644
--- a/roles/lib_openshift/library/oc_adm_registry.py
+++ b/roles/lib_openshift/library/oc_adm_registry.py
@@ -1993,6 +1993,7 @@ class ServiceConfig(object):
sname,
namespace,
ports,
+ annotations=None,
selector=None,
labels=None,
cluster_ip=None,
@@ -2004,6 +2005,7 @@ class ServiceConfig(object):
self.name = sname
self.namespace = namespace
self.ports = ports
+ self.annotations = annotations
self.selector = selector
self.labels = labels
self.cluster_ip = cluster_ip
@@ -2026,6 +2028,9 @@ class ServiceConfig(object):
self.data['metadata']['labels'] = {}
for lab, lab_value in self.labels.items():
self.data['metadata']['labels'][lab] = lab_value
+ if self.annotations:
+ self.data['metadata']['annotations'] = self.annotations
+
self.data['spec'] = {}
if self.ports:
diff --git a/roles/lib_openshift/library/oc_adm_router.py b/roles/lib_openshift/library/oc_adm_router.py
index 146f71f68..44de29592 100644
--- a/roles/lib_openshift/library/oc_adm_router.py
+++ b/roles/lib_openshift/library/oc_adm_router.py
@@ -1559,6 +1559,7 @@ class ServiceConfig(object):
sname,
namespace,
ports,
+ annotations=None,
selector=None,
labels=None,
cluster_ip=None,
@@ -1570,6 +1571,7 @@ class ServiceConfig(object):
self.name = sname
self.namespace = namespace
self.ports = ports
+ self.annotations = annotations
self.selector = selector
self.labels = labels
self.cluster_ip = cluster_ip
@@ -1592,6 +1594,9 @@ class ServiceConfig(object):
self.data['metadata']['labels'] = {}
for lab, lab_value in self.labels.items():
self.data['metadata']['labels'][lab] = lab_value
+ if self.annotations:
+ self.data['metadata']['annotations'] = self.annotations
+
self.data['spec'] = {}
if self.ports:
@@ -3154,14 +3159,14 @@ def main():
external_host_insecure=dict(default=False, type='bool'),
external_host_partition_path=dict(default=None, type='str'),
external_host_username=dict(default=None, type='str'),
- external_host_password=dict(default=None, type='str'),
- external_host_private_key=dict(default=None, type='str'),
+ external_host_password=dict(default=None, type='str', no_log=True),
+ external_host_private_key=dict(default=None, type='str', no_log=True),
# Metrics
expose_metrics=dict(default=False, type='bool'),
metrics_image=dict(default=None, type='str'),
# Stats
stats_user=dict(default=None, type='str'),
- stats_password=dict(default=None, type='str'),
+ stats_password=dict(default=None, type='str', no_log=True),
stats_port=dict(default=1936, type='int'),
# extra
cacert_file=dict(default=None, type='str'),
diff --git a/roles/lib_openshift/library/oc_edit.py b/roles/lib_openshift/library/oc_edit.py
index 0b6a8436b..0cea07256 100644
--- a/roles/lib_openshift/library/oc_edit.py
+++ b/roles/lib_openshift/library/oc_edit.py
@@ -1556,20 +1556,7 @@ def main():
debug=dict(default=False, type='bool'),
namespace=dict(default='default', type='str'),
name=dict(default=None, required=True, type='str'),
- kind=dict(required=True,
- type='str',
- choices=['dc', 'deploymentconfig',
- 'rc', 'replicationcontroller',
- 'svc', 'service',
- 'scc', 'securitycontextconstraints',
- 'ns', 'namespace', 'project', 'projects',
- 'is', 'imagestream',
- 'istag', 'imagestreamtag',
- 'bc', 'buildconfig',
- 'routes',
- 'node',
- 'secret',
- 'pv', 'persistentvolume']),
+ kind=dict(required=True, type='str'),
file_name=dict(default=None, type='str'),
file_format=dict(default='yaml', type='str'),
content=dict(default=None, required=True, type='dict'),
diff --git a/roles/lib_openshift/library/oc_service.py b/roles/lib_openshift/library/oc_service.py
index 3e8aea4f1..c541e1bbd 100644
--- a/roles/lib_openshift/library/oc_service.py
+++ b/roles/lib_openshift/library/oc_service.py
@@ -90,6 +90,12 @@ options:
required: false
default: default
aliases: []
+ annotations:
+ description:
+ - Annotations to apply to the object
+ required: false
+ default: None
+ aliases: []
selector:
description:
- The selector to apply when filtering for services.
@@ -1471,6 +1477,7 @@ class ServiceConfig(object):
sname,
namespace,
ports,
+ annotations=None,
selector=None,
labels=None,
cluster_ip=None,
@@ -1482,6 +1489,7 @@ class ServiceConfig(object):
self.name = sname
self.namespace = namespace
self.ports = ports
+ self.annotations = annotations
self.selector = selector
self.labels = labels
self.cluster_ip = cluster_ip
@@ -1504,6 +1512,9 @@ class ServiceConfig(object):
self.data['metadata']['labels'] = {}
for lab, lab_value in self.labels.items():
self.data['metadata']['labels'][lab] = lab_value
+ if self.annotations:
+ self.data['metadata']['annotations'] = self.annotations
+
self.data['spec'] = {}
if self.ports:
@@ -1662,6 +1673,7 @@ class OCService(OpenShiftCLI):
sname,
namespace,
labels,
+ annotations,
selector,
cluster_ip,
portal_ip,
@@ -1674,7 +1686,7 @@ class OCService(OpenShiftCLI):
''' Constructor for OCVolume '''
super(OCService, self).__init__(namespace, kubeconfig, verbose)
self.namespace = namespace
- self.config = ServiceConfig(sname, namespace, ports, selector, labels,
+ self.config = ServiceConfig(sname, namespace, ports, annotations, selector, labels,
cluster_ip, portal_ip, session_affinity, service_type,
external_ips)
self.user_svc = Service(content=self.config.data)
@@ -1739,6 +1751,7 @@ class OCService(OpenShiftCLI):
oc_svc = OCService(params['name'],
params['namespace'],
params['labels'],
+ params['annotations'],
params['selector'],
params['clusterip'],
params['portalip'],
@@ -1840,6 +1853,7 @@ def main():
debug=dict(default=False, type='bool'),
namespace=dict(default='default', type='str'),
name=dict(default=None, type='str'),
+ annotations=dict(default=None, type='dict'),
labels=dict(default=None, type='dict'),
selector=dict(default=None, type='dict'),
clusterip=dict(default=None, type='str'),
diff --git a/roles/lib_openshift/library/oc_storageclass.py b/roles/lib_openshift/library/oc_storageclass.py
index e88f3ae8d..7e7d0fa60 100644
--- a/roles/lib_openshift/library/oc_storageclass.py
+++ b/roles/lib_openshift/library/oc_storageclass.py
@@ -1664,7 +1664,7 @@ def main():
name=dict(default=None, type='str'),
annotations=dict(default=None, type='dict'),
parameters=dict(default=None, type='dict'),
- provisioner=dict(required=True, type='str', choices=['aws-ebs', 'gce-pd', 'glusterfs', 'cinder']),
+ provisioner=dict(required=True, type='str'),
api_version=dict(default='v1', type='str'),
default_storage_class=dict(default="false", type='str'),
),
diff --git a/roles/lib_openshift/src/ansible/oc_adm_policy_user.py b/roles/lib_openshift/src/ansible/oc_adm_policy_user.py
index a22496866..642001021 100644
--- a/roles/lib_openshift/src/ansible/oc_adm_policy_user.py
+++ b/roles/lib_openshift/src/ansible/oc_adm_policy_user.py
@@ -14,6 +14,7 @@ def main():
debug=dict(default=False, type='bool'),
resource_name=dict(required=True, type='str'),
namespace=dict(default='default', type='str'),
+ role_namespace=dict(default=None, type='str'),
kubeconfig=dict(default='/etc/origin/master/admin.kubeconfig', type='str'),
user=dict(required=True, type='str'),
diff --git a/roles/lib_openshift/src/ansible/oc_adm_router.py b/roles/lib_openshift/src/ansible/oc_adm_router.py
index c6563cc2f..52499b273 100644
--- a/roles/lib_openshift/src/ansible/oc_adm_router.py
+++ b/roles/lib_openshift/src/ansible/oc_adm_router.py
@@ -34,14 +34,14 @@ def main():
external_host_insecure=dict(default=False, type='bool'),
external_host_partition_path=dict(default=None, type='str'),
external_host_username=dict(default=None, type='str'),
- external_host_password=dict(default=None, type='str'),
- external_host_private_key=dict(default=None, type='str'),
+ external_host_password=dict(default=None, type='str', no_log=True),
+ external_host_private_key=dict(default=None, type='str', no_log=True),
# Metrics
expose_metrics=dict(default=False, type='bool'),
metrics_image=dict(default=None, type='str'),
# Stats
stats_user=dict(default=None, type='str'),
- stats_password=dict(default=None, type='str'),
+ stats_password=dict(default=None, type='str', no_log=True),
stats_port=dict(default=1936, type='int'),
# extra
cacert_file=dict(default=None, type='str'),
diff --git a/roles/lib_openshift/src/ansible/oc_edit.py b/roles/lib_openshift/src/ansible/oc_edit.py
index 5c5954747..221047393 100644
--- a/roles/lib_openshift/src/ansible/oc_edit.py
+++ b/roles/lib_openshift/src/ansible/oc_edit.py
@@ -15,20 +15,7 @@ def main():
debug=dict(default=False, type='bool'),
namespace=dict(default='default', type='str'),
name=dict(default=None, required=True, type='str'),
- kind=dict(required=True,
- type='str',
- choices=['dc', 'deploymentconfig',
- 'rc', 'replicationcontroller',
- 'svc', 'service',
- 'scc', 'securitycontextconstraints',
- 'ns', 'namespace', 'project', 'projects',
- 'is', 'imagestream',
- 'istag', 'imagestreamtag',
- 'bc', 'buildconfig',
- 'routes',
- 'node',
- 'secret',
- 'pv', 'persistentvolume']),
+ kind=dict(required=True, type='str'),
file_name=dict(default=None, type='str'),
file_format=dict(default='yaml', type='str'),
content=dict(default=None, required=True, type='dict'),
diff --git a/roles/lib_openshift/src/ansible/oc_service.py b/roles/lib_openshift/src/ansible/oc_service.py
index b90c08255..0c55391e3 100644
--- a/roles/lib_openshift/src/ansible/oc_service.py
+++ b/roles/lib_openshift/src/ansible/oc_service.py
@@ -14,6 +14,7 @@ def main():
debug=dict(default=False, type='bool'),
namespace=dict(default='default', type='str'),
name=dict(default=None, type='str'),
+ annotations=dict(default=None, type='dict'),
labels=dict(default=None, type='dict'),
selector=dict(default=None, type='dict'),
clusterip=dict(default=None, type='str'),
diff --git a/roles/lib_openshift/src/ansible/oc_storageclass.py b/roles/lib_openshift/src/ansible/oc_storageclass.py
index e9f3ebbd3..a8f371661 100644
--- a/roles/lib_openshift/src/ansible/oc_storageclass.py
+++ b/roles/lib_openshift/src/ansible/oc_storageclass.py
@@ -14,7 +14,7 @@ def main():
name=dict(default=None, type='str'),
annotations=dict(default=None, type='dict'),
parameters=dict(default=None, type='dict'),
- provisioner=dict(required=True, type='str', choices=['aws-ebs', 'gce-pd', 'glusterfs', 'cinder']),
+ provisioner=dict(required=True, type='str'),
api_version=dict(default='v1', type='str'),
default_storage_class=dict(default="false", type='str'),
),
diff --git a/roles/lib_openshift/src/class/oc_adm_policy_user.py b/roles/lib_openshift/src/class/oc_adm_policy_user.py
index 6fc8145c8..481564c2d 100644
--- a/roles/lib_openshift/src/class/oc_adm_policy_user.py
+++ b/roles/lib_openshift/src/class/oc_adm_policy_user.py
@@ -148,6 +148,9 @@ class PolicyUser(OpenShiftCLI):
self.config.config_options['name']['value'],
self.config.config_options['user']['value']]
+ if self.config.config_options['role_namespace']['value'] is not None:
+ cmd.extend(['--role-namespace', self.config.config_options['role_namespace']['value']])
+
return self.openshift_cmd(cmd, oadm=True)
@staticmethod
@@ -168,6 +171,7 @@ class PolicyUser(OpenShiftCLI):
'user': {'value': params['user'], 'include': False},
'resource_kind': {'value': params['resource_kind'], 'include': False},
'name': {'value': params['resource_name'], 'include': False},
+ 'role_namespace': {'value': params['role_namespace'], 'include': False},
})
policyuser = PolicyUser(nconfig, params['debug'])
diff --git a/roles/lib_openshift/src/class/oc_service.py b/roles/lib_openshift/src/class/oc_service.py
index 7268a0c88..e41237b7e 100644
--- a/roles/lib_openshift/src/class/oc_service.py
+++ b/roles/lib_openshift/src/class/oc_service.py
@@ -13,6 +13,7 @@ class OCService(OpenShiftCLI):
sname,
namespace,
labels,
+ annotations,
selector,
cluster_ip,
portal_ip,
@@ -25,7 +26,7 @@ class OCService(OpenShiftCLI):
''' Constructor for OCVolume '''
super(OCService, self).__init__(namespace, kubeconfig, verbose)
self.namespace = namespace
- self.config = ServiceConfig(sname, namespace, ports, selector, labels,
+ self.config = ServiceConfig(sname, namespace, ports, annotations, selector, labels,
cluster_ip, portal_ip, session_affinity, service_type,
external_ips)
self.user_svc = Service(content=self.config.data)
@@ -90,6 +91,7 @@ class OCService(OpenShiftCLI):
oc_svc = OCService(params['name'],
params['namespace'],
params['labels'],
+ params['annotations'],
params['selector'],
params['clusterip'],
params['portalip'],
diff --git a/roles/lib_openshift/src/doc/policy_user b/roles/lib_openshift/src/doc/policy_user
index 351c9af65..a98652571 100644
--- a/roles/lib_openshift/src/doc/policy_user
+++ b/roles/lib_openshift/src/doc/policy_user
@@ -20,6 +20,12 @@ options:
required: false
default: None
aliases: []
+ role_namespace:
+ description:
+ - The namespace where to find the role
+ required: false
+ default: None
+ aliases: []
debug:
description:
- Turn on debug output.
@@ -71,4 +77,12 @@ EXAMPLES = '''
resource_kind: cluster-role
resource_name: system:build-strategy-docker
state: present
+
+- name: oc adm policy add-role-to-user system:build-strategy-docker ausername --role-namespace foo
+ oc_adm_policy_user:
+ user: ausername
+ resource_kind: cluster-role
+ resource_name: system:build-strategy-docker
+ state: present
+ role_namespace: foo
'''
diff --git a/roles/lib_openshift/src/doc/service b/roles/lib_openshift/src/doc/service
index ba9aa0b38..b596dff85 100644
--- a/roles/lib_openshift/src/doc/service
+++ b/roles/lib_openshift/src/doc/service
@@ -39,6 +39,12 @@ options:
required: false
default: default
aliases: []
+ annotations:
+ description:
+ - Annotations to apply to the object
+ required: false
+ default: None
+ aliases: []
selector:
description:
- The selector to apply when filtering for services.
diff --git a/roles/lib_openshift/src/lib/service.py b/roles/lib_openshift/src/lib/service.py
index 0e8cc3aa5..84620c518 100644
--- a/roles/lib_openshift/src/lib/service.py
+++ b/roles/lib_openshift/src/lib/service.py
@@ -10,6 +10,7 @@ class ServiceConfig(object):
sname,
namespace,
ports,
+ annotations=None,
selector=None,
labels=None,
cluster_ip=None,
@@ -21,6 +22,7 @@ class ServiceConfig(object):
self.name = sname
self.namespace = namespace
self.ports = ports
+ self.annotations = annotations
self.selector = selector
self.labels = labels
self.cluster_ip = cluster_ip
@@ -43,6 +45,9 @@ class ServiceConfig(object):
self.data['metadata']['labels'] = {}
for lab, lab_value in self.labels.items():
self.data['metadata']['labels'][lab] = lab_value
+ if self.annotations:
+ self.data['metadata']['annotations'] = self.annotations
+
self.data['spec'] = {}
if self.ports:
diff --git a/roles/lib_openshift/src/test/unit/test_oc_service.py b/roles/lib_openshift/src/test/unit/test_oc_service.py
index 9c21a262f..2a7b3c7dc 100755
--- a/roles/lib_openshift/src/test/unit/test_oc_service.py
+++ b/roles/lib_openshift/src/test/unit/test_oc_service.py
@@ -34,6 +34,7 @@ class OCServiceTest(unittest.TestCase):
'ports': None,
'state': 'list',
'labels': None,
+ 'annotations': None,
'clusterip': None,
'portalip': None,
'selector': None,
@@ -120,6 +121,7 @@ class OCServiceTest(unittest.TestCase):
'targetPOrt': 9000},
'state': 'present',
'labels': None,
+ 'annotations': None,
'clusterip': None,
'portalip': None,
'selector': {'router': 'router'},
@@ -318,6 +320,7 @@ class OCServiceTest(unittest.TestCase):
'targetPOrt': 9000},
'state': 'present',
'labels': {'component': 'some_component', 'infra': 'true'},
+ 'annotations': None,
'clusterip': None,
'portalip': None,
'selector': {'router': 'router'},
@@ -407,6 +410,7 @@ class OCServiceTest(unittest.TestCase):
'targetPOrt': 9000},
'state': 'present',
'labels': {'component': 'some_component', 'infra': 'true'},
+ 'annotations': None,
'clusterip': None,
'portalip': None,
'selector': {'router': 'router'},