Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-22823

Scheduler hint message makes confusion for WROP: 2 node has pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 4.14
    • kube-scheduler
    • None
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      Scheduler hint message sounds odd and makes confusion for failed scheduling with WriteWriteOncePod PVC, it mentions: "2 node has pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode".
      ============
       Warning FailedScheduling <invalid> default-scheduler 0/7 nodes are available: 2 node has pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode, 2 node(s) had untolerated taint {os: Windows}, 3 node(s) had untolerated taint {node-role.kubernetes.io/master: }. preemption: 0/7 nodes are available: 2 No preemption victims found for incoming pod, 5 Preemption is not helpful for scheduling. 
      ============
      I think the warning wants to say: there are two schedulable nodes but there is one pod used the same PVC with RWOP already. Here the scheduling fails because the pod only, the pod might be running in one of these 2 nodes, or even not in these 2 nodes, but the message makes confusion.

      Version-Release number of selected component (if applicable):

      4.14.0

      How reproducible:

      Always

      Steps to Reproduce:

      1. Create a pvc with accessMode: WriteWriteOncePod
      2. Create deployment and the deployment consumes the pvc
      3. Scale the deployment to --replicas=2
      4. New pod is pending as expected, check the info with "oc describe pod" 
      
      $ more 01_deployment_pvc_rwop.yaml
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: 01-mydeploy-rwop
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: hello-openshift
        template:
          metadata:
            labels:
              app: hello-openshift
          spec:
            containers:
            - name: hello-openshift
              image: quay.io/openshifttest/storage@sha256:a05b96d373be86f46e76817487027a7f5b8b5f87c0ac18a246b018df11529b40
              volumeMounts:
              - name: local
                mountPath: /mnt/local
            volumes:
            - name: local
              persistentVolumeClaim:
                claimName: 01-mypvc-rwop---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: 01-mypvc-rwop
      spec:
        accessModes:
        - ReadWriteOncePod
        resources:
          requests:
            storage: 10Gi
      

      Actual results:

        Warning  FailedScheduling  <invalid>                      default-scheduler  0/7 nodes are available: 2 node has pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode, 2 node(s) had untolerated taint {os: Windows}, 3 node(s) had untolerated taint {node-role.kubernetes.io/master: }. preemption: 0/7 nodes are available: 2 No preemption victims found for incoming pod, 5 Preemption is not helpful for scheduling.

      Expected results:

      1. Only mentioning that pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode, this is the primary reason。 
      
      2. Or maybe we could use(?): 2 node(s) are shceduleable but the is one pod using PersistentVolumeClaim with the same name and ReadWriteOncePod access mode already.
      
      Anyway, current message sounds odd and makes confusion.

      Additional info:

       

            rhn-engineering-jsafrane Jan Safranek
            wduan@redhat.com Wei Duan
            Rama Kasturi Narra Rama Kasturi Narra
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: