From d739e9a4b62437b11a9973ebb64c6590da9bb11b Mon Sep 17 00:00:00 2001 From: John Fulton Date: Thu, 13 Feb 2020 16:18:42 -0500 Subject: [PATCH] Add DCN Scale Out Roles In Id6c416b8c7b3b6314d935e3eeb8a3f114492cecd the roles for DistributedCompute and DistributedComputeHCI received the GlanceApiEdge service so that Glance could run at DCN sites. Those who wish to run >3 DCN nodes with Glance may then add scale out roles by replacing the GlanceApiEdge service with the new HAproxyEdge service, which configures a local haproxy to forward glance-api requests to edge nodes running Glance. This patch provides the DistributedComputeScaleOut and DistributedComputeHCIScaleOut roles so that deployers may specify 3 DCN nodes and N DCN scale out nodes without having to compose the roles themselves. Change-Id: I8900ba3bb470804b5bb5016aacc66dc171e1bb62 --- roles/DistributedCompute.yaml | 7 +-- roles/DistributedComputeHCI.yaml | 7 +-- roles/DistributedComputeHCIScaleOut.yaml | 71 ++++++++++++++++++++++++ roles/DistributedComputeScaleOut.yaml | 68 +++++++++++++++++++++++ 4 files changed, 141 insertions(+), 12 deletions(-) create mode 100644 roles/DistributedComputeHCIScaleOut.yaml create mode 100644 roles/DistributedComputeScaleOut.yaml diff --git a/roles/DistributedCompute.yaml b/roles/DistributedCompute.yaml index 52d1dddf07..a4665fe3cd 100644 --- a/roles/DistributedCompute.yaml +++ b/roles/DistributedCompute.yaml @@ -3,7 +3,7 @@ ############################################################################### - name: DistributedCompute description: | - Distributed Compute Node role with Cinder volume. + Distributed Compute Node role with Cinder volume and Glance. CountDefault: 1 networks: InternalApi: @@ -32,12 +32,7 @@ - OS::TripleO::Services::ComputeNeutronOvsAgent - OS::TripleO::Services::Docker - OS::TripleO::Services::Etcd - # Include the GlanceApiEdge -OR- the HAproxyEdge service, but not both. - # Deploy GlanceApiEdge on 2-3 nodes for HA, and HAproxyEdge for each - # additional node. The HAproxyEdge service forwards glance-api requests - # to the GlanceApiEdge nodes. - OS::TripleO::Services::GlanceApiEdge - # OS::TripleO::Services::HAproxyEdge - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid diff --git a/roles/DistributedComputeHCI.yaml b/roles/DistributedComputeHCI.yaml index 2443bd7e2c..e32e3e8519 100644 --- a/roles/DistributedComputeHCI.yaml +++ b/roles/DistributedComputeHCI.yaml @@ -3,7 +3,7 @@ ############################################################################### - name: DistributedComputeHCI description: | - Distributed Compute Node role hosting Ceph OSD and Cinder volume. + Distributed Compute Node role with Ceph, Cinder volume, and Glance. networks: InternalApi: subnet: internal_api_subnet @@ -40,12 +40,7 @@ - OS::TripleO::Services::ComputeNeutronOvsAgent - OS::TripleO::Services::Docker - OS::TripleO::Services::Etcd - # Include the GlanceApiEdge -OR- the HAproxyEdge service, but not both. - # Deploy GlanceApiEdge on 2-3 nodes for HA, and HAproxyEdge for each - # additional node. The HAproxyEdge service forwards glance-api requests - # to the GlanceApiEdge nodes. - OS::TripleO::Services::GlanceApiEdge - # OS::TripleO::Services::HAproxyEdge - OS::TripleO::Services::IpaClient - OS::TripleO::Services::Ipsec - OS::TripleO::Services::Iscsid diff --git a/roles/DistributedComputeHCIScaleOut.yaml b/roles/DistributedComputeHCIScaleOut.yaml new file mode 100644 index 0000000000..e444b8836a --- /dev/null +++ b/roles/DistributedComputeHCIScaleOut.yaml @@ -0,0 +1,71 @@ +############################################################################### +# Role: DistributedComputeHCIScaleOut # +############################################################################### +- name: DistributedComputeHCIScaleOut + description: | + Distributed Compute Node role with Ceph, Cinder volume and HAProxy for Glance. + networks: + InternalApi: + subnet: internal_api_subnet + Tenant: + subnet: tenant_subnet + Storage: + subnet: storage_subnet + StorageMgmt: + subnet: storage_mgmt_subnet + RoleParametersDefault: + TunedProfileName: "throughput-performance" + # CephOSD present so serial has to be 1 + update_serial: 1 + ServicesDefault: + - OS::TripleO::Services::Aide + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::BootParams + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CephClient + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CephOSD + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::BlockStorageCinderVolume + - 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::Etcd + - OS::TripleO::Services::HAproxyEdge + - OS::TripleO::Services::IpaClient + - OS::TripleO::Services::Ipsec + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr + - OS::TripleO::Services::Multipathd + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronLinuxbridgeAgent + - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NovaAZConfig + - OS::TripleO::Services::NovaCompute + - OS::TripleO::Services::NovaLibvirt + - OS::TripleO::Services::NovaLibvirtGuests + - OS::TripleO::Services::NovaMigrationTarget + - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Podman + - OS::TripleO::Services::Rhsm + - OS::TripleO::Services::Rsyslog + - OS::TripleO::Services::RsyslogSidecar + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SkydiveAgent + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Timesync + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages + - OS::TripleO::Services::Tuned + - OS::TripleO::Services::Vpp + - OS::TripleO::Services::OVNController + - OS::TripleO::Services::OVNMetadataAgent diff --git a/roles/DistributedComputeScaleOut.yaml b/roles/DistributedComputeScaleOut.yaml new file mode 100644 index 0000000000..2a6f45ce62 --- /dev/null +++ b/roles/DistributedComputeScaleOut.yaml @@ -0,0 +1,68 @@ +############################################################################### +# Role: DistributedComputeScaleOut # +############################################################################### +- name: DistributedComputeScaleOut + description: | + Distributed Compute Node role with Cinder volume and HaProxy for Glance. + CountDefault: 1 + networks: + InternalApi: + subnet: internal_api_subnet + Tenant: + subnet: tenant_subnet + Storage: + subnet: storage_subnet + RoleParametersDefault: + TunedProfileName: "virtual-host" + update_serial: 25 + ServicesDefault: + - OS::TripleO::Services::Aide + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::BootParams + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CephClient + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::BlockStorageCinderVolume + - 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::Etcd + - OS::TripleO::Services::HAproxyEdge + - OS::TripleO::Services::IpaClient + - OS::TripleO::Services::Ipsec + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::LoginDefs + - OS::TripleO::Services::MetricsQdr + - OS::TripleO::Services::Multipathd + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronLinuxbridgeAgent + - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NovaAZConfig + - OS::TripleO::Services::NovaCompute + - OS::TripleO::Services::NovaLibvirt + - OS::TripleO::Services::NovaLibvirtGuests + - OS::TripleO::Services::NovaMigrationTarget + - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::Podman + - OS::TripleO::Services::Rhsm + - OS::TripleO::Services::Rsyslog + - OS::TripleO::Services::RsyslogSidecar + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SkydiveAgent + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Timesync + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages + - OS::TripleO::Services::Tuned + - OS::TripleO::Services::Vpp + - OS::TripleO::Services::OVNController + - OS::TripleO::Services::OVNMetadataAgent