#!/bin/bash # # SPDX-License-Identifier: Apache-2.0 # # Copyright (C) 2019 Intel Corporation # # Devstack settings # This plugin is to enable StarlingX metal services and follows the # devstack plugin contract: # https://docs.openstack.org/devstack/latest/plugins.html#plugin-sh-contract # # Services can be seperatly enabled by node personality or components # unless they are coupled in functionality(e.g. mtcAgent/mtcClient). # Other flocks services sysinv/fm/sm/nfv required to bring up full # functionality maintenance services. # # Current configuration supports All-in-One simplex mode. # # Servcies # metal - Overall enable for this plugin # # mtce # mtce-control # mtce-compute # mtce-storage # # mtce-components (include all of the below) # fsmon # hbs # hwmon # mtcalarm # mtclog # pmon STX_METAL_NAME=metal ######### Plugin Specific ########## # Enable service for node type enable_service $STX_METAL_NAME # This must not use any variables to work properly in OpenStack's DevStack playbook define_plugin metal # This works for Zuul jobs using OpenStack's DevStack roles plugin_requires metal barbican plugin_requires metal fault if ! is_service_enabled barbican; then die $LINENO "Barbican is required" fi if is_service_enabled mtce-components; then enable_service fsmon hbs hwmon mtce mtcalarm mtclog pmon fi # Be careful to enable hostw, it will restart your host # if some config is not correct #enable_service hostw if is_service_enabled mtce-compute; then # update enable_service tsconfig fi # run_process checks whether the service name is enabled or not if is_service_enabled hbs; then # enable hbsAgent/hbsClient service as part of hbs service enable_service hbsAgent enable_service hbsClient fi if is_service_enabled mtce; then # enable mtcAgent/mtcClient service as part of mtce service enable_service mtcAgent enable_service mtcClient fi if is_service_enabled hwmon && is_plugin_enabled config; then enable_service sysinv fi if is_service_enabled mtcAgent; then if [ $(hostname) != "controller-0" ] && [ $(hostname) != "controller-1" ]; then # mtcAgent requires that hostname must be "controller-0" or "controller-1" echo_summary "hostname doesn't meet requirements, so disable mtcAgent" disable_service mtcAgent fi fi # Initial source of lib script source $DEST/metal/devstack/lib/metal