Skip to content

Commit 6064e10

Browse files
authored
Changes to support DE virtual clusters (#37)
Signed-off-by: curtishoward <curtis@cloudera.com>
1 parent 1c37151 commit 6064e10

File tree

2 files changed

+29
-7
lines changed

2 files changed

+29
-7
lines changed

src/cdpy/common.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ def _warning_format(message, category, filename, lineno, line=None):
227227
'ENV_STOPPED',
228228
'Stopped', # DW
229229
'NOT_ENABLED', # DF
230-
'ClusterDeletionCompleted' # DE
230+
'ClusterDeletionCompleted', 'AppDeleted' # DE
231+
231232
]
232233

233234
self.FAILED_STATES = [
@@ -242,7 +243,7 @@ def _warning_format(message, category, filename, lineno, line=None):
242243
'provision:failed', # ML
243244
'deprovision:failed', # ML
244245
'BAD_HEALTH', # DF
245-
# DE (all possibly intermediate failure states, until CDE exposes a higher-level summary state)
246+
# DE service (all intermediate failure states, until CDE exposes a higher-level summary state)
246247
'ClusterChartInstallationFailed', 'ClusterDNSCreationFailed', 'ClusterDNSDeletionFailed',
247248
'ClusterIngressCreationFailed', 'ClusterProvisioningFailed', 'DBProvisioningFailed',
248249
'FSMountTargetsCreationFailed', 'FSProvisioningFailed', 'ClusterTLSCertCreationFailed',
@@ -252,7 +253,9 @@ def _warning_format(message, category, filename, lineno, line=None):
252253
'ClusterTLSCertDeletionFailed', 'ClusterServiceMeshDeletionFailed',
253254
'ClusterAccessGroupCreationFailed', 'ClusterAccessGroupDeletionFailed',
254255
'ClusterUserSyncCheckFailed', 'ClusterCreationFailed', 'ClusterDeleteFromDBFailed',
255-
'ClusterMaintenanceFailed', 'ClusterTLSCertRenewalFailed'
256+
'ClusterMaintenanceFailed', 'ClusterTLSCertRenewalFailed',
257+
# DE virtual cluster
258+
'AppInstallationFailed', 'AppDeletionFailed'
256259
]
257260

258261
self.REMOVABLE_STATES = [
@@ -261,7 +264,7 @@ def _warning_format(message, category, filename, lineno, line=None):
261264
'installation:failed', 'deprovision:failed', 'installation:finished', 'modify:finished', # ML
262265
'Error', 'Running', 'Stopped', 'Deleting', # DW
263266
'GOOD_HEALTH', 'CONCERNING_HEALTH', 'BAD_HEALTH', # DF
264-
'ClusterCreationCompleted' #DE
267+
'ClusterCreationCompleted', 'AppInstalled' #DE
265268
]
266269

267270
# common regex patterns

src/cdpy/de.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,18 @@ def list_vcs(self, cluster_id):
2525
clusterId=cluster_id
2626
)
2727

28-
def create_vc(self, name, cluster_id, cpu_requests, memory_requests,
29-
chart_value_overrides=None, runtime_spot_component=None):
28+
def create_vc(self, name, cluster_id, cpu_requests, memory_requests, chart_value_overrides=None,
29+
runtime_spot_component=None, spark_version=None, acl_users=None):
3030
return self.sdk.call(
3131
svc='de', func='create_vc', ret_field='Vc',
3232
name=name,
3333
clusterId=cluster_id,
3434
cpuRequests=cpu_requests,
3535
memoryRequests=memory_requests,
3636
chartValueOverrides=chart_value_overrides,
37-
runtimeSpotComponent=runtime_spot_component
37+
runtimeSpotComponent=runtime_spot_component,
38+
sparkVersion=spark_version,
39+
aclUsers=acl_users
3840
)
3941

4042
def delete_vc(self, cluster_id, vc_id):
@@ -95,3 +97,20 @@ def get_kubeconfig(self, cluster_id):
9597
svc='de', func='get_kubeconfig', ret_field='kubeconfig', squelch=[Squelch('NOT_FOUND')],
9698
clusterId=cluster_id
9799
)
100+
101+
def get_service_id_by_name(self, name, env):
102+
cluster_id = None
103+
for service in self.list_services(env, remove_deleted=True):
104+
if service['name'] == name:
105+
cluster_id = service['clusterId']
106+
break
107+
return cluster_id
108+
109+
def get_vc_id_by_name(self, name, cluster_id, remove_deleted=True):
110+
vc_id = None
111+
for vc in self.list_vcs(cluster_id):
112+
vc_stopped = vc['status'] in self.sdk.STOPPED_STATES
113+
if vc['vcName'] == name and (not vc_stopped if remove_deleted else True):
114+
vc_id = vc['vcId']
115+
break
116+
return vc_id

0 commit comments

Comments
 (0)