Add new roles for Ceph containerization
With the move to containers, Ceph OSDs may be combined with other Ceph services and dedicated Ceph monitors on controllers will be used less. Popular Ceph roles which include OSDs are Ceph file, object and nodes which can run all Ceph services. This pattern will also apply to HCI roles. This change adds the following pre-composed roles to make it easier for users to use these patterns: - CephAll: Standalone Storage Full Role (OSD + MON + RGW + MDS + MGR + RBD Mirroring) - CephFile: Standalone Scale-out File Role (OSD + MDS) - CephObject: Standalone Scale-out Object Role (OSD + RGW) - HciCephAll: HCI Full Stack Role (OSD + MON + Nova + RGW + MDS + MGR + RBD Mirroring) - HciCephFile: HCI Scale-out File Role (OSD + Nova + MDS) - HciCephObject: HCI Scale-out Object Role (OSD + Nova + RGW) - HciCephMon: HCI Scale-out Block Full Role (OSD + MON + MGR + Nova) - ControllerNoCeph: OpenStack Controller without any Ceph Services Change-Id: Idce7aa04753eadb459124d6095efd1fe2cc95c17
This commit is contained in:
parent
309e409c37
commit
e5cda83954
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
With the move to containers, Ceph OSDs may be combined with other
|
||||||
|
Ceph services and dedicated Ceph monitors on controllers may be
|
||||||
|
used less. Popular Ceph roles which include OSDs are Ceph file,
|
||||||
|
object and nodes which run all Ceph services. This pattern also
|
||||||
|
applies to Hyper Converged (HCI) roles. The following pre-composed
|
||||||
|
roles have been added to make it easier to deploy in this pattern.
|
||||||
|
- CephAll: Standalone Storage Full Role
|
||||||
|
- CephFile: Standalone Scale-out File Role
|
||||||
|
- CephObject: Standalone Scale-out Object Role
|
||||||
|
- HciCephAll: HCI Full Stack Role
|
||||||
|
- HciCephFile: HCI Scale-out File Role
|
||||||
|
- HciCephObject: HCI Scale-out Object Role
|
||||||
|
- HciCephMon: HCI Scale-out Block Full Role
|
||||||
|
- ControllerNoCeph: OpenStack Controller without any Ceph Services
|
39
roles/CephAll.yaml
Normal file
39
roles/CephAll.yaml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: CephAll #
|
||||||
|
###############################################################################
|
||||||
|
- name: CephAll
|
||||||
|
description: |
|
||||||
|
Standalone Storage Full Role (OSD + MON + RGW + MDS + MGR + RBD Mirroring)
|
||||||
|
networks:
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
HostnameFormatDefault: '%stackname%-ceph-all-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephMgr
|
||||||
|
- OS::TripleO::Services::CephMon
|
||||||
|
- OS::TripleO::Services::CephRbdMirror
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
35
roles/CephFile.yaml
Normal file
35
roles/CephFile.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: CephFile #
|
||||||
|
###############################################################################
|
||||||
|
- name: CephFile
|
||||||
|
description: |
|
||||||
|
Standalone Scale-out File Role (OSD + MDS)
|
||||||
|
networks:
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
HostnameFormatDefault: '%stackname%-ceph-file-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
35
roles/CephObject.yaml
Normal file
35
roles/CephObject.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: CephObject #
|
||||||
|
###############################################################################
|
||||||
|
- name: CephObject
|
||||||
|
description: |
|
||||||
|
Standalone Scale-out Object Role (OSD + RGW)
|
||||||
|
networks:
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
HostnameFormatDefault: '%stackname%-ceph-object-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
148
roles/ControllerNoCeph.yaml
Normal file
148
roles/ControllerNoCeph.yaml
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: ControllerNoCeph #
|
||||||
|
###############################################################################
|
||||||
|
- name: ControllerNoCeph
|
||||||
|
description: |
|
||||||
|
Controller role that has all the controller services loaded and handles
|
||||||
|
Database, Messaging and Network functions but not any Ceph server functions.
|
||||||
|
CountDefault: 0
|
||||||
|
tags:
|
||||||
|
- primary
|
||||||
|
- controller
|
||||||
|
networks:
|
||||||
|
- External
|
||||||
|
- InternalApi
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
- Tenant
|
||||||
|
HostnameFormatDefault: '%stackname%-controller-no-ceph-%index%'
|
||||||
|
# Deprecated & backward-compatible values (FIXME: Make parameters consistent)
|
||||||
|
# Set uses_deprecated_params to True if any deprecated params are used.
|
||||||
|
uses_deprecated_params: True
|
||||||
|
deprecated_param_extraconfig: 'controllerExtraConfig'
|
||||||
|
deprecated_param_flavor: 'OvercloudControlFlavor'
|
||||||
|
deprecated_param_image: 'controllerImage'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AodhApi
|
||||||
|
- OS::TripleO::Services::AodhEvaluator
|
||||||
|
- OS::TripleO::Services::AodhListener
|
||||||
|
- OS::TripleO::Services::AodhNotifier
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::BarbicanApi
|
||||||
|
- OS::TripleO::Services::BarbicanBackendSimpleCrypto
|
||||||
|
- OS::TripleO::Services::BarbicanBackendDogtag
|
||||||
|
- OS::TripleO::Services::BarbicanBackendKmip
|
||||||
|
- OS::TripleO::Services::BarbicanBackendPkcs11Crypto
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CeilometerAgentCentral
|
||||||
|
- OS::TripleO::Services::CeilometerAgentNotification
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::CinderApi
|
||||||
|
- OS::TripleO::Services::CinderBackendDellPs
|
||||||
|
- OS::TripleO::Services::CinderBackendDellSc
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCUnity
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
|
||||||
|
- OS::TripleO::Services::CinderBackendNetApp
|
||||||
|
- OS::TripleO::Services::CinderBackendScaleIO
|
||||||
|
- OS::TripleO::Services::CinderBackendVRTSHyperScale
|
||||||
|
- OS::TripleO::Services::CinderBackup
|
||||||
|
- OS::TripleO::Services::CinderHPELeftHandISCSI
|
||||||
|
- OS::TripleO::Services::CinderScheduler
|
||||||
|
- OS::TripleO::Services::CinderVolume
|
||||||
|
- OS::TripleO::Services::Clustercheck
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Congress
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Ec2Api
|
||||||
|
- OS::TripleO::Services::Etcd
|
||||||
|
- OS::TripleO::Services::ExternalSwiftProxy
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::GlanceApi
|
||||||
|
- OS::TripleO::Services::GnocchiApi
|
||||||
|
- OS::TripleO::Services::GnocchiMetricd
|
||||||
|
- OS::TripleO::Services::GnocchiStatsd
|
||||||
|
- OS::TripleO::Services::HAproxy
|
||||||
|
- OS::TripleO::Services::HeatApi
|
||||||
|
- OS::TripleO::Services::HeatApiCfn
|
||||||
|
- OS::TripleO::Services::HeatEngine
|
||||||
|
- OS::TripleO::Services::Horizon
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::IronicApi
|
||||||
|
- OS::TripleO::Services::IronicConductor
|
||||||
|
- OS::TripleO::Services::IronicPxe
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Keepalived
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::Keystone
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::ManilaApi
|
||||||
|
- OS::TripleO::Services::ManilaBackendCephFs
|
||||||
|
- OS::TripleO::Services::ManilaBackendIsilon
|
||||||
|
- OS::TripleO::Services::ManilaBackendNetapp
|
||||||
|
- OS::TripleO::Services::ManilaBackendUnity
|
||||||
|
- OS::TripleO::Services::ManilaBackendVNX
|
||||||
|
- OS::TripleO::Services::ManilaBackendVMAX
|
||||||
|
- OS::TripleO::Services::ManilaScheduler
|
||||||
|
- OS::TripleO::Services::ManilaShare
|
||||||
|
- OS::TripleO::Services::Memcached
|
||||||
|
- OS::TripleO::Services::MongoDb
|
||||||
|
- OS::TripleO::Services::MySQL
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronApi
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnApi
|
||||||
|
- OS::TripleO::Services::NeutronSfcApi
|
||||||
|
- OS::TripleO::Services::NeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::NeutronDhcpAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwApi
|
||||||
|
- OS::TripleO::Services::NeutronL3Agent
|
||||||
|
- OS::TripleO::Services::NeutronLbaasv2Agent
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuCfab
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuFossw
|
||||||
|
- OS::TripleO::Services::NeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaApi
|
||||||
|
- OS::TripleO::Services::NovaConductor
|
||||||
|
- OS::TripleO::Services::NovaConsoleauth
|
||||||
|
- OS::TripleO::Services::NovaIronic
|
||||||
|
- OS::TripleO::Services::NovaMetadata
|
||||||
|
- OS::TripleO::Services::NovaPlacement
|
||||||
|
- OS::TripleO::Services::NovaScheduler
|
||||||
|
- OS::TripleO::Services::NovaVncProxy
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OctaviaApi
|
||||||
|
- OS::TripleO::Services::OctaviaHealthManager
|
||||||
|
- OS::TripleO::Services::OctaviaHousekeeping
|
||||||
|
- OS::TripleO::Services::OctaviaWorker
|
||||||
|
- OS::TripleO::Services::OpenDaylightApi
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::OVNDBs
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::Pacemaker
|
||||||
|
- OS::TripleO::Services::PankoApi
|
||||||
|
- OS::TripleO::Services::RabbitMQ
|
||||||
|
- OS::TripleO::Services::Redis
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::SaharaApi
|
||||||
|
- OS::TripleO::Services::SaharaEngine
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::SkydiveAnalyzer
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::SwiftProxy
|
||||||
|
- OS::TripleO::Services::SwiftDispersion
|
||||||
|
- OS::TripleO::Services::SwiftRingBuilder
|
||||||
|
- OS::TripleO::Services::SwiftStorage
|
||||||
|
- OS::TripleO::Services::Tacker
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::Zaqar
|
59
roles/HciCephAll.yaml
Normal file
59
roles/HciCephAll.yaml
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: HciCephAll #
|
||||||
|
###############################################################################
|
||||||
|
- name: HciCephAll
|
||||||
|
description: |
|
||||||
|
HCI Full Stack Role (OSD + MON + Nova + RGW + MDS + MGR + RBD Mirroring)
|
||||||
|
networks:
|
||||||
|
- InternalApi
|
||||||
|
- Tenant
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
HostnameFormatDefault: '%stackname%-hci-ceph-all-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephMgr
|
||||||
|
- OS::TripleO::Services::CephMon
|
||||||
|
- OS::TripleO::Services::CephRbdMirror
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
55
roles/HciCephFile.yaml
Normal file
55
roles/HciCephFile.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: HciCephFile #
|
||||||
|
###############################################################################
|
||||||
|
- name: HciCephFile
|
||||||
|
description: |
|
||||||
|
HCI Scale-out File Role (OSD + Nova + MDS)
|
||||||
|
networks:
|
||||||
|
- InternalApi
|
||||||
|
- Tenant
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
HostnameFormatDefault: '%stackname%-hci-ceph-file-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
56
roles/HciCephMon.yaml
Normal file
56
roles/HciCephMon.yaml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: HciCephMon #
|
||||||
|
###############################################################################
|
||||||
|
- name: HciCephMon
|
||||||
|
description: |
|
||||||
|
HCI Scale-out Block Full Role (OSD + MON + MGR + Nova)
|
||||||
|
networks:
|
||||||
|
- InternalApi
|
||||||
|
- Tenant
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
HostnameFormatDefault: '%stackname%-hci-ceph-mon-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephMgr
|
||||||
|
- OS::TripleO::Services::CephMon
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
55
roles/HciCephObject.yaml
Normal file
55
roles/HciCephObject.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Role: HciCephObject #
|
||||||
|
###############################################################################
|
||||||
|
- name: HciCephObject
|
||||||
|
description: |
|
||||||
|
HCI Scale-out Object Role (OSD + Nova + RGW)
|
||||||
|
networks:
|
||||||
|
- InternalApi
|
||||||
|
- Tenant
|
||||||
|
- Storage
|
||||||
|
- StorageMgmt
|
||||||
|
disable_upgrade_deployment: True
|
||||||
|
HostnameFormatDefault: '%stackname%-hci-ceph-object-%index%'
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CephClient
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CephOSD
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ComputeCeilometerAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::ComputeNeutronL3Agent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::ComputeNeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Fluentd
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnBagpipe
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NovaCompute
|
||||||
|
- OS::TripleO::Services::NovaLibvirt
|
||||||
|
- OS::TripleO::Services::NovaMigrationTarget
|
||||||
|
- OS::TripleO::Services::Ntp
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OpenDaylightOvs
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SensuClient
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::OVNController
|
@ -222,11 +222,94 @@ def validate_hci_computehci_role(hci_role_filename, hci_role_tpl):
|
|||||||
hci_role_services = role['ServicesDefault']
|
hci_role_services = role['ServicesDefault']
|
||||||
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
||||||
if sorted(hci_role_services) != sorted(compute_role_services):
|
if sorted(hci_role_services) != sorted(compute_role_services):
|
||||||
print('ERROR: ServicesDefault in %s is different from'
|
print('ERROR: ServicesDefault in %s is different from '
|
||||||
'ServicesDefault in roles/Compute.yaml' % hci_role_filename)
|
'ServicesDefault in roles/Compute.yaml' % hci_role_filename)
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
def validate_hci_role(hci_role_filename, hci_role_tpl):
|
||||||
|
role_files = ['HciCephAll', 'HciCephFile', 'HciCephMon', 'HciCephObject']
|
||||||
|
if hci_role_filename in ['./roles/'+ x +'.yaml' for x in role_files]:
|
||||||
|
compute_role_filename = os.path.join(os.path.dirname(hci_role_filename),
|
||||||
|
'./Compute.yaml')
|
||||||
|
compute_role_tpl = yaml.load(open(compute_role_filename).read())
|
||||||
|
compute_role_services = compute_role_tpl[0]['ServicesDefault']
|
||||||
|
for role in hci_role_tpl:
|
||||||
|
if role['name'] == 'HciCephAll':
|
||||||
|
hci_role_services = role['ServicesDefault']
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMds')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMgr')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMon')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephRbdMirror')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephRgw')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
||||||
|
if role['name'] == 'HciCephFile':
|
||||||
|
hci_role_services = role['ServicesDefault']
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMds')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
||||||
|
if role['name'] == 'HciCephMon':
|
||||||
|
hci_role_services = role['ServicesDefault']
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMgr')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephMon')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
||||||
|
if role['name'] == 'HciCephObject':
|
||||||
|
hci_role_services = role['ServicesDefault']
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephRgw')
|
||||||
|
hci_role_services.remove('OS::TripleO::Services::CephOSD')
|
||||||
|
if sorted(hci_role_services) != sorted(compute_role_services):
|
||||||
|
print('ERROR: ServicesDefault in %s is different from '
|
||||||
|
'ServicesDefault in roles/Compute.yaml' % hci_role_filename)
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def validate_ceph_role(ceph_role_filename, ceph_role_tpl):
|
||||||
|
role_files = ['CephAll', 'CephFile', 'CephMon', 'CephObject']
|
||||||
|
if ceph_role_filename in ['./roles/'+ x +'.yaml' for x in role_files]:
|
||||||
|
ceph_storage_role_filename = os.path.join(os.path.dirname(ceph_role_filename),
|
||||||
|
'./CephStorage.yaml')
|
||||||
|
ceph_storage_role_tpl = yaml.load(open(ceph_storage_role_filename).read())
|
||||||
|
ceph_storage_role_services = ceph_storage_role_tpl[0]['ServicesDefault']
|
||||||
|
for role in ceph_role_tpl:
|
||||||
|
if role['name'] == 'CephAll':
|
||||||
|
ceph_role_services = role['ServicesDefault']
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephClient')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephMds')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephMgr')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephMon')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephRbdMirror')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephRgw')
|
||||||
|
if role['name'] == 'CephFile':
|
||||||
|
ceph_role_services = role['ServicesDefault']
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephClient')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephMds')
|
||||||
|
if role['name'] == 'CephObject':
|
||||||
|
ceph_role_services = role['ServicesDefault']
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephClient')
|
||||||
|
ceph_role_services.remove('OS::TripleO::Services::CephRgw')
|
||||||
|
if sorted(ceph_role_services) != sorted(ceph_storage_role_services):
|
||||||
|
print('ERROR: ServicesDefault in %s is different from '
|
||||||
|
'ServicesDefault in roles/Ceph_storage.yaml' % ceph_role_filename)
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def validate_controller_no_ceph_role(filename, tpl):
|
||||||
|
control_role_filename = os.path.join(os.path.dirname(filename),
|
||||||
|
'./Controller.yaml')
|
||||||
|
control_role_tpl = yaml.load(open(control_role_filename).read())
|
||||||
|
control_role_services = control_role_tpl[0]['ServicesDefault']
|
||||||
|
for role in tpl:
|
||||||
|
if role['name'] == 'ControllerNoCeph':
|
||||||
|
services = role['ServicesDefault']
|
||||||
|
services.append('OS::TripleO::Services::CephMds')
|
||||||
|
services.append('OS::TripleO::Services::CephMgr')
|
||||||
|
services.append('OS::TripleO::Services::CephMon')
|
||||||
|
services.append('OS::TripleO::Services::CephRbdMirror')
|
||||||
|
services.append('OS::TripleO::Services::CephRgw')
|
||||||
|
if sorted(services) != sorted(control_role_services):
|
||||||
|
print('ERROR: ServicesDefault in %s is different from '
|
||||||
|
'ServicesDefault in roles/Controller.yaml' % filename)
|
||||||
|
return 1
|
||||||
|
return 0
|
||||||
|
|
||||||
def validate_with_compute_role_services(role_filename, role_tpl, exclude_service):
|
def validate_with_compute_role_services(role_filename, role_tpl, exclude_service):
|
||||||
cmpt_filename = os.path.join(os.path.dirname(role_filename),
|
cmpt_filename = os.path.join(os.path.dirname(role_filename),
|
||||||
@ -569,6 +652,15 @@ def validate(filename, param_map):
|
|||||||
'OS::TripleO::Services::NeutronLinuxbridgeAgent']
|
'OS::TripleO::Services::NeutronLinuxbridgeAgent']
|
||||||
retval = validate_with_compute_role_services(filename, tpl, exclude)
|
retval = validate_with_compute_role_services(filename, tpl, exclude)
|
||||||
|
|
||||||
|
if filename.startswith('./roles/Hci'):
|
||||||
|
retval = validate_hci_role(filename, tpl)
|
||||||
|
|
||||||
|
if filename.startswith('./roles/Ceph'):
|
||||||
|
retval = validate_ceph_role(filename, tpl)
|
||||||
|
|
||||||
|
if filename.startswith('./roles/ControllerNoCeph.yaml'):
|
||||||
|
retval = validate_controller_no_ceph_role(filename, tpl)
|
||||||
|
|
||||||
except Exception:
|
except Exception:
|
||||||
print(traceback.format_exc())
|
print(traceback.format_exc())
|
||||||
return 1
|
return 1
|
||||||
|
Loading…
Reference in New Issue
Block a user