|
|
@@ -42,12 +42,13 @@ class DataEngClusterApi(Api):
|
|
|
'name': '%(clusterName)s' % app,
|
|
|
'status': app['status'],
|
|
|
'apiStatus': self._api_status(app['status']),
|
|
|
- 'type': '%(serviceType)s %(workersGroupSize)s %(instanceType)s %(cdhVersion)s' % app,
|
|
|
+ 'type': 'Altus %(serviceType)s %(workersGroupSize)s %(instanceType)s %(cdhVersion)s' % app,
|
|
|
'user': app['clusterName'].split('-', 1)[0],
|
|
|
'progress': 100,
|
|
|
'queue': 'group',
|
|
|
'duration': 1,
|
|
|
- 'submitted': app['creationDate']
|
|
|
+ 'submitted': app['creationDate'],
|
|
|
+ 'canWrite': True
|
|
|
} for app in jobs['clusters']],
|
|
|
'total': len(jobs)
|
|
|
}
|
|
|
@@ -58,7 +59,20 @@ class DataEngClusterApi(Api):
|
|
|
|
|
|
|
|
|
def action(self, appid, action):
|
|
|
- return {}
|
|
|
+ message = {'message': '', 'status': 0}
|
|
|
+
|
|
|
+ if action.get('action') == 'kill':
|
|
|
+ api = DataEngApi(self.user)
|
|
|
+
|
|
|
+ for _id in appid:
|
|
|
+ result = api.delete_cluster(_id)
|
|
|
+ if result.get('error'):
|
|
|
+ message['message'] = result.get('error')
|
|
|
+ message['status'] = -1
|
|
|
+ elif result.get('contents') and message.get('status') != -1:
|
|
|
+ message['message'] = result.get('contents')
|
|
|
+
|
|
|
+ return message;
|
|
|
|
|
|
|
|
|
def logs(self, appid, app_type, log_name=None, is_embeddable=False):
|
|
|
@@ -69,9 +83,9 @@ class DataEngClusterApi(Api):
|
|
|
return {}
|
|
|
|
|
|
def _api_status(self, status):
|
|
|
- if status in ['CREATING', 'CREATED', 'TERMINATING']:
|
|
|
+ if status in ['CREATING', 'CREATED']:
|
|
|
return 'RUNNING'
|
|
|
- elif status in ['ARCHIVING', 'COMPLETED']:
|
|
|
+ elif status in ['ARCHIVING', 'COMPLETED', 'TERMINATING']:
|
|
|
return 'SUCCEEDED'
|
|
|
else:
|
|
|
return 'FAILED' # KILLED and FAILED
|
|
|
@@ -102,11 +116,12 @@ class DataEngJobApi(Api):
|
|
|
'name': app['creationDate'],
|
|
|
'status': app['status'],
|
|
|
'apiStatus': self._api_status(app['status']),
|
|
|
- 'type': app['jobType'],
|
|
|
+ 'type': 'Altus %(jobType)s' % app,
|
|
|
'user': '',
|
|
|
'progress': 100,
|
|
|
'duration': 10 * 3600,
|
|
|
- 'submitted': app['creationDate']
|
|
|
+ 'submitted': app['creationDate'],
|
|
|
+ 'canWrite': True
|
|
|
} for app in jobs['jobs']],
|
|
|
'total': len(jobs)
|
|
|
}
|
|
|
@@ -125,6 +140,7 @@ class DataEngJobApi(Api):
|
|
|
'duration': 10 * 3600,
|
|
|
'submitted': job['creationDate'],
|
|
|
'type': 'dataeng-job-%s' % job['jobType'],
|
|
|
+ 'canWrite': True
|
|
|
}
|
|
|
|
|
|
common['properties'] = {
|