mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-08 10:12:53 +01:00
add error check & retries to elastic_fleet_integration_policy_names and associated scripts
This commit is contained in:
@@ -158,6 +158,9 @@ so-elastic-agent-grid-upgrade:
|
|||||||
so-elastic-fleet-integration-upgrade:
|
so-elastic-fleet-integration-upgrade:
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- name: /usr/sbin/so-elastic-fleet-integration-upgrade
|
- name: /usr/sbin/so-elastic-fleet-integration-upgrade
|
||||||
|
- retry:
|
||||||
|
attempts: 3
|
||||||
|
interval: 10
|
||||||
|
|
||||||
so-elastic-fleet-addon-integrations:
|
so-elastic-fleet-addon-integrations:
|
||||||
cmd.run:
|
cmd.run:
|
||||||
|
|||||||
@@ -141,10 +141,11 @@ elastic_fleet_agent_policy_ids() {
|
|||||||
|
|
||||||
elastic_fleet_integration_policy_names() {
|
elastic_fleet_integration_policy_names() {
|
||||||
AGENT_POLICY=$1
|
AGENT_POLICY=$1
|
||||||
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X GET "localhost:5601/api/fleet/agent_policies/$AGENT_POLICY" | jq -r .item.package_policies[].name
|
if output=$(curl -sK /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X GET "localhost:5601/api/fleet/agent_policies/$AGENT_POLICY" --retry 3 --fail 2>/dev/null); then
|
||||||
if [ $? -ne 0 ]; then
|
echo "$output" | jq -r .item.package_policies[].name
|
||||||
|
else
|
||||||
echo "Error: Failed to retrieve integrations for '$AGENT_POLICY'."
|
echo "Error: Failed to retrieve integrations for '$AGENT_POLICY'."
|
||||||
exit 1
|
return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,10 @@ fi
|
|||||||
default_packages=({% for pkg in SUPPORTED_PACKAGES %}"{{ pkg }}"{% if not loop.last %} {% endif %}{% endfor %})
|
default_packages=({% for pkg in SUPPORTED_PACKAGES %}"{{ pkg }}"{% if not loop.last %} {% endif %}{% endfor %})
|
||||||
|
|
||||||
for AGENT_POLICY in $agent_policies; do
|
for AGENT_POLICY in $agent_policies; do
|
||||||
integrations=$(elastic_fleet_integration_policy_names "$AGENT_POLICY")
|
if ! integrations=$(elastic_fleet_integration_policy_names "$AGENT_POLICY")
|
||||||
|
# this script upgrades default integration packages, exit 1 and let salt handle retrying
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
for INTEGRATION in $integrations; do
|
for INTEGRATION in $integrations; do
|
||||||
if ! [[ "$INTEGRATION" == "elastic-defend-endpoints" ]] && ! [[ "$INTEGRATION" == "fleet_server-"* ]]; then
|
if ! [[ "$INTEGRATION" == "elastic-defend-endpoints" ]] && ! [[ "$INTEGRATION" == "fleet_server-"* ]]; then
|
||||||
# Get package name so we know what package to look for when checking the current and latest available version
|
# Get package name so we know what package to look for when checking the current and latest available version
|
||||||
|
|||||||
@@ -62,7 +62,12 @@ default_packages=({% for pkg in SUPPORTED_PACKAGES %}"{{ pkg }}"{% if not loop.l
|
|||||||
in_use_integrations=()
|
in_use_integrations=()
|
||||||
|
|
||||||
for AGENT_POLICY in $agent_policies; do
|
for AGENT_POLICY in $agent_policies; do
|
||||||
integrations=$(elastic_fleet_integration_policy_names "$AGENT_POLICY")
|
|
||||||
|
if ! integrations=$(elastic_fleet_integration_policy_names "$AGENT_POLICY"); then
|
||||||
|
# skip the agent policy if we can't get required info, let salt retry. Integrations loaded by this script are non-default integrations.
|
||||||
|
echo "Skipping $AGENT_POLICY.. "
|
||||||
|
continue
|
||||||
|
fi
|
||||||
for INTEGRATION in $integrations; do
|
for INTEGRATION in $integrations; do
|
||||||
PACKAGE_NAME=$(elastic_fleet_integration_policy_package_name "$AGENT_POLICY" "$INTEGRATION")
|
PACKAGE_NAME=$(elastic_fleet_integration_policy_package_name "$AGENT_POLICY" "$INTEGRATION")
|
||||||
# non-default integrations that are in-use in any policy
|
# non-default integrations that are in-use in any policy
|
||||||
|
|||||||
Reference in New Issue
Block a user