aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorSteven Hardy <shardy@redhat.com>2016-12-15 10:09:35 +0000
committerSteven Hardy <shardy@redhat.com>2016-12-15 11:12:37 +0000
commitf1cc2143842e869c97aed5f777c0ec1144d0d132 (patch)
tree48618c87b06d24344f9814e118044cc0d895dfa9 /puppet
parent713a0326e4d0ffbd4531263b7bd638809c2a639c (diff)
Add pre-network hook and example showing config-then-reboot
There are some requirements for early configuration that involves e.g setting kernel parameters then rebooting. Currently this can be done via cloud-init, e.g firstboot templates, but there's been discussion around enabling a SoftwareDeployment approach instead. The main advantage of doing it this way is there's an error path if something goes wrong with the config (except triggering the reboot as we have to use NO_SIGNAL for that). Change-Id: Ia54ee654f755631b8062eb5c209a60c6f9161500
Diffstat (limited to 'puppet')
-rw-r--r--puppet/blockstorage-role.yaml6
-rw-r--r--puppet/cephstorage-role.yaml6
-rw-r--r--puppet/compute-role.yaml6
-rw-r--r--puppet/controller-role.yaml6
-rw-r--r--puppet/objectstorage-role.yaml6
-rw-r--r--puppet/role.role.j2.yaml6
6 files changed, 36 insertions, 0 deletions
diff --git a/puppet/blockstorage-role.yaml b/puppet/blockstorage-role.yaml
index 36587a41..80f855af 100644
--- a/puppet/blockstorage-role.yaml
+++ b/puppet/blockstorage-role.yaml
@@ -307,8 +307,14 @@ resources:
- - {get_attr: [BlockStorage, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::BlockStorage::PreNetworkConfig
+ properties:
+ server: {get_resource: BlockStorage}
+
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}
diff --git a/puppet/cephstorage-role.yaml b/puppet/cephstorage-role.yaml
index 558f97d8..139fe7aa 100644
--- a/puppet/cephstorage-role.yaml
+++ b/puppet/cephstorage-role.yaml
@@ -313,8 +313,14 @@ resources:
- - {get_attr: [CephStorage, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::CephStorage::PreNetworkConfig
+ properties:
+ server: {get_resource: CephStorage}
+
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}
diff --git a/puppet/compute-role.yaml b/puppet/compute-role.yaml
index 818f18c8..e9062385 100644
--- a/puppet/compute-role.yaml
+++ b/puppet/compute-role.yaml
@@ -316,6 +316,11 @@ resources:
- - {get_attr: [NovaCompute, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::Compute::PreNetworkConfig
+ properties:
+ server: {get_resource: NovaCompute}
+
NetworkConfig:
type: OS::TripleO::Compute::Net::SoftwareConfig
properties:
@@ -329,6 +334,7 @@ resources:
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}
diff --git a/puppet/controller-role.yaml b/puppet/controller-role.yaml
index 2781daa0..ecb298eb 100644
--- a/puppet/controller-role.yaml
+++ b/puppet/controller-role.yaml
@@ -335,6 +335,11 @@ resources:
- - {get_attr: [Controller, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::Controller::PreNetworkConfig
+ properties:
+ server: {get_resource: Controller}
+
NetworkConfig:
type: OS::TripleO::Controller::Net::SoftwareConfig
properties:
@@ -348,6 +353,7 @@ resources:
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}
diff --git a/puppet/objectstorage-role.yaml b/puppet/objectstorage-role.yaml
index 2c76492a..a592f60b 100644
--- a/puppet/objectstorage-role.yaml
+++ b/puppet/objectstorage-role.yaml
@@ -307,8 +307,14 @@ resources:
- - {get_attr: [SwiftStorage, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::ObjectStorage::PreNetworkConfig
+ properties:
+ server: {get_resource: SwiftStorage}
+
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}
diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml
index 9726d978..522d8587 100644
--- a/puppet/role.role.j2.yaml
+++ b/puppet/role.role.j2.yaml
@@ -325,8 +325,14 @@ resources:
- - {get_attr: [{{role}}, name]}
- ctlplane
+ PreNetworkConfig:
+ type: OS::TripleO::{{role}}::PreNetworkConfig
+ properties:
+ server: {get_resource: {{role}}}}
+
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
+ depends_on: PreNetworkConfig
properties:
name: NetworkDeployment
config: {get_resource: NetworkConfig}