From 3b1474493c32b939fe47c00a66eeca33c8a934bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jarom=C3=ADr=20Wysoglad?= Date: Wed, 18 Oct 2023 08:18:00 +0200 Subject: [PATCH] Add devstack plugin (#118) * Add devstack plugin --- devstack/override-defaults | 0 devstack/plugin.sh | 51 ++++++++++++++++++++++++++++++++++++++ devstack/settings | 14 +++++++++++ devstack/sg-core.conf.yaml | 20 +++++++++++++++ 4 files changed, 85 insertions(+) create mode 100644 devstack/override-defaults create mode 100755 devstack/plugin.sh create mode 100644 devstack/settings create mode 100644 devstack/sg-core.conf.yaml diff --git a/devstack/override-defaults b/devstack/override-defaults new file mode 100644 index 00000000..e69de29b diff --git a/devstack/plugin.sh b/devstack/plugin.sh new file mode 100755 index 00000000..f2734547 --- /dev/null +++ b/devstack/plugin.sh @@ -0,0 +1,51 @@ +function preinstall_sg-core { + install_package $SG_CORE_CONTAINER_EXECUTABLE +} + +function install_sg-core { + $SG_CORE_CONTAINER_EXECUTABLE pull $SG_CORE_CONTAINER_IMAGE +} + +function configure_sg-core { + sudo mkdir -p `dirname $SG_CORE_CONF` + sudo cp $SG_CORE_DIR/devstack/sg-core.conf.yaml $SG_CORE_CONF +} + +function init_sg-core { + $SG_CORE_CONTAINER_EXECUTABLE run -v $SG_CORE_CONF:/etc/sg-core.conf.yaml --network host --name sg-core -d $SG_CORE_CONTAINER_IMAGE +} + +# check for service enabled +if is_service_enabled sg-core; then + + if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then + # Set up system services + echo_summary "Configuring system services sg-core" + preinstall_sg-core + + elif [[ "$1" == "stack" && "$2" == "install" ]]; then + # Perform installation of service source + echo_summary "Installing sg-core" + install_sg-core + + elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then + # Configure after the other layer 1 and 2 services have been configured + echo_summary "Configuring sg-core" + configure_sg-core + + elif [[ "$1" == "stack" && "$2" == "extra" ]]; then + # Initialize and start the sg-core service + echo_summary "Initializing sg-core" + init_sg-core + fi + + if [[ "$1" == "unstack" ]]; then + $SG_CORE_CONTAINER_EXECUTABLE stop sg-core + $SG_CORE_CONTAINER_EXECUTABLE rm sg-core + fi + + if [[ "$1" == "clean" ]]; then + $SG_CORE_CONTAINER_EXECUTABLE rmi sg-core:latest + fi +fi + diff --git a/devstack/settings b/devstack/settings new file mode 100644 index 00000000..3e00b4c4 --- /dev/null +++ b/devstack/settings @@ -0,0 +1,14 @@ +define_plugin sg-core +plugin_requires sg-core ceilometer +enable_service sg-core +enable_service ceilometer + +SG_CORE_DIR=$DEST/sg-core +SG_CORE_CONF_DIR=/etc/sg-core +SG_CORE_CONF=$SG_CORE_CONF_DIR/sg-core.conf.yaml + +SG_CORE_CONTAINER_REPOSITORY=${SG_CORE_CONTAINER_REPOSITORY:-quay.io/infrawatch/sg-core} +SG_CORE_CONTAINER_TAG=${SG_CORE_CONTAINER_TAG:-latest} +SG_CORE_CONTAINER_IMAGE=$SG_CORE_CONTAINER_REPOSITORY:$SG_CORE_CONTAINER_TAG + +SG_CORE_CONTAINER_EXECUTABLE="podman" diff --git a/devstack/sg-core.conf.yaml b/devstack/sg-core.conf.yaml new file mode 100644 index 00000000..dd9e8aec --- /dev/null +++ b/devstack/sg-core.conf.yaml @@ -0,0 +1,20 @@ +--- + +pluginDir: /usr/lib64/sg-core +logLevel: debug + +transports: + - name: socket + config: + type: tcp + socketaddr: 127.0.0.1:4242 + handlers: + - name: ceilometer-metrics + config: + source: tcp + +applications: + - name: prometheus + config: + host: 0.0.0.0 + port: 3000