def __init__(self, request, *args, **kwargs): super(JobExecutionInterfaceConfigAction, self).__init__( request, *args, **kwargs) job_id = (request.GET.get("job_id") or request.POST.get("job")) job = saharaclient.job_get(request, job_id) interface = job.interface or [] interface_args = {} req = request.GET or request.POST job_ex_id = req.get("job_execution_id") if job_ex_id is not None: job_ex = saharaclient.job_execution_get(request, job_ex_id) job = saharaclient.job_get(request, job_ex.job_id) job_configs, interface_args = _merge_interface_with_configs( job.interface, job_ex.job_configs) for argument in interface: field = forms.CharField( required=argument.get('required'), label=argument['name'], initial=(interface_args.get(argument['id']) or argument.get('default')), help_text=argument.get('description'), widget=forms.TextInput() ) self.fields['argument_%s' % argument['id']] = field self.fields['argument_ids'] = forms.CharField( initial=json.dumps({argument['id']: argument['name'] for argument in interface}), widget=forms.HiddenInput() )
def get_context_data(self, request): jex_id = self.tab_group.kwargs['job_execution_id'] try: job_execution = saharaclient.job_execution_get(request, jex_id) except Exception as e: job_execution = {} LOG.error("Unable to fetch job details: %s" % str(e)) return {"job_execution": job_execution} object_names = self.get_object_names(job_execution, request) try: object_names['input_url'] = job_execution.data_source_urls.get( job_execution.input_id) except Exception as e: LOG.error("Unable to fetch input url: %s", e) object_names["input_url"] = "None" try: object_names['output_url'] = job_execution.data_source_urls.get( job_execution.output_id) except Exception as e: LOG.error("Unable to fetch output url: %s", e) object_names["output_url"] = "None" return {"job_execution": job_execution, "object_names": object_names}
def __init__(self, request, *args, **kwargs): super(JobConfigAction, self).__init__(request, *args, **kwargs) req = request.GET or request.POST job_ex_id = req.get("job_execution_id") if job_ex_id is not None: job_ex = saharaclient.job_execution_get(request, job_ex_id) try: jt_id = job_ex.job_template_id # typical APIv2 except AttributeError: jt_id = job_ex.job_id # APIv1.1, older APIv2 job = saharaclient.job_get(request, jt_id) job_configs, interface_args = _merge_interface_with_configs( job.interface, job_ex.job_configs) edp_configs = {} if 'configs' in job_configs: configs, edp_configs = ( self.clean_edp_configs(job_configs['configs'])) self.fields['job_configs'].initial = ( json.dumps(configs)) if 'params' in job_configs: self.fields['job_params'].initial = ( json.dumps(job_configs['params'])) if 'args' in job_configs: self.fields['job_args_array'].initial = ( json.dumps(job_configs['args'])) if self.MAIN_CLASS in edp_configs: self.fields['main_class'].initial = ( edp_configs[self.MAIN_CLASS]) if self.STORM_PYLEUS_TOPOLOGY_NAME in edp_configs: self.fields['topology_name'].initial = ( edp_configs[self.STORM_PYLEUS_TOPOLOGY_NAME]) if self.JAVA_OPTS in edp_configs: self.fields['java_opts'].initial = ( edp_configs[self.JAVA_OPTS]) if self.EDP_MAPPER in edp_configs: self.fields['streaming_mapper'].initial = ( edp_configs[self.EDP_MAPPER]) if self.EDP_REDUCER in edp_configs: self.fields['streaming_reducer'].initial = ( edp_configs[self.EDP_REDUCER]) if self.EDP_HBASE_COMMON_LIB in edp_configs: self.fields['hbase_common_lib'].initial = ( edp_configs[self.EDP_HBASE_COMMON_LIB]) if self.EDP_ADAPT_FOR_OOZIE in edp_configs: self.fields['adapt_oozie'].initial = ( edp_configs[self.EDP_ADAPT_FOR_OOZIE]) if self.EDP_ADAPT_SPARK_SWIFT in edp_configs: self.fields['adapt_spark_swift'].initial = ( edp_configs[self.EDP_ADAPT_SPARK_SWIFT]) if (self.EDP_SUBST_DATASOURCE_NAME in edp_configs or self.EDP_SUBST_DATASOURCE_UUID in edp_configs): self.fields['datasource_substitute'].initial = ( edp_configs.get(self.EDP_SUBST_DATASOURCE_UUID, True) or edp_configs.get(self.EDP_SUBST_DATASOURCE_NAME, True))
def get_object(self): jex_id = self.kwargs["job_execution_id"] try: return saharaclient.job_execution_get(self.request, jex_id) except Exception: msg = _('Unable to retrieve details for job "%s".') % jex_id redirect = self.get_redirect_url() exceptions.handle(self.request, msg, redirect=redirect)
def get_data(self, request, job_execution_id): try: return saharaclient.job_execution_get(request, job_execution_id) except api_base.APIException as e: if e.error_code == 404: raise Http404 else: messages.error(request, _("Unable to update row"))
def __init__(self, request, *args, **kwargs): super(JobConfigAction, self).__init__(request, *args, **kwargs) job_ex_id = request.REQUEST.get("job_execution_id") if job_ex_id is not None: job_ex = saharaclient.job_execution_get(request, job_ex_id) job = saharaclient.job_get(request, job_ex.job_id) job_configs, interface_args = _merge_interface_with_configs( job.interface, job_ex.job_configs) edp_configs = {} if 'configs' in job_configs: configs, edp_configs = ( self.clean_edp_configs(job_configs['configs'])) self.fields['job_configs'].initial = ( json.dumps(configs)) if 'params' in job_configs: self.fields['job_params'].initial = ( json.dumps(job_configs['params'])) if 'args' in job_configs: self.fields['job_args_array'].initial = ( json.dumps(job_configs['args'])) if self.MAIN_CLASS in edp_configs: self.fields['main_class'].initial = ( edp_configs[self.MAIN_CLASS]) if self.JAVA_OPTS in edp_configs: self.fields['java_opts'].initial = ( edp_configs[self.JAVA_OPTS]) if self.EDP_MAPPER in edp_configs: self.fields['streaming_mapper'].initial = ( edp_configs[self.EDP_MAPPER]) if self.EDP_REDUCER in edp_configs: self.fields['streaming_reducer'].initial = ( edp_configs[self.EDP_REDUCER]) if self.EDP_HBASE_COMMON_LIB in edp_configs: self.fields['hbase_common_lib'].initial = ( edp_configs[self.EDP_HBASE_COMMON_LIB]) if self.EDP_ADAPT_FOR_OOZIE in edp_configs: self.fields['adapt_oozie'].initial = ( edp_configs[self.EDP_ADAPT_FOR_OOZIE]) if self.EDP_ADAPT_SPARK_SWIFT in edp_configs: self.fields['adapt_spark_swift'].initial = ( edp_configs[self.EDP_ADAPT_SPARK_SWIFT]) if (self.EDP_SUBST_DATASOURCE_NAME in edp_configs or self.EDP_SUBST_DATASOURCE_UUID in edp_configs): self.fields['datasource_substitute'].initial = ( edp_configs.get(self.EDP_SUBST_DATASOURCE_UUID, True) or edp_configs.get(self.EDP_SUBST_DATASOURCE_NAME, True))
def get_context_data(self, request): jex_id = self.tab_group.kwargs['job_execution_id'] try: job_execution = saharaclient.job_execution_get(request, jex_id) except Exception as e: job_execution = {} LOG.error("Unable to fetch job details: %s" % str(e)) return {"job_execution": job_execution} object_names = self.get_object_names(job_execution, request) try: object_names['input_url'] = job_execution.data_source_urls.get( job_execution.input_id) except Exception as e: LOG.error("Unable to fetch input url: %s", e) object_names["input_url"] = "None" try: object_names['output_url'] = job_execution.data_source_urls.get( job_execution.output_id) except Exception as e: LOG.error("Unable to fetch output url: %s", e) object_names["output_url"] = "None" if saharaclient.VERSIONS.active == '2': job_execution_engine_job_attr = "engine_job_id" job_execution_engine_job_attr_pretty = _("Engine Job ID") else: job_execution_engine_job_attr = "oozie_job_id" job_execution_engine_job_attr_pretty = _("Oozie Job ID") job_execution_engine_job_id = getattr(job_execution, job_execution_engine_job_attr) return { "job_execution": job_execution, "object_names": object_names, "job_execution_engine_job_id": job_execution_engine_job_id, "job_execution_engine_job_attr_pretty": job_execution_engine_job_attr_pretty }
def __init__(self, request, *args, **kwargs): super(SelectPluginForJobLaunchAction, self).__init__(request, *args, **kwargs) self.fields["job_id"] = forms.ChoiceField( label=_("Plugin name"), initial=request.GET.get("job_id") or request.POST.get("job_id"), widget=forms.HiddenInput(attrs={"class": "hidden_create_field"})) self.fields["job_configs"] = forms.ChoiceField( label=_("Job configs"), widget=forms.HiddenInput(attrs={"class": "hidden_create_field"})) self.fields["job_args"] = forms.ChoiceField( label=_("Job args"), widget=forms.HiddenInput(attrs={"class": "hidden_create_field"})) self.fields["job_params"] = forms.ChoiceField( label=_("Job params"), widget=forms.HiddenInput(attrs={"class": "hidden_create_field"})) req = request.GET or request.POST job_ex_id = req.get("job_execution_id") if job_ex_id is not None: self.fields["job_execution_id"] = forms.ChoiceField( label=_("Job Execution ID"), initial=job_ex_id, widget=forms.HiddenInput( attrs={"class": "hidden_create_field"})) job_configs = ( saharaclient.job_execution_get(request, job_ex_id).job_configs) if "configs" in job_configs: self.fields["job_configs"].initial = ( json.dumps(job_configs["configs"])) if "params" in job_configs: self.fields["job_params"].initial = ( json.dumps(job_configs["params"])) if "args" in job_configs: self.fields["job_args"].initial = ( json.dumps(job_configs["args"]))
def get_context_data(self, request): jex_id = self.tab_group.kwargs['job_execution_id'] try: job_execution = saharaclient.job_execution_get(request, jex_id) except Exception as e: job_execution = {} LOG.error("Unable to fetch job details: %s" % str(e)) return {"job_execution": job_execution} object_names = self.get_object_names(job_execution, request) try: object_names['input_url'] = job_execution.data_source_urls.get( job_execution.input_id) except Exception as e: LOG.error("Unable to fetch input url: %s", e) object_names["input_url"] = "None" try: object_names['output_url'] = job_execution.data_source_urls.get( job_execution.output_id) except Exception as e: LOG.error("Unable to fetch output url: %s", e) object_names["output_url"] = "None" if saharaclient.VERSIONS.active == '2': job_execution_engine_job_attr = "engine_job_id" job_execution_engine_job_attr_pretty = _("Engine Job ID") else: job_execution_engine_job_attr = "oozie_job_id" job_execution_engine_job_attr_pretty = _("Oozie Job ID") job_execution_engine_job_id = getattr(job_execution, job_execution_engine_job_attr) return {"job_execution": job_execution, "object_names": object_names, "job_execution_engine_job_id": job_execution_engine_job_id, "job_execution_engine_job_attr_pretty": job_execution_engine_job_attr_pretty}