Skip to content

Commit

Permalink
Merge pull request #18524 from tnozicka/backport-dc-trigger-reconcili…
Browse files Browse the repository at this point in the history
…ation-on-image-change-release-3.7

Automatic merge from submit-queue.

[3.7] Backport dc trigger reconciliation on image change release

- fixup import and variable names to avoid conflicts with backports
- backport https://github.com/openshift/origin/pull/17539/commits
- backport https://github.com/openshift/origin/pull/18118/commits

/cc @mfojtik @ironcladlou
  • Loading branch information
openshift-merge-robot authored Feb 13, 2018
2 parents f28eb2e + 030fac4 commit de12586
Show file tree
Hide file tree
Showing 9 changed files with 967 additions and 599 deletions.
154 changes: 77 additions & 77 deletions pkg/apps/controller/deployer/deployer_controller.go

Large diffs are not rendered by default.

258 changes: 129 additions & 129 deletions pkg/apps/controller/deployer/deployer_controller_test.go

Large diffs are not rendered by default.

266 changes: 138 additions & 128 deletions pkg/apps/controller/deploymentconfig/deploymentconfig_controller.go

Large diffs are not rendered by default.

243 changes: 135 additions & 108 deletions pkg/apps/controller/deploymentconfig/deploymentconfig_controller_test.go

Large diffs are not rendered by default.

11 changes: 7 additions & 4 deletions pkg/image/trigger/deploymentconfigs/deploymentconfigs.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,19 @@ func (i deploymentConfigTriggerIndexer) Index(obj, old interface{}) (string, *tr
default:
// updated
dc = obj.(*appsapi.DeploymentConfig)
oldDC := old.(*appsapi.DeploymentConfig)
triggers = calculateDeploymentConfigTriggers(dc)
oldTriggers := calculateDeploymentConfigTriggers(old.(*appsapi.DeploymentConfig))
oldTriggers := calculateDeploymentConfigTriggers(oldDC)
switch {
case len(oldTriggers) == 0:
change = cache.Added
case !reflect.DeepEqual(oldTriggers, triggers):
change = cache.Updated
// We need to react on image changes as well. Image names could change,
// images could be set to different value or resetted to "" e.g. by oc apply
// and we need to make sure those changes get reconciled by re-resolving images
case !reflect.DeepEqual(dc.Spec.Template.Spec.Containers, oldDC.Spec.Template.Spec.Containers):
change = cache.Updated
}
}

Expand Down Expand Up @@ -190,9 +196,6 @@ func UpdateDeploymentConfigImages(dc *appsapi.DeploymentConfig, tagRetriever tri
glog.V(4).Infof("trigger %#v in deployment %s is not resolveable", p, dc.Name)
return nil, false, nil
}
if ref == p.LastTriggeredImage {
continue
}

if len(ref) == 0 {
ref = p.LastTriggeredImage
Expand Down
368 changes: 344 additions & 24 deletions test/extended/deployments/deployments.go

Large diffs are not rendered by default.

148 changes: 81 additions & 67 deletions test/extended/deployments/util.go

Large diffs are not rendered by default.

59 changes: 28 additions & 31 deletions test/extended/testdata/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

59 changes: 28 additions & 31 deletions test/extended/testdata/deployments/deployment-trigger.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: DeploymentConfig
metadata:
labels:
app: example
name: example
spec:
replicas: 1
template:
metadata:
labels:
app: example
spec:
containers:
- imagePullPolicy: Always
name: test
command:
- /bin/sleep
- "100"
test: false
triggers:
- imageChangeParams:
automatic: true
containerNames:
- test
from:
kind: ImageStreamTag
name: test:v1
type: ImageChange
kind: DeploymentConfig
metadata:
labels:
app: example
name: example
spec:
replicas: 1
template:
metadata:
labels:
app: example
spec:
containers:
- imagePullPolicy: Always
name: test
command:
- /bin/sleep
- "100"
test: false
triggers:
- imageChangeParams:
automatic: true
containerNames:
- test
from:
kind: ImageStreamTag
name: test:v1
type: ImageChange

0 comments on commit de12586

Please sign in to comment.