Skip to content

Commit 8bb2e70

Browse files
author
Sanjay Prabhakar
committed
[patch] fix function
1 parent 5e0b4fc commit 8bb2e70

1 file changed

Lines changed: 42 additions & 42 deletions

File tree

src/mas/devops/ocp.py

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,47 @@ def waitForDeployment(dynClient: DynamicClient, namespace: str, deploymentName:
159159
sleep(5)
160160
return foundReadyDeployment
161161

162+
def getConsoleURL(dynClient: DynamicClient) -> str:
163+
routesAPI = dynClient.resources.get(api_version="route.openshift.io/v1", kind="Route")
164+
consoleRoute = routesAPI.get(name="console", namespace="openshift-console")
165+
return f"https://{consoleRoute.spec.host}"
166+
167+
168+
def getNodes(dynClient: DynamicClient) -> str:
169+
nodesAPI = dynClient.resources.get(api_version="v1", kind="Node")
170+
nodes = nodesAPI.get().to_dict()['items']
171+
return nodes
172+
173+
174+
def getStorageClass(dynClient: DynamicClient, name: str) -> str:
175+
try:
176+
storageClassAPI = dynClient.resources.get(api_version="storage.k8s.io/v1", kind="StorageClass")
177+
storageclass = storageClassAPI.get(name=name)
178+
return storageclass
179+
except NotFoundError:
180+
return None
181+
182+
183+
def getStorageClasses(dynClient: DynamicClient) -> list:
184+
storageClassAPI = dynClient.resources.get(api_version="storage.k8s.io/v1", kind="StorageClass")
185+
storageClasses = storageClassAPI.get().items
186+
return storageClasses
187+
188+
189+
def isSNO(dynClient: DynamicClient) -> bool:
190+
return len(getNodes(dynClient)) == 1
191+
192+
193+
def crdExists(dynClient: DynamicClient, crdName: str) -> bool:
194+
crdAPI = dynClient.resources.get(api_version="apiextensions.k8s.io/v1", kind="CustomResourceDefinition")
195+
try:
196+
crdAPI.get(name=crdName)
197+
logger.debug(f"CRD does exist: {crdName}")
198+
return True
199+
except NotFoundError:
200+
logger.debug(f"CRD does not exist: {crdName}")
201+
return False
202+
162203
def waitForPVC(dynClient: DynamicClient, namespace: str, pvcName: str) -> bool:
163204
pvcAPI = dynClient.resources.get(api_version="v1", kind="PersistentVolumeClaim")
164205
maxRetries = 60
@@ -184,7 +225,7 @@ def patchPendingPVC(dynClient: DynamicClient, namespace: str, pvcName: str, stor
184225
try:
185226
pvc = pvcAPI.get(name=pvcName, namespace=namespace)
186227
if pvc.status.phase == "Pending" and pvc.spec.storageClassName is None:
187-
if getStorageClasses is not None:
228+
if storageClassName is not None and storageClassName(dynClient, name=storageClassName) is not None:
188229
pvc.spec.storageClassName = storageClassName
189230
else:
190231
defaultStorageClasses = getDefaultStorageClasses(dynClient)
@@ -218,47 +259,6 @@ def patchPendingPVC(dynClient: DynamicClient, namespace: str, pvcName: str, stor
218259
logger.error("PVC {pvcName} does not exist")
219260
return False
220261

221-
def getConsoleURL(dynClient: DynamicClient) -> str:
222-
routesAPI = dynClient.resources.get(api_version="route.openshift.io/v1", kind="Route")
223-
consoleRoute = routesAPI.get(name="console", namespace="openshift-console")
224-
return f"https://{consoleRoute.spec.host}"
225-
226-
227-
def getNodes(dynClient: DynamicClient) -> str:
228-
nodesAPI = dynClient.resources.get(api_version="v1", kind="Node")
229-
nodes = nodesAPI.get().to_dict()['items']
230-
return nodes
231-
232-
233-
def getStorageClass(dynClient: DynamicClient, name: str) -> str:
234-
try:
235-
storageClassAPI = dynClient.resources.get(api_version="storage.k8s.io/v1", kind="StorageClass")
236-
storageclass = storageClassAPI.get(name=name)
237-
return storageclass
238-
except NotFoundError:
239-
return None
240-
241-
242-
def getStorageClasses(dynClient: DynamicClient) -> list:
243-
storageClassAPI = dynClient.resources.get(api_version="storage.k8s.io/v1", kind="StorageClass")
244-
storageClasses = storageClassAPI.get().items
245-
return storageClasses
246-
247-
248-
def isSNO(dynClient: DynamicClient) -> bool:
249-
return len(getNodes(dynClient)) == 1
250-
251-
252-
def crdExists(dynClient: DynamicClient, crdName: str) -> bool:
253-
crdAPI = dynClient.resources.get(api_version="apiextensions.k8s.io/v1", kind="CustomResourceDefinition")
254-
try:
255-
crdAPI.get(name=crdName)
256-
logger.debug(f"CRD does exist: {crdName}")
257-
return True
258-
except NotFoundError:
259-
logger.debug(f"CRD does not exist: {crdName}")
260-
return False
261-
262262

263263
# Assisted by WCA@IBM
264264
# Latest GenAI contribution: ibm/granite-8b-code-instruct

0 commit comments

Comments
 (0)