Add basics for standalone node
For a standalone all-in-one, we need to create a basic role that has some of the services, a network config for a single node and an environment file that has all the services defined but disabled so that we can enable just the services we will need. In the future, we will likely make the service list more dynamic but for now it contains a minimal set of services for a keystone/openshift/kubernetes deployment. Change-Id: Ieb7c94563bd0132393b5fa268d743981f6e0b6f2 Related-Blueprint: all-in-one
This commit is contained in:
parent
f77be199d4
commit
0a642a10da
23
environments/standalone.yaml
Normal file
23
environments/standalone.yaml
Normal file
@ -0,0 +1,23 @@
|
||||
resource_registry:
|
||||
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: ../deployed-server/deployed-neutron-port.yaml
|
||||
OS::TripleO::Standalone::Net::SoftwareConfig: ../net-config-standalone.yaml
|
||||
OS::TripleO::NodeExtraConfigPost: OS::Heat::None
|
||||
|
||||
# Disable non-openstack services that are enabled by default
|
||||
OS::TripleO::Services::HAproxy: OS::Heat::None
|
||||
OS::TripleO::Services::Keepalived: OS::Heat::None
|
||||
OS::TripleO::Services::Kubernetes::Master: OS::Heat::None
|
||||
OS::TripleO::Services::Kubernetes::Worker: OS::Heat::None
|
||||
|
||||
parameter_defaults:
|
||||
StackAction: CREATE
|
||||
SoftwareConfigTransport: POLL_SERVER_HEAT
|
||||
EnablePackageInstall: true
|
||||
# Needed for deployed server bits
|
||||
# FIXME(aschultz): remove after https://review.openstack.org/#/c/567951/
|
||||
HostnameMap:
|
||||
undercloud-standalone-0: undercloud
|
||||
# Needed for deploying standalone
|
||||
# FIXME(aschultz): remove after https://review.openstack.org/#/c/566752/
|
||||
deployment_source_hosts: overcloud
|
91
net-config-standalone.j2.yaml
Normal file
91
net-config-standalone.j2.yaml
Normal file
@ -0,0 +1,91 @@
|
||||
heat_template_version: rocky
|
||||
description: >
|
||||
Software Config to drive os-net-config for a simple bridge configured with a
|
||||
static IP address for the ctlplane network.
|
||||
parameters:
|
||||
ControlPlaneIp:
|
||||
default: ''
|
||||
description: IP address/subnet on the ctlplane network
|
||||
type: string
|
||||
{%- for network in networks %}
|
||||
{{network.name}}IpSubnet:
|
||||
default: ''
|
||||
description: IP address/subnet on the {{network.name_lower}} network
|
||||
type: string
|
||||
{%- endfor %}
|
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults
|
||||
default: '24'
|
||||
description: The subnet CIDR of the control plane network.
|
||||
type: string
|
||||
ControlPlaneStaticRoutes:
|
||||
default: []
|
||||
description: A list of static routes
|
||||
type: json
|
||||
DnsServers: # Override this via parameter_defaults
|
||||
default: []
|
||||
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
|
||||
type: comma_delimited_list
|
||||
InterfaceLocalMtu: # Override this via parameter_defaults
|
||||
default: 1500
|
||||
description: MTU to use for the local_interface.
|
||||
type: number
|
||||
constraints:
|
||||
- range: { min: 1000, max: 65536 }
|
||||
StandaloneNetConfigOverride:
|
||||
default: {}
|
||||
description: >
|
||||
Custom JSON data to be used to override the os-net-config data in this
|
||||
template. This is meant to be used by net_config_override parameter in
|
||||
tripleoclient to provide an easy means to pass in custom net configs
|
||||
for a standalone node.
|
||||
type: json
|
||||
|
||||
conditions:
|
||||
standalone_net_config_override:
|
||||
not:
|
||||
equals: [{get_param: StandaloneNetConfigOverride}, {}]
|
||||
|
||||
resources:
|
||||
OsNetConfigImpl:
|
||||
type: OS::Heat::SoftwareConfig
|
||||
properties:
|
||||
group: script
|
||||
inputs:
|
||||
- name: disable_configure_safe_defaults
|
||||
default: true
|
||||
config:
|
||||
str_replace:
|
||||
template:
|
||||
get_file: network/scripts/run-os-net-config.sh
|
||||
params:
|
||||
$network_config:
|
||||
if:
|
||||
- standalone_net_config_override
|
||||
- {get_param: StandaloneNetConfigOverride}
|
||||
- network_config:
|
||||
- type: ovs_bridge
|
||||
name: br-ctlplane
|
||||
use_dhcp: false
|
||||
dns_servers:
|
||||
get_param: DnsServers
|
||||
ovs_extra:
|
||||
- "br-set-external-id br-ctlplane bridge-id br-ctlplane"
|
||||
addresses:
|
||||
- ip_netmask:
|
||||
list_join:
|
||||
- /
|
||||
- - get_param: ControlPlaneIp
|
||||
- get_param: ControlPlaneSubnetCidr
|
||||
routes: {get_param: ControlPlaneStaticRoutes}
|
||||
members:
|
||||
- type: interface
|
||||
name: interface_name
|
||||
# force the MAC address of the bridge to this interface
|
||||
primary: true
|
||||
mtu: {get_param: InterfaceLocalMtu}
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: The OsNetConfigImpl resource.
|
||||
value:
|
||||
get_resource: OsNetConfigImpl
|
||||
|
54
roles/Standalone.yaml
Normal file
54
roles/Standalone.yaml
Normal file
@ -0,0 +1,54 @@
|
||||
###############################################################################
|
||||
# Role: Standalone #
|
||||
###############################################################################
|
||||
- name: Standalone
|
||||
description: |
|
||||
EXPERIMENTAL. A standalone role that a minimal set of services.
|
||||
This can be used for testing in a single node configuration with the
|
||||
'openstack tripleo deploy --standalone' command.
|
||||
CountDefault: 1
|
||||
tags:
|
||||
- primary
|
||||
- controller
|
||||
disable_constraints: True
|
||||
ServicesDefault:
|
||||
- OS::TripleO::Services::Apache
|
||||
- OS::TripleO::Services::CACerts
|
||||
- OS::TripleO::Services::CertmongerUser
|
||||
- OS::TripleO::Services::Collectd
|
||||
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||
- OS::TripleO::Services::Docker
|
||||
- OS::TripleO::Services::DockerRegistry
|
||||
- OS::TripleO::Services::Etcd
|
||||
- OS::TripleO::Services::HAProxyInternalTLS
|
||||
- OS::TripleO::Services::HAProxyPublicTLS
|
||||
- OS::TripleO::Services::HAproxy
|
||||
- OS::TripleO::Services::Keepalived
|
||||
- OS::TripleO::Services::Kernel
|
||||
- OS::TripleO::Services::Keystone
|
||||
- OS::TripleO::Services::Kubernetes::Master
|
||||
- OS::TripleO::Services::Kubernetes::Worker
|
||||
- OS::TripleO::Services::LoginDefs
|
||||
- OS::TripleO::Services::MasqueradeNetworks
|
||||
- OS::TripleO::Services::Memcached
|
||||
- OS::TripleO::Services::MySQL
|
||||
- OS::TripleO::Services::MySQLClient
|
||||
- OS::TripleO::Services::Ntp
|
||||
- OS::TripleO::Services::OpenShift::GlusterFS
|
||||
- OS::TripleO::Services::OpenShift::Master
|
||||
- OS::TripleO::Services::OpenShift::Worker
|
||||
- OS::TripleO::Services::OsloMessagingNotify
|
||||
- OS::TripleO::Services::OsloMessagingRpc
|
||||
- OS::TripleO::Services::Pacemaker
|
||||
- OS::TripleO::Services::Redis
|
||||
- OS::TripleO::Services::Rhsm
|
||||
- OS::TripleO::Services::RsyslogSidecar
|
||||
- OS::TripleO::Services::Securetty
|
||||
- OS::TripleO::Services::Snmp
|
||||
- OS::TripleO::Services::Sshd
|
||||
- OS::TripleO::Services::TLSProxyBase
|
||||
- OS::TripleO::Services::Tempest
|
||||
- OS::TripleO::Services::Timezone
|
||||
- OS::TripleO::Services::TripleoFirewall
|
||||
- OS::TripleO::Services::TripleoPackages
|
||||
- OS::TripleO::Services::Tuned
|
Loading…
Reference in New Issue
Block a user