mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-09 10:42:54 +01:00
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
#!py
|
|
|
|
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
|
|
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
|
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
|
# Elastic License 2.0.
|
|
|
|
import logging
|
|
from subprocess import call
|
|
import yaml
|
|
|
|
log = logging.getLogger(__name__)
|
|
|
|
def run():
|
|
log.info('sominion_setup_reactor: Running')
|
|
minionid = data['id']
|
|
DATA = data['data']
|
|
hv_name = DATA['HYPERVISOR_HOST']
|
|
log.info('sominion_setup_reactor: DATA: %s' % DATA)
|
|
|
|
# Build the base command
|
|
cmd = "NODETYPE=" + DATA['NODETYPE'] + " /usr/sbin/so-minion -o=addVM -m=" + minionid + " -n=" + DATA['MNIC'] + " -i=" + DATA['MAINIP'] + " -c=" + str(DATA['CPUCORES']) + " -d='" + DATA['NODE_DESCRIPTION'] + "'"
|
|
|
|
# Add optional arguments only if they exist in DATA
|
|
if 'CORECOUNT' in DATA:
|
|
cmd += " -C=" + str(DATA['CORECOUNT'])
|
|
|
|
if 'INTERFACE' in DATA:
|
|
cmd += " -a=" + DATA['INTERFACE']
|
|
|
|
if 'ES_HEAP_SIZE' in DATA:
|
|
cmd += " -e=" + DATA['ES_HEAP_SIZE']
|
|
|
|
if 'LS_HEAP_SIZE' in DATA:
|
|
cmd += " -l=" + DATA['LS_HEAP_SIZE']
|
|
|
|
if 'LSHOSTNAME' in DATA:
|
|
cmd += " -L=" + DATA['LSHOSTNAME']
|
|
|
|
log.info('sominion_setup_reactor: Command: %s' % cmd)
|
|
rc = call(cmd, shell=True)
|
|
|
|
log.info('sominion_setup_reactor: rc: %s' % rc)
|
|
|
|
return {}
|