Skip to content

Commit 6227233

Browse files
flaper87pierreprinetti
authored andcommitted
Allow for disabling userData rendering (openshift#238)
This commit adds an extra key to allow for disabling the rendering steps for userData, which allows for scenarios where userData has been pre-rendered and it just needs to be passed down to the instance.
1 parent 331e52f commit 6227233

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

pkg/cloud/openstack/machine/actuator.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ import (
4242
const (
4343
CloudConfigPath = "/etc/cloud/cloud_config.yaml"
4444

45-
UserDataKey = "userData"
45+
UserDataKey = "userData"
46+
DisableTemplatingKey = "disableTemplating"
4647

4748
TimeoutInstanceCreate = 5 * time.Minute
4849
TimeoutInstanceDelete = 5 * time.Minute
@@ -96,6 +97,7 @@ func (oc *OpenstackClient) Create(ctx context.Context, cluster *clusterv1.Cluste
9697

9798
// get machine startup script
9899
var ok bool
100+
var disableTemplating bool
99101
userData := []byte{}
100102
if providerSpec.UserDataSecret != nil {
101103
namespace := providerSpec.UserDataSecret.Namespace
@@ -116,10 +118,12 @@ func (oc *OpenstackClient) Create(ctx context.Context, cluster *clusterv1.Cluste
116118
if !ok {
117119
return fmt.Errorf("Machine's userdata secret %v in namespace %v did not contain key %v", providerSpec.UserDataSecret.Name, namespace, UserDataKey)
118120
}
121+
122+
_, disableTemplating = userDataSecret.Data[DisableTemplatingKey]
119123
}
120124

121125
var userDataRendered string
122-
if len(userData) > 0 {
126+
if len(userData) > 0 && !disableTemplating {
123127
if util.IsControlPlaneMachine(machine) {
124128
userDataRendered, err = masterStartupScript(cluster, machine, string(userData))
125129
if err != nil {
@@ -139,6 +143,8 @@ func (oc *OpenstackClient) Create(ctx context.Context, cluster *clusterv1.Cluste
139143
"error creating Openstack instance: %v", err))
140144
}
141145
}
146+
} else {
147+
userDataRendered = string(userData)
142148
}
143149

144150
instance, err = machineService.InstanceCreate(fmt.Sprintf("%s/%s", cluster.ObjectMeta.Namespace, cluster.Name), machine.Name, providerSpec, userDataRendered, providerSpec.KeyName)

0 commit comments

Comments
 (0)