mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-11 11:42:50 +01:00
support for byodmodel
This commit is contained in:
@@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
{# Import defaults.yaml for model hardware capabilities #}
|
{# Import defaults.yaml for model hardware capabilities #}
|
||||||
{% import_yaml 'hypervisor/defaults.yaml' as DEFAULTS %}
|
{% import_yaml 'hypervisor/defaults.yaml' as DEFAULTS %}
|
||||||
|
{% set HYPERVISORMERGED = salt['pillar.get']('hypervisor', default=DEFAULTS.hypervisor, merge=True) %}
|
||||||
|
|
||||||
{# Get hypervisor nodes from pillar #}
|
{# Get hypervisor nodes from pillar #}
|
||||||
{% set NODES = salt['pillar.get']('hypervisor:nodes', {}) %}
|
{% set NODES = salt['pillar.get']('hypervisor:nodes', {}) %}
|
||||||
@@ -30,9 +31,10 @@
|
|||||||
{% set model = '' %}
|
{% set model = '' %}
|
||||||
{% if grains %}
|
{% if grains %}
|
||||||
{% set minion_id = grains.keys() | first %}
|
{% set minion_id = grains.keys() | first %}
|
||||||
{% set model = grains[minion_id].get('sosmodel', '') %}
|
{% set model = grains[minion_id].get('sosmodel', grains[minion_id].get('byodmodel', '')) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% set model_config = DEFAULTS.hypervisor.model.get(model, {}) %}
|
|
||||||
|
{% set model_config = HYPERVISORMERGED.model.get(model, {}) %}
|
||||||
|
|
||||||
{# Get VM list from VMs file #}
|
{# Get VM list from VMs file #}
|
||||||
{% set vms = {} %}
|
{% set vms = {} %}
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ def parse_hardware_indices(hw_value: Any) -> List[int]:
|
|||||||
return indices
|
return indices
|
||||||
|
|
||||||
def get_hypervisor_model(hypervisor: str) -> str:
|
def get_hypervisor_model(hypervisor: str) -> str:
|
||||||
"""Get sosmodel from hypervisor grains."""
|
"""Get sosmodel or byodmodel from hypervisor grains."""
|
||||||
try:
|
try:
|
||||||
# Get cached grains using Salt runner
|
# Get cached grains using Salt runner
|
||||||
grains = runner.cmd(
|
grains = runner.cmd(
|
||||||
@@ -283,9 +283,9 @@ def get_hypervisor_model(hypervisor: str) -> str:
|
|||||||
|
|
||||||
# Get the first minion ID that matches our hypervisor
|
# Get the first minion ID that matches our hypervisor
|
||||||
minion_id = next(iter(grains.keys()))
|
minion_id = next(iter(grains.keys()))
|
||||||
model = grains[minion_id].get('sosmodel')
|
model = grains[minion_id].get('sosmodel', grains[minion_id].get('byodmodel', ''))
|
||||||
if not model:
|
if not model:
|
||||||
raise ValueError(f"No sosmodel grain found for hypervisor {hypervisor}")
|
raise ValueError(f"No sosmodel or byodmodel grain found for hypervisor {hypervisor}")
|
||||||
|
|
||||||
log.debug("Found model %s for hypervisor %s", model, hypervisor)
|
log.debug("Found model %s for hypervisor %s", model, hypervisor)
|
||||||
return model
|
return model
|
||||||
|
|||||||
Reference in New Issue
Block a user