Remove NO_SIGNAL from puppet role templates
authorSteven Hardy <shardy@redhat.com>
Wed, 13 May 2015 21:08:12 +0000 (17:08 -0400)
committerGiulio Fidente <gfidente@redhat.com>
Wed, 3 Jun 2015 14:26:51 +0000 (16:26 +0200)
Currently we use NO_SIGNAL on both the NetworkConfig and subsequent config
deploying the data associated with the role.  This means there is a risk that
should the NetworkConfig do anything interruptive (os-net-config can do
interface renaming based on discovery data for example) the role configuration
config could fail, and we'd never know until some later error occurs.

Additionally, we need to be sure that the heiradata deployed by each of the role
specicific configs is actually in-place before proceeding with any of the cluster
configuration - atm this works due to the inherent delays involved deploying to
bare-metal, but there's still a theoretical race if very fast deployment backends
(I'm thinking containers, e.g lxc backend to nova or something) were used instead.

Essentially, we should never be using NO_SIGNAL unless we want to ignore failure,
which AFAICT is not the case in this instance.

Change-Id: I0dbbcc87fb8df8e6bc4775c39fa616b0d0713464

puppet/cinder-storage-puppet.yaml
puppet/compute-puppet.yaml
puppet/controller-puppet.yaml
puppet/swift-storage-puppet.yaml

index 007a489..b02fe06 100644 (file)
@@ -158,6 +158,7 @@ resources:
 
   BlockStorageDeployment:
     type: OS::Heat::StructuredDeployment
+    depends_on: NetworkDeployment
     properties:
       server: {get_resource: BlockStorage}
       config: {get_resource: BlockStorageConfig}
@@ -183,7 +184,6 @@ resources:
             params:
               server: {get_param: NtpServer}
         enable_package_install: {get_param: EnablePackageInstall}
-      signal_transport: NO_SIGNAL
 
   # Map heat metadata into hiera datafiles
   BlockStorageConfig:
index d2cca8f..6d843e5 100644 (file)
@@ -304,7 +304,6 @@ resources:
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
     properties:
-      signal_transport: NO_SIGNAL
       config: {get_resource: NetworkConfig}
       server: {get_resource: NovaCompute}
       input_values:
@@ -388,8 +387,8 @@ resources:
 
   NovaComputeDeployment:
     type: OS::TripleO::SoftwareDeployment
+    depends_on: NetworkDeployment
     properties:
-      signal_transport: NO_SIGNAL
       config: {get_resource: NovaComputeConfig}
       server: {get_resource: NovaCompute}
       input_values:
index 47c1c01..31fe866 100644 (file)
@@ -495,7 +495,6 @@ resources:
   NetworkDeployment:
     type: OS::TripleO::SoftwareDeployment
     properties:
-      signal_transport: NO_SIGNAL
       config: {get_resource: NetworkConfig}
       server: {get_resource: Controller}
       input_values:
@@ -504,8 +503,8 @@ resources:
 
   ControllerDeployment:
     type: OS::TripleO::SoftwareDeployment
+    depends_on: NetworkDeployment
     properties:
-      signal_transport: NO_SIGNAL
       config: {get_resource: ControllerConfig}
       server: {get_resource: Controller}
       input_values:
index 12292de..40f8ee4 100644 (file)
@@ -131,10 +131,10 @@ resources:
 
   SwiftStorageHieraDeploy:
     type: OS::Heat::StructuredDeployment
+    depends_on: NetworkDeployment
     properties:
       server: {get_resource: SwiftStorage}
       config: {get_resource: SwiftStorageHieraConfig}
-      signal_transport: NO_SIGNAL
       input_values:
         local_ip: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}