tripleo-heat-templates/sample-env-generator/dcn.yaml
Alan Bishop 00c17b368f Add ability to deploy glance at DCN/Edge sites
This patch adds two new tripleo services that together support
deploying the glance-api service at edge sites. The service uses the
same glance database in the control plane, but allows other edge
services (e.g. cinder and nova) to access a glance endpoint that is
local to the edge site.

A new GlanceApiEdge service is a minor variant of the GlanceApi
service. The most significant change is it doesn't use the control
plane VIP, but instead configures cinder and nova services to access
the glance-api endpoint running on that edge node (not the VIP).

A companion HAproxyEdge service supports scaling out DCN sites with
larger (>3) number of nodes. Instead of deploying GlanceApiEdge on
every node, the HAproxyEdge service configures a local haproxy to
forward glance-api requests to the edge nodes running GlanceApiEdge.

The HAproxyEdge is extensible. While this patch is only concerned
with proxying glance-api, it can be extended to support additional
proxy requirements as needs arise.

blueprint: split-controlplane-glance-cache
Change-Id: Id6c416b8c7b3b6314d935e3eeb8a3f114492cecd
Depends-On: Ic8d652a5209219c96f795a8c18ceb457c6d9382a
(cherry picked from commit 30ca49bf61)
2020-01-05 19:13:14 -08:00

51 lines
2.2 KiB
YAML

environments:
- name: dcn
title: Distributed Compute Node
description: |-
Environment file for deploying a remote site of distributed compute nodes
(DCN) in a separate stack (multi-stack) deployment.
files: &dcn_files
deployment/glance/glance-api-container-puppet.yaml:
parameters:
- GlanceCacheEnabled
- GlanceImageCacheMaxSize
deployment/nova/nova-az-config.yaml:
parameters:
- NovaComputeAvailabilityZone
network/external.yaml:
parameters:
- ManageNetworks
sample_values: &sample_values
ManageNetworks: false
resource_registry: &dcn_resource_registry
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
OS::TripleO::Network::Ports::OVNDBsVipPort: ../network/ports/noop.yaml
OS::TripleO::Services::GlanceApiEdge: ../deployment/glance/glance-api-edge-container-puppet.yaml
OS::TripleO::Services::HAproxyEdge: ../deployment/haproxy/haproxy-edge-container-puppet.yaml
OS::TripleO::Services::NovaAZConfig: ../deployment/nova/nova-az-config.yaml
children:
- name: dcn-hci
title: Distributed Compute Node HCI
description: |-
Environment file for deploying a remote site of HCI distributed compute
nodes (DCN) in a separate stack (multi-stack) deployment. It should be
used in combination with environments/ceph-ansible/ceph-ansible.yaml.
files:
<<: *dcn_files
deployment/cinder/cinder-base.yaml:
parameters:
- CinderStorageAvailabilityZone
deployment/cinder/cinder-volume-container-puppet.yaml:
parameters:
- CinderVolumeCluster
- CinderEtcdLocalConnect
sample_values:
<<: *sample_values
CinderStorageAvailabilityZone: dcn
CinderVolumeCluster: dcn
CinderEtcdLocalConnect: True
resource_registry:
<<: *dcn_resource_registry
OS::TripleO::Services::Etcd: ../../deployment/etcd/etcd-container-puppet.yaml
OS::TripleO::Services::CinderVolume: ../deployment/cinder/cinder-volume-container-puppet.yaml