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.remove('OS::TripleO::Services::CephOSD')
|
||||
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)
|
||||
return 1
|
||||
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):
|
||||
cmpt_filename = os.path.join(os.path.dirname(role_filename),
|
||||
@ -569,6 +652,15 @@ def validate(filename, param_map):
|
||||
'OS::TripleO::Services::NeutronLinuxbridgeAgent']
|
||||
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:
|
||||
print(traceback.format_exc())
|
||||
return 1
|
||||
|
Loading…
Reference in New Issue
Block a user