aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Slagle <jslagle@redhat.com>2016-12-15 13:26:38 -0500
committerJames Slagle <jslagle@redhat.com>2017-01-16 10:48:00 -0500
commitc913d9b683af205cea0d4d7498d50e5931fca08a (patch)
treeec3364c2f81b0fde3b9025ae1d421e8a4f9b141c
parent15c358de1c8a2d338953a712573c85fb451f05f3 (diff)
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
-rw-r--r--deployed-server/deployed-server-bootstrap-centos.sh16
-rw-r--r--deployed-server/deployed-server-bootstrap-centos.yaml22
-rw-r--r--deployed-server/deployed-server.yaml5
-rw-r--r--environments/deployed-server-bootstrap-environment-centos.yaml7
-rw-r--r--environments/deployed-server-environment.yaml1
5 files changed, 51 insertions, 0 deletions
diff --git a/deployed-server/deployed-server-bootstrap-centos.sh b/deployed-server/deployed-server-bootstrap-centos.sh
new file mode 100644
index 00000000..7266ca57
--- /dev/null
+++ b/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
diff --git a/deployed-server/deployed-server-bootstrap-centos.yaml b/deployed-server/deployed-server-bootstrap-centos.yaml
new file mode 100644
index 00000000..ac537386
--- /dev/null
+++ b/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}
diff --git a/deployed-server/deployed-server.yaml b/deployed-server/deployed-server.yaml
index 77968f6c..1e8afb25 100644
--- a/deployed-server/deployed-server.yaml
+++ b/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:
diff --git a/environments/deployed-server-bootstrap-environment-centos.yaml b/environments/deployed-server-bootstrap-environment-centos.yaml
new file mode 100644
index 00000000..ebcdfc2b
--- /dev/null
+++ b/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
diff --git a/environments/deployed-server-environment.yaml b/environments/deployed-server-environment.yaml
index 7a6639f9..7bc1bd9b 100644
--- a/environments/deployed-server-environment.yaml
+++ b/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