Skip to content

Commit 1e38ab0

Browse files
committed
lib/resourcebuilder/apps: Explicit mode instead of 'Generation > 1'
deploymentBuilder and daemonsetBuilder grow mode properties. They had been using 'actual.Generation > 1' as a proxy for "post-install" since 14fab0b (add generic 2-way merge handler for random types, 2018-09-27, #26), but generation 1 is just "we haven't changed the object since it was created", not "we're installing a fresh cluster". For example, a new Deployment or DaemonSet could be added as part of a cluster update, and we don't want special install-time "we don't care about specific manifest failures" then.
1 parent 8b9931b commit 1e38ab0

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/resourcebuilder/apps.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ type deploymentBuilder struct {
2626
proxyGetter configv1.ProxiesGetter
2727
raw []byte
2828
modifier MetaV1ObjectModifierFunc
29+
mode Mode
2930
}
3031

3132
func newDeploymentBuilder(config *rest.Config, m lib.Manifest) Interface {
@@ -37,6 +38,7 @@ func newDeploymentBuilder(config *rest.Config, m lib.Manifest) Interface {
3738
}
3839

3940
func (b *deploymentBuilder) WithMode(m Mode) Interface {
41+
b.mode = m
4042
return b
4143
}
4244

@@ -74,7 +76,7 @@ func (b *deploymentBuilder) Do(ctx context.Context) error {
7476
if err != nil {
7577
return err
7678
}
77-
if updated && actual.Generation > 1 {
79+
if updated && b.mode != InitializingMode {
7880
return waitForDeploymentCompletion(ctx, b.client, deployment)
7981
}
8082
return nil
@@ -174,6 +176,7 @@ type daemonsetBuilder struct {
174176
proxyGetter configv1.ProxiesGetter
175177
raw []byte
176178
modifier MetaV1ObjectModifierFunc
179+
mode Mode
177180
}
178181

179182
func newDaemonsetBuilder(config *rest.Config, m lib.Manifest) Interface {
@@ -185,6 +188,7 @@ func newDaemonsetBuilder(config *rest.Config, m lib.Manifest) Interface {
185188
}
186189

187190
func (b *daemonsetBuilder) WithMode(m Mode) Interface {
191+
b.mode = m
188192
return b
189193
}
190194

@@ -222,7 +226,7 @@ func (b *daemonsetBuilder) Do(ctx context.Context) error {
222226
if err != nil {
223227
return err
224228
}
225-
if updated && actual.Generation > 1 {
229+
if updated && b.mode != InitializingMode {
226230
return waitForDaemonsetRollout(ctx, b.client, daemonset)
227231
}
228232
return nil

0 commit comments

Comments
 (0)