StarlingX Bare Metal and Node Management, Hardware Maintenance
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
2.3 KiB

#!/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