Bug 1274239
Summary: | Old Pods cann't be deleted after change the project defaultNodeSelector | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Anping Li <anli> |
Component: | Node | Assignee: | Andy Goldstein <agoldste> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Jianwei Hou <jhou> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 3.0.0 | CC: | agoldste, aos-bugs, jokerman, mmccomas, sdodson |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | atomic-openshift-3.0.2.905-0.git.0.85d6f88.el7aos | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-11-23 14:26:08 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Anping Li
2015-10-22 10:42:15 UTC
This doesn't appear to be a router issue. Reassigning to cluster infra team. The only issue I see here is the following: 1. label a node with region=infra 2. set project's default node selector to region=infra 3. create a pod with node selector region=infra 4. change project's default node selector to region=primary 5. delete pod At this point, the pod stays in terminating, and the error message is Failed to updated pod status: error updating status for pod "docker-registry-1-jo0js_default": pods "docker-registry-1-jo0js" is forbidden: pod node label selector conflicts with its project node label selector. I am able to create a new pod by setting its node selector to region=primary (as long as there is a node with that label). I will look into the deletion issue. PR is in the merge queue. Commit pushed to master at https://github.com/openshift/origin https://github.com/openshift/origin/commit/fe6e529d591478d712c0c361aeabe4691b1f44e4 Only run pod nodeenv admission on create Only run pod nodeenv admission on create. Don't run it on update. Fixes the following scenario: 1. label a node with region=infra 2. set project's default node selector to region=infra 3. create a pod with node selector region=infra 4. change project's default node selector to region=primary 5. try to delete pod Without this fix, the nodeenv admission plugin will reject a pod update with this error: Failed to updated pod status: error updating status for pod "docker-registry-1-jo0js_default": pods "docker-registry-1-jo0js" is forbidden: pod node label selector conflicts with its project node label selector. The end result is the pod remains in the Terminating phase, instead of being deleted. Fixes bug 1274239 The bugs was opened against on Enterprise, Was it merged into OSE3.1? It's not in OSE yet. I'll put together a PR for that. Moving back to modified until this is in the next OSE build. Scott will update when that happens. The pod can be deleted after change default selector. so move to Verified. This fix is available in OpenShift Enterprise 3.1. |