def download_from_http(source_uri, rulesets_id=None): job = Job.create_job('download_from_http', source_uri) rulesets = list() if rulesets_id: for ruleset_id in rulesets_id: rulesets.append(RuleSetSuricata.get_by_id(ruleset_id)) try: source = SourceSuricata.get_by_uri(source_uri) if source is None: job.update_job("Error - source is None : " + str(source_uri), 'Error') return {"message": "Error - source is None : " + str(source_uri)} except Exception as e: logger.exception("Error for source to upload") job.update_job(repr_instance.repr(e), 'Error') return {"message": "Error for source to upload", "exception": str(e)} try: message = source.download_from_http(rulesets) job.update_job(message, 'Completed') logger.info("task - download_from_http : " + str(source_uri) + " - " + str(message)) except Exception as e: logger.exception("Error for source to upload") job.update_job(repr_instance.repr(e), 'Error') send_notification("Error for source " + str(source.uri), str(e)) return { "message": "Error for source " + str(source.uri) + " to upload", "exception": str(e) } return { "message": "Source " + str(source.uri) + " uploaded successfully by HTTP", "upload_message": message }
def deploy_critical_stack(api_key): job = Job.create_job('deploy_critical_stack', api_key) try: critical_stack = CriticalStack.objects.get(api_key=api_key) except CriticalStack.DoesNotExist: # pragma: no cover logger.exception() job.update_job( "Error - Critical Stack is None - param id not set : " + str(api_key), 'Error') return { "message": "Error - Critical Stack is None - param id not set : " + str(api_key) } else: try: response_deploy_critical_stack = critical_stack.deploy() if response_deploy_critical_stack['status']: job.update_job('Deployed Critical Stack successfully', 'Completed') elif not response_deploy_critical_stack[ 'status']: # pragma: no cover if 'errors' in response_deploy_critical_stack: job.update_job( 'Error during the critical stack deployed', 'Error: ' + str(api_key) + " - " + repr_instance.repr( response_deploy_critical_stack['errors'])) logger.error("task - deploy_critical_stack : " + str(api_key) + " - " + repr_instance.repr( response_deploy_critical_stack['errors'])) return { "message": "Error for Critical Stack " + str(api_key) + " to deploy", "exception": str(response_deploy_critical_stack['errors']) } else: job.update_job('Error during the critical stack deployed', 'Error: ' + str(api_key)) logger.error("task - deploy_critical_stack : " + str(api_key)) return { "message": "Error for Critical Stack " + str(api_key) + " to deploy", "exception": " " } except Exception as e: # pragma: no cover logger.exception('Error during the critical stack deployed') job.update_job(repr_instance.repr(e), 'Error') send_notification("Critical stack " + str(api_key), str(e)) return { "message": "Error for Critical Stack " + str(api_key) + " to deploy", "exception": str(e) } return { "message": "Critical Stack " + str(api_key) + ' deployed successfully' }
def setUpTestData(cls): now = datetime(year=2017, month=5, day=5, hour=12, tzinfo=pytz.UTC) before = now - timedelta(minutes=30) cls.job1 = Job.objects.create(name="test", probe="test", status='Error', result="", created=before, completed=now) cls.job2 = Job.create_job('test2', 'probe1')
def deploy_reputation_list(probe_name): job = Job.create_job('deploy_reputation_list', probe_name) probe = Probe.get_by_name(probe_name) if probe is None: return { "message": "Error - probe is None - param id not set : " + str(probe_name) } my_class = getattr(importlib.import_module(probe.type.lower() + ".models"), probe.type) probe = my_class.get_by_name(probe_name) try: response_cat = CategoryReputation.deploy(probe) response_ip = IPReputation.deploy(probe) if response_cat['status'] and response_ip['status']: job.update_job( str(response_cat) + " - " + str(response_ip), 'Completed') logger.info("task - deploy_reputation_list : " + str(probe_name) + " - " + str(response_cat) + " - " + str(response_ip)) else: logger.error(str(response_cat) + " - " + str(response_ip)) job.update_job( str(response_cat) + " - " + str(response_ip), 'Error') send_notification( "Error during deploy reputation list for " + str(probe.name), str(response_cat) + " - " + str(response_ip)) return { "message": "Error for probe " + str(probe.name) + " to deploy reputation list", "exception": str(response_cat) + " - " + str(response_ip) } except Exception as e: # pragma: no cover logger.exception(str(e)) job.update_job(repr_instance.repr(e), 'Error') send_notification( "Error during deploy reputation list for " + str(probe.name), str(e)) return { "message": "Error for probe " + str(probe.name) + " to deploy reputation list", "exception": str(e) } return { "message": "Probe " + str(probe.name) + " deployed successfully reputation list" }