Bläddra i källkod

HUE-8554 [cluster] Create data warehouse cluster skeleton

Romain Rigaux 7 år sedan
förälder
incheckning
53a8762

+ 29 - 13
apps/jobbrowser/src/jobbrowser/templates/job_browser.mako

@@ -2664,19 +2664,35 @@ ${ commonheader("Job Browser", "jobbrowser", user, request) | n,unicode }
       };
 
       self.createCluster = function() {
-         $.post("/metadata/api/dataeng/create_cluster/", {
-            "cluster_name": "cluster_name",
-            "cdh_version": "CDH514",
-            "public_key": "public_key",
-            "instance_type": "m4.xlarge",
-            "environment_name": "crn:altus:environments:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:environment:analytics/236ebdda-18bd-428a-9d2b-cd6973d42946",
-            "workers_group_size": "3",
-            "namespace_name": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:analytics/7ea35fe5-dbc9-4b17-92b1-97a1ab32e410"
-          }, function(data) {
-            console.log(ko.mapping.toJSON(data));
-            $(document).trigger("info", ko.mapping.toJSON(data));
-            self.updateJobs();
-          });
+        $.post("/metadata/api/dataeng/create_cluster/", {
+          "cluster_name": "cluster_name",
+          "cdh_version": "CDH515",
+          "public_key": "public_key",
+          "instance_type": "m4.xlarge",
+          "environment_name": "crn:altus:environments:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:environment:analytics/236ebdda-18bd-428a-9d2b-cd6973d42946",
+          "workers_group_size": "3",
+          "namespace_name": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:analytics/7ea35fe5-dbc9-4b17-92b1-97a1ab32e410"
+        }, function(data) {
+          console.log(ko.mapping.toJSON(data));
+          $(document).trigger("info", ko.mapping.toJSON(data));
+          self.updateJobs();
+        });
+      }
+
+      self.createDataWarehouseCluster = function() {
+        $.post("/metadata/api/analytic_db/create_cluster/", {
+          "cluster_name": "cluster_name",
+          "cdh_version": "CDH515",
+          "public_key": "public_key",
+          "instance_type": "m4.xlarge",
+          "environment_name": "crn:altus:environments:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:environment:jheyming-secure/b4e6d99a-261f-4ada-9b4a-576aa0af8979",
+          "workers_group_size": "3",
+          "namespace_name": "crn:altus:sdx:us-west-1:12a0079b-1591-4ca0-b721-a446bda74e67:namespace:analytics/7ea35fe5-dbc9-4b17-92b1-97a1ab32e410"
+        }, function(data) {
+          console.log(ko.mapping.toJSON(data));
+          $(document).trigger("info", ko.mapping.toJSON(data));
+          self.updateJobs();
+        });
       }
 
       self.control = function (action) {

+ 7 - 7
desktop/libs/metadata/src/metadata/analytic_db_api.py

@@ -49,13 +49,13 @@ def error_handler(view_fn):
 def create_cluster(request):
   response = {'status': -1}
 
-  cluster_name = json.loads(request.POST.get('cluster_name'))
-  cdh_version = json.loads(request.POST.get('cdh_version'))
-  public_key = json.loads(request.POST.get('public_key'))
-  instance_type = json.loads(request.POST.get('instance_type', "workers_group_size"''))
-  environment_name = json.loads(request.POST.get('environment_name'))
-  workers_group_size = json.loads(request.POST.get('workers_group_size', '3'))
-  namespace_name = json.loads(request.POST.get('namespace_name', 'null'))
+  cluster_name = request.POST.get('cluster_name')
+  cdh_version = request.POST.get('cdh_version')
+  public_key = request.POST.get('public_key')
+  instance_type = request.POST.get('instance_type', "workers_group_size"'')
+  environment_name = request.POST.get('environment_name')
+  workers_group_size = request.POST.get('workers_group_size', '3')
+  namespace_name = request.POST.get('namespace_name', 'null')
 
   api = AnalyticDbApi(request.user)
   data = api.create_cluster(

+ 14 - 6
desktop/libs/notebook/src/notebook/connectors/altus.py

@@ -232,23 +232,31 @@ class AnalyticDbApi():
 
   def __init__(self, user): pass
 
-  def create_cluster(self, cloud_provider, cluster_name, cdh_version, public_key, instance_type, environment_name, workers_group_size=3, namespace_name=None):
-    # [--cloudera-manager-username <value>]
-    # [--cloudera-manager-password <value>]
+  def create_cluster(self, cloud_provider, cluster_name, cdh_version, public_key, instance_type, environment_name, workers_group_size=3, namespace_name=None,
+        cloudera_manager_username='hue', cloudera_manager_password='hue'):
 
-    params = { # cloud_provider: AWS, Azure...
+    params = {
       'clusterName': cluster_name,
       'cdhVersion': cdh_version,
       'publicKey': public_key,
       'instanceType': instance_type,
       'environmentName': environment_name,
-      'workersGroupSize': workers_group_size
+      'workersGroupSize': workers_group_size,
+      'workersConfiguration': {},
+      'clouderaManagerUsername': cloudera_manager_username,
+      'clouderaManagerPassword': cloudera_manager_password,
+      'retypedPassword': cloudera_manager_password
     }
 
     if namespace_name:
       params['namespaceName'] = namespace_name
 
-    return _exec('analyticdb', 'createAWSCluster', params)
+    if cloud_provider == 'aws':
+      command = 'createAWSCluster'
+    else:
+      command = 'createAzureCluster'
+
+    return _exec('analyticdb', command, params)
 
   def list_clusters(self):
     """