Browse Source

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
changes/45/411445/10
James Slagle 5 years ago
parent
commit
c913d9b683
  1. 16
      deployed-server/deployed-server-bootstrap-centos.sh
  2. 22
      deployed-server/deployed-server-bootstrap-centos.yaml
  3. 5
      deployed-server/deployed-server.yaml
  4. 7
      environments/deployed-server-bootstrap-environment-centos.yaml
  5. 1
      environments/deployed-server-environment.yaml

16
deployed-server/deployed-server-bootstrap-centos.sh

@ -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

22
deployed-server/deployed-server-bootstrap-centos.yaml

@ -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}

5
deployed-server/deployed-server.yaml

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

7
environments/deployed-server-bootstrap-environment-centos.yaml

@ -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

1
environments/deployed-server-environment.yaml

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