Deployed server bootstrap via Heat

Adds an environment file, template, and script that can be used to do
initial bootstrapping of deployed servers during NodeExtraConfig. It is
meant to install and configure the initial dependencies needed to apply
the rest of the OpenStack configuration via Heat.

Enabling yum repos and installing the initial python-heat-agent package
would still have to be manual steps when using this environment. But the
goal is to keep those manual steps to a minimum and automate as much as
possible in deployed-server-bootstrap.sh.

Along with setting EnablePackageInstall: True, this could eventually
replace bootstrap-overcloud-full.sh from tripleo-ci.

Partially-implements: blueprint split-stack-software-configuration
Change-Id: I6be94604a46382e6288df1b36b9de8fab58696cc
This commit is contained in:
James Slagle 2016-12-15 13:26:38 -05:00
parent 15c358de1c
commit c913d9b683
5 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,16 @@
#!/bin/bash
set -eux
yum install -y \
jq \
python-ipaddr \
openstack-puppet-modules \
os-net-config \
openvswitch \
python-heat-agent*
ln -s -f /usr/share/openstack-puppet/modules/* /etc/puppet/modules
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config

View File

@ -0,0 +1,22 @@
heat_template_version: 2014-10-16
description: 'Deployed Server Bootstrap Config'
parameters:
server:
type: string
resources:
DeployedServerBootstrapConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config: {get_file: deployed-server-bootstrap-centos.sh}
DeployedServerBootstrapDeployment:
type: OS::Heat::SoftwareDeployment
properties:
config: {get_resource: DeployedServerBootstrapConfig}
server: {get_param: server}

View File

@ -106,6 +106,11 @@ resources:
config: {get_resource: HostsEntryConfig} config: {get_resource: HostsEntryConfig}
server: {get_resource: deployed-server} server: {get_resource: deployed-server}
DeployedServerBootstrapConfig:
type: OS::TripleO::DeployedServer::Bootstrap
properties:
server: {get_resource: deployed-server}
ControlPlanePort: ControlPlanePort:
type: OS::TripleO::DeployedServer::ControlPlanePort type: OS::TripleO::DeployedServer::ControlPlanePort
properties: properties:

View File

@ -0,0 +1,7 @@
# An environment that can be used with the deployed-server.yaml template to do
# initial bootstrapping of the deployed servers.
resource_registry:
OS::TripleO::DeployedServer::Bootstrap: ../deployed-server/deployed-server-bootstrap-centos.yaml
parameter_defaults:
EnablePackageInstall: True

View File

@ -1,3 +1,4 @@
resource_registry: resource_registry:
OS::TripleO::Server: ../deployed-server/deployed-server.yaml OS::TripleO::Server: ../deployed-server/deployed-server.yaml
OS::TripleO::DeployedServer::ControlPlanePort: OS::Neutron::Port OS::TripleO::DeployedServer::ControlPlanePort: OS::Neutron::Port
OS::TripleO::DeployedServer::Bootstrap: OS::Heat::None