@@ -163,14 +163,16 @@ def cluster_copy(self, cluster_id: str, source_path: str, destination_path: str)
163163 '''
164164 def submit_job (self , job_configuration ):
165165 try :
166+ job_configuration .validate ()
166167 cluster_data = self ._get_cluster_data (job_configuration .id )
167- node_data = NodeData (job_configuration .as_cluster_config ()).add_core ().done ()
168+ node_data = NodeData (job_configuration .to_cluster_config ()).add_core ().done ()
168169 zip_resource_files = cluster_data .upload_node_data (node_data ).to_resource_file ()
169170
170171 start_task = create_cluster_helper .generate_cluster_start_task (self ,
171172 zip_resource_files ,
172173 job_configuration .gpu_enabled ,
173174 job_configuration .docker_repo ,
175+ mixed_mode = job_configuration .mixed_mode (),
174176 worker_on_master = job_configuration .worker_on_master )
175177
176178 application_tasks = []
@@ -189,17 +191,10 @@ def submit_job(self, job_configuration):
189191 offer = 'UbuntuServer' ,
190192 sku = '16.04' )
191193
192- if job_configuration .max_dedicated_nodes and not job_configuration .max_low_pri_nodes :
193- autoscale_formula = "maxNumberofVMs = {0}; targetNumberofVMs = {1};" \
194- " $TargetDedicatedNodes=min(maxNumberofVMs, targetNumberofVMs)" .format (
195- job_configuration .max_dedicated_nodes , job_configuration .max_dedicated_nodes )
196- elif job_configuration .max_low_pri_nodes and not job_configuration .max_dedicated_nodes :
197- autoscale_formula = "maxNumberofVMs = {0}; targetNumberofVMs = {1};" \
198- " $TargetLowPriorityNodes=min(maxNumberofVMs, targetNumberofVMs)" .format (
199- job_configuration .max_low_pri_nodes , job_configuration .max_low_pri_nodes )
200- else :
201- raise error .AztkError ("Jobs do not support both dedicated and low priority nodes." \
202- " JobConfiguration fields max_dedicated_nodes and max_low_pri_nodes are mutually exclusive values." )
194+ autoscale_formula = "$TargetDedicatedNodes = {0}; " \
195+ "$TargetLowPriorityNodes = {1}" .format (
196+ job_configuration .max_dedicated_nodes ,
197+ job_configuration .max_low_pri_nodes )
203198
204199 job = self .__submit_job (
205200 job_configuration = job_configuration ,
0 commit comments