Bug 1493432
Summary: | Pod scheduled failed when it uses a local storage | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Qin Ping <piqin> |
Component: | Installer | Assignee: | Jan Safranek <jsafrane> |
Status: | CLOSED ERRATA | QA Contact: | Qin Ping <piqin> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 3.7.0 | CC: | aos-bugs, aos-storage-staff, jokerman, jsafrane, mmccomas |
Target Milestone: | --- | ||
Target Release: | 3.7.0 | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-11-28 22:12:03 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
Qin Ping
2017-09-20 07:51:34 UTC
In controller-manager logs I can see that scheduler is started with these predicates and priorities: zář 19 22:29:11 host-8-241-62.host.centralci.eng.rdu2.redhat.com atomic-openshift-master-controllers[18383]: I0919 22:29:11.935972 18383 factory.go:351] Creating scheduler from configuration: {{ }[ {NoVolumeZoneConflict <nil>} {MaxEBSVolumeCount <nil>} {MaxGCEPDVolumeCount <nil>} {MatchInterPodAffinity <nil>} {NoDiskConflict <nil>} {GeneralPredicates <nil>} {PodToleratesNodeTaints <nil>} {CheckNodeMemoryPressure <nil>} {CheckNodeDiskPressure <nil>} {Region 0xc4210392d0}] [{SelectorSpreadPriority 1 <nil>} {InterPodAffinityPriority 1 <nil>} {LeastRequestedPriority 1 <nil>} {BalancedResourceAllocation 1 <nil>} {NodePreferAvoidPodsPriority 10000 <nil>} {NodeAffinityPriority 1 <nil>} {TaintTolerationPriority 1 <nil>} {Zone 2 0xc421039990}] [] 0} (edited for readability) "NoVolumeNodeConflict" is missing there from some reason. NoVolumeNodeConflict predicate is not configured in /etc/origin/master/scheduler.json. It must be added there by installer. As a workaround, you can manually add it there and restart atomic-openshift-master-controllers: ... "predicates": [ { "name": "NoVolumeNodeConflict" }, ... Note that the predicate is enabled when running local cluster by simple "openshift start", i.e. unconfigured OpenShift works out of the box. I'll try to fix it on my own, I need to get familiar with openshift-ansible anyway and this looks like trivial template modification. Verified the workaround in the following version: openshift v3.7.0-0.126.4 kubernetes v1.7.0+80709908fd Pod can be scheduled to the correct node. Verified "NoVolumeNodeConflict" and "MaxAzureDiskVolumeCount" predicate were installed in the following version: oc v3.7.0-0.131.0 kubernetes v1.7.0+80709908fd Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:3188 |