tripleo-heat-templates/sample-env-generator/standalone.yaml
Harald Jensås 23cdf4dd17 Refactor Service VIPs redis and ovn_dbs
With this change a Heat resource is no longer used to
create an undercloud neutron API port resource for the
redis and ovn_dbs service virtual IPs. Instead an
external deploy task at step 0 in the individual service
template uses the "tripleo_service_vip" ansible module
to mange a neutron API port resource for each service.

The interfaces to control the IP address and service
network (RedisVirtualFixedIPs, OVNDBsVirtualFixedIPs
and ServiceNetMap) remains the same.

It is also possible to include the 'use_neutron' boolean
in the FixedIPs parameter to instruct the ansible module
not to create a neutron API resource, and simply "echo"
the ip_address given in the FixedIPs parameter. For
example:
  RedisVirtualFixedIPs:
    - ip_address: 1.0.0.5
      use_neutron: false

Alternatively the fixed-ips can be set using the
'ServiceVips' parameter, like this:

 ServiceVips:
   redis: 1.0.0.5
   ovs_dbs: 1.0.0.6

NOTE: If the neutron service is not available the
      tripleo_service_vip ansible module will "echo"
      the IP provided in %service%VirtualFixedIPs.

Related: blueprint network-data-v2-ports
Depends-On: https://review.opendev.org/777307
Depends-On: https://review.opendev.org/779883
Change-Id: I4794418546363888e7a555a16b45b7a4417f1ef8
2021-04-14 10:22:59 +02:00

284 lines
12 KiB
YAML

#
# This environment generator is used to generate some sample composable role
# environment files.
#
environments:
-
name: standalone/standalone-tripleo
title: Standalone Environment (no undercloud)
description: |
A Heat environment that can be used to deploy a single node all-in-one
node via the 'overcloud tripleo deploy' command. This does not
require an Undercloud for the deployment and can be used to deploy
a single node on the local machine.
By default we only want the following OpenStack services to be enabled:
* Keystone
* Nova (and related)
* Neutron (and related)
* Glance
* Cinder
* Swift (single replica mode)
* Horizon
This file disables any other OpenStack services that would normally be
enabled.
openstack overcloud roles generate -o ~/roles_data.yaml Standalone
files:
deployment/swift/swift-storage-container-puppet.yaml:
parameters:
- SwiftReplicas
deployment/timesync/chrony-baremetal-ansible.yaml:
parameters:
- NtpServer
deployment/tripleo-packages/tripleo-packages-baremetal-puppet.yaml:
parameters:
- EnablePackageInstall
deployment/sshd/sshd-baremetal-ansible.yaml:
parameters:
- SshFirewallAllowAll
sample-env-generator/standalone.yaml:
parameters:
- AddVipsToEtcHosts
- NetworkSafeDefaults
- StandaloneNetworkConfigTemplate
overcloud.yaml:
parameters:
- DnsServers
sample_values:
AddVipsToEtcHosts: false
StackAction: CREATE
EnablePackageInstall: true
SwiftReplicas: 1
SshFirewallAllowAll: true
StandaloneNetworkConfigTemplate: templates/standalone.j2
resource_registry:
# this network config is assumed by the tripleo deploy command
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../../deployed-server/deployed-neutron-port.yaml
# OVN
OS::TripleO::Services::OVNDBs: ../../deployment/ovn/ovn-dbs-pacemaker-puppet.yaml
OS::TripleO::Services::OpenStackClients: ../../deployment/clients/openstack-clients-baremetal-ansible.yaml
# Disable Docker
OS::TripleO::Services::Docker: OS::Heat::None
# Activate container image prepare
OS::TripleO::Services::ContainerImagePrepare: ../../deployment/container-image-prepare/container-image-prepare-baremetal-ansible.yaml
OS::TripleO::Services::Podman: ../../deployment/podman/podman-baremetal-ansible.yaml
OS::TripleO::Services::DockerRegistry: ../../deployment/image-serve/image-serve-baremetal-ansible.yaml
# Install tmpwatch
OS::TripleO::Services::Tmpwatch: ../../deployment/logrotate/tmpwatch-install.yaml
# Aodh
OS::TripleO::Services::AodhApi: OS::Heat::None
OS::TripleO::Services::AodhEvaluator: OS::Heat::None
OS::TripleO::Services::AodhListener: OS::Heat::None
OS::TripleO::Services::AodhNotifier: OS::Heat::None
# Barbican
OS::TripleO::Services::BarbicanApi: OS::Heat::None
OS::TripleO::Services::BarbicanBackendDogtag: OS::Heat::None
OS::TripleO::Services::BarbicanBackendKmip: OS::Heat::None
OS::TripleO::Services::BarbicanBackendPkcs11Crypto: OS::Heat::None
OS::TripleO::Services::BarbicanBackendSimpleCrypto: OS::Heat::None
# Ceilometer
OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
# Designate
OS::TripleO::Services::DesignateApi: OS::Heat::None
OS::TripleO::Services::DesignateCentral: OS::Heat::None
OS::TripleO::Services::DesignateMDNS: OS::Heat::None
OS::TripleO::Services::DesignateProducer: OS::Heat::None
OS::TripleO::Services::DesignateSink: OS::Heat::None
OS::TripleO::Services::DesignateWorker: OS::Heat::None
OS::TripleO::Services::DesignateBind: OS::Heat::None
# Gnocchi
OS::TripleO::Services::GnocchiApi: OS::Heat::None
OS::TripleO::Services::GnocchiMetricd: OS::Heat::None
OS::TripleO::Services::GnocchiStatsd: OS::Heat::None
# Heat
OS::TripleO::Services::HeatApi: OS::Heat::None
OS::TripleO::Services::HeatApiCfn: OS::Heat::None
OS::TripleO::Services::HeatApiCloudwatch: OS::Heat::None
OS::TripleO::Services::HeatEngine: OS::Heat::None
# TLS
OS::TripleO::Services::IpaClient: OS::Heat::None
# Ironic
OS::TripleO::Services::IronicApi: OS::Heat::None
OS::TripleO::Services::IronicConductor: OS::Heat::None
OS::TripleO::Services::IronicInspector: OS::Heat::None
OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None
OS::TripleO::Services::IronicPxe: OS::Heat::None
# Manila
OS::TripleO::Services::ManilaApi: OS::Heat::None
OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None
OS::TripleO::Services::ManilaBackendIsilon: OS::Heat::None
OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None
OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None
OS::TripleO::Services::ManilaBackendVMAX: OS::Heat::None
OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None
OS::TripleO::Services::ManilaScheduler: OS::Heat::None
OS::TripleO::Services::ManilaShare: OS::Heat::None
# Mistral
OS::TripleO::Services::MistralApi: OS::Heat::None
OS::TripleO::Services::MistralEngine: OS::Heat::None
OS::TripleO::Services::MistralEventEngine: OS::Heat::None
OS::TripleO::Services::MistralExecutor: OS::Heat::None
# Rear
OS::TripleO::Services::Rear: OS::Heat::None
# Redis
OS::TripleO::Services::Redis: OS::Heat::None
# Rsyslog
OS::TripleO::Services::Rsyslog: ../../deployment/logging/rsyslog-baremetal-ansible.yaml
# Zaqar
OS::TripleO::Services::Zaqar: OS::Heat::None
# Don't create OVN Chassis MAC address nets/ports on the standalone
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
-
name: standalone/standalone-overcloud
title: Standalone Environment (via undercloud)
description: |
A Heat environment that can be used to deploy a single node all-in-one
node via an Undercloud using the normal Overcloud deployment process.
By default we only want the following OpenStack services to be enabled:
* Keystone
* Nova (and related)
* Neutron (and related)
* Glance
* Cinder
* Swift (single replica mode)
* Horizon
This file disables any other OpenStack services that would normally be
enabled.
openstack overcloud roles generate -o ~/roles_data.yaml Standalone
files:
deployment/swift/swift-storage-container-puppet.yaml:
parameters:
- SwiftReplicas
deployment/timesync/chrony-baremetal-ansible.yaml:
parameters:
- NtpServer
# TODO(aschultz): hack to pull in this config transport, not sure it is
# still needed.
sample-env-generator/standalone.yaml:
parameters:
- StandaloneHostnameFormat
- StandaloneCount
- OvercloudStandaloneFlavor
- StandaloneNetworkConfigTemplate
overcloud.yaml:
parameters:
- DnsServers
sample_values:
StandaloneCount: 1
OvercloudStandaloneFlavor: standalone
SwiftReplicas: 1
StandaloneNetworkConfigTemplate: templates/net_config_bridge.j2
resource_registry:
OS::TripleO::Services::OpenStackClients: ../../deployment/clients/openstack-clients-baremetal-ansible.yaml
# Don't create OVN Chassis MAC address nets/ports on the standalone
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
# Aodh
OS::TripleO::Services::AodhApi: OS::Heat::None
OS::TripleO::Services::AodhEvaluator: OS::Heat::None
OS::TripleO::Services::AodhListener: OS::Heat::None
OS::TripleO::Services::AodhNotifier: OS::Heat::None
# Barbican
OS::TripleO::Services::BarbicanApi: OS::Heat::None
OS::TripleO::Services::BarbicanBackendDogtag: OS::Heat::None
OS::TripleO::Services::BarbicanBackendKmip: OS::Heat::None
OS::TripleO::Services::BarbicanBackendPkcs11Crypto: OS::Heat::None
OS::TripleO::Services::BarbicanBackendSimpleCrypto: OS::Heat::None
# Ceilometer
OS::TripleO::Services::CeilometerAgentCentral: OS::Heat::None
OS::TripleO::Services::CeilometerAgentNotification: OS::Heat::None
OS::TripleO::Services::ComputeCeilometerAgent: OS::Heat::None
# Designate
OS::TripleO::Services::DesignateApi: OS::Heat::None
OS::TripleO::Services::DesignateCentral: OS::Heat::None
OS::TripleO::Services::DesignateMDNS: OS::Heat::None
OS::TripleO::Services::DesignateProducer: OS::Heat::None
OS::TripleO::Services::DesignateSink: OS::Heat::None
OS::TripleO::Services::DesignateWorker: OS::Heat::None
OS::TripleO::Services::DesignateBind: OS::Heat::None
# Gnocchi
OS::TripleO::Services::GnocchiApi: OS::Heat::None
OS::TripleO::Services::GnocchiMetricd: OS::Heat::None
OS::TripleO::Services::GnocchiStatsd: OS::Heat::None
# Heat
OS::TripleO::Services::HeatApi: OS::Heat::None
OS::TripleO::Services::HeatApiCfn: OS::Heat::None
OS::TripleO::Services::HeatApiCloudwatch: OS::Heat::None
OS::TripleO::Services::HeatEngine: OS::Heat::None
# TLS
OS::TripleO::Services::IpaClient: OS::Heat::None
# Ironic
OS::TripleO::Services::IronicApi: OS::Heat::None
OS::TripleO::Services::IronicConductor: OS::Heat::None
OS::TripleO::Services::IronicInspector: OS::Heat::None
OS::TripleO::Services::IronicNeutronAgent: OS::Heat::None
OS::TripleO::Services::IronicPxe: OS::Heat::None
# Manila
OS::TripleO::Services::ManilaApi: OS::Heat::None
OS::TripleO::Services::ManilaBackendCephFs: OS::Heat::None
OS::TripleO::Services::ManilaBackendIsilon: OS::Heat::None
OS::TripleO::Services::ManilaBackendNetapp: OS::Heat::None
OS::TripleO::Services::ManilaBackendUnity: OS::Heat::None
OS::TripleO::Services::ManilaBackendVMAX: OS::Heat::None
OS::TripleO::Services::ManilaBackendVNX: OS::Heat::None
OS::TripleO::Services::ManilaScheduler: OS::Heat::None
OS::TripleO::Services::ManilaShare: OS::Heat::None
# Mistral
OS::TripleO::Services::MistralApi: OS::Heat::None
OS::TripleO::Services::MistralEngine: OS::Heat::None
OS::TripleO::Services::MistralEventEngine: OS::Heat::None
OS::TripleO::Services::MistralExecutor: OS::Heat::None
# Zaqar
OS::TripleO::Services::Zaqar: OS::Heat::None
# NOTE(aschultz): So because these are dynamic based on the roles used, we
# do not currently define these in any heat files. So we're defining them here
# so that the sample env generator can still provide these configuration items
# in the generated config files.
parameters:
# Dynamic vars based on roles
StandaloneCount:
default: 0
description: Number of Standalone nodes
type: number
StandaloneHostnameFormat:
type: string
description: >
Format for Standalone node hostnames
Note %index% is translated into the index of the node, e.g 0/1/2 etc
and %stackname% is replaced with the stack name e.g overcloud
default: "%stackname%-standalone-%index%"
OvercloudStandaloneFlavor:
default: standalone
description: Name of the flavor for Standalone nodes
type: string
AddVipsToEtcHosts:
default: false
description: >
Set to true to append per network Vips to /etc/hosts on each node.
type: string
NetworkSafeDefaults:
default: true
description: Allow to enable/disable safe networking defaults if os-net-config would fail to run with the provided config.
type: boolean
StandaloneNetworkConfigTemplate:
description: Standalone NetworkConfigTemplate
type: string
default: ''