Skip to content

Commit 262a382

Browse files
author
mkudlej
authored
Merge pull request #4 from mkudlej/speedrun-fixes
add speedrun fixes + using ocp namespace
2 parents 05297f2 + 0c788a7 commit 262a382

File tree

3 files changed

+20
-16
lines changed

3 files changed

+20
-16
lines changed

threescale_api_crd/client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ class ThreeScaleClientCRD(threescale_api.client.ThreeScaleClient):
1313
Threescale client for CRD.
1414
"""
1515

16-
def __init__(self, url, token, ocp_provider_ref=None, *args, **kwargs):
16+
def __init__(self, url, token, ocp_provider_ref=None, ocp_namespace=None, *args, **kwargs):
1717
super().__init__(url, token, *args, **kwargs)
1818
self._ocp_provider_ref = ocp_provider_ref
19-
self._ocp_namespace = ThreeScaleClientCRD.get_namespace()
19+
self._ocp_namespace = ThreeScaleClientCRD.get_namespace(ocp_namespace)
2020
self._services = resources.Services(
2121
parent=self, instance_klass=resources.Service
2222
)
@@ -47,12 +47,12 @@ def __init__(self, url, token, ocp_provider_ref=None, *args, **kwargs):
4747
)
4848

4949
@classmethod
50-
def get_namespace(_ignore):
50+
def get_namespace(_ignore, namespace):
5151
"""
5252
Returns namespace. If there is no valid Openshift 'oc' session, returns "NOT LOGGED IN".
5353
"""
5454
try:
55-
return ocp.get_project_name()
55+
return namespace or ocp.get_project_name()
5656
except OpenShiftPythonException:
5757
return "NOT LOGGED IN"
5858

threescale_api_crd/defaults.py

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ def __init__(
3333
entity_name=entity_name,
3434
entity_collection=entity_collection,
3535
)
36+
ocp.set_default_project(self.threescale_client.ocp_namespace)
3637

3738
def get_list(self, typ="normal"):
3839
"""Returns list of entities."""
@@ -87,17 +88,17 @@ def read_by_name(self, name: str, **kwargs) -> "DefaultResourceCRD":
8788
"""
8889
return self.fetch_crd_entity(name) or super().read_by_name(name, **kwargs)
8990

90-
# def read(self, entity_id: int = None) -> 'DefaultResourceCRD':
91-
# """Read the instance, read will just create empty resource and lazyloads only if needed
92-
# Args:
93-
# entity_id(int): Entity id
94-
# Returns(DefaultResourceCRD): Default resource
95-
# """
96-
# LOG.debug(self._log_message("[READ] CRD Read ", entity_id=entity_id))
97-
# if self.is_crd_implemented():
98-
# self.fetch(entity_id=entity_id)
99-
# else:
100-
# return threescale_api.defaults.DefaultClient.read(self, entity_id, **kwargs)
91+
def read(self, entity_id: int = None, **kwargs) -> 'DefaultResourceCRD':
92+
"""Read the instance, read will just create empty resource and lazyloads only if needed
93+
Args:
94+
entity_id(int): Entity id
95+
Returns(DefaultResourceCRD): Default resource
96+
"""
97+
LOG.debug(self._log_message("[READ] CRD Read ", entity_id=entity_id))
98+
if self.is_crd_implemented():
99+
return self.fetch(entity_id=entity_id, **kwargs)
100+
else:
101+
return threescale_api.defaults.DefaultClient.read(self, entity_id, **kwargs)
101102

102103
def fetch(self, entity_id: int = None, **kwargs):
103104
"""Fetches the entity dictionary
@@ -568,6 +569,8 @@ def __init__(self, *args, crd=None, **kwargs):
568569
@property
569570
def crd(self):
570571
"""CRD object property."""
572+
if not self._crd:
573+
self.read()
571574
return self._crd or self.entity.get("crd", None)
572575

573576
@crd.setter

threescale_api_crd/resources.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1966,6 +1966,7 @@ def __init__(self, **kwargs):
19661966
"auth_user_key",
19671967
"auth_app_id",
19681968
"auth_app_key",
1969+
"api_test_path"
19691970
]
19701971
if any([att not in entity for att in required_attrs]):
19711972
self.client.disable_crd_implemented()
@@ -2052,7 +2053,7 @@ def update(self, params: dict = None, **kwargs):
20522053
proxy = self.parent.list()
20532054
oidc = proxy.oidc["oidc_configuration"]
20542055
oidc.update(params["oidc_configuration"])
2055-
proxy.update(oidc=oidc)
2056+
return proxy.update(oidc=oidc)
20562057

20572058
def read(self, params: dict = None, **kwargs):
20582059
proxy = self.parent.list()

0 commit comments

Comments
 (0)