Red Hat Bugzilla – Bug 1449568
Setting quota sync period doesn't take effect
Last modified: 2017-08-16 15:51 EDT
Description of problem: Create same named resources, quota system counts this consumption. Wait for the configured quota sync interval, quota usage won't go back to actual usage. So how to reconcile: restart master service whether the "resource-quota-sync-period" set or not. Version-Release number of selected component (if applicable): openshift v3.6.71 kubernetes v1.6.1+5115d708d7 etcd 3.1.0 How reproducible: Always Steps to Reproduce: 1. Set "resource-quota-sync-period" to 10s on master-config.yaml and restart master service # cat master-config.yaml kubernetesMasterConfig: controllerArguments: resource-quota-sync-period: - "10s" # service atomic-openshift-master restart 2. Create a quota for storage and PVC # oc create quota storage-quota --hard=persistentvolumeclaims=10,requests.storage=50Gi,gold.storageclass.storage.k8s.io/requests.storage=10Gi,bronze.storageclass.storage.k8s.io/requests.storage=20Gi -n qwang1 3.Create a pvc # cat pvc-ebs-gold.json { "kind": "PersistentVolumeClaim", "apiVersion": "v1", "metadata": { "name": "pvc-ebs-gold", "labels": { "name": "pvc-ebs-gold" }, "annotations": { "volume.beta.kubernetes.io/storage-class": "gold" } }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "2Gi" } } } } # oc create -f pvc-ebs-gold.json # oc describe quota storage-quota 4. Step 3 retry. 5. Check quota after 10s/10min. Actual results: 3. # oc describe quota storage-quota; date Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Wed May 10 17:16:11 CST 2017 4. # oc create -f pvc-ebs-gold.json Error from server (AlreadyExists): error when creating "pvc-ebs-gold.json": persistentvolumeclaims "pvc-ebs-gold" already exists 5. # oc describe quota storage-quota; date Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 4Gi 10Gi persistentvolumeclaims 2 10 requests.storage 4Gi 50Gi Wed May 10 17:29:01 CST 2017 Expected results: 5. The quota should restore (to the output of step 3)after the interval configured by "resource-quota-sync-period" Additional info:
Tested on OCP3.6(openshift v3.6.95, kubernetes v1.6.1+5115d708d7, etcd 3.1.0). Setting different sync interval and watch time stamps, this quota sync flag takes effect. Move the bug to VERIFIED, thanks. 1. Set resource-quota-sync-period to "10s" # oc create -f pvc-ebs-gold.json; oc describe quota; date; oc create -f pvc-ebs-gold.json; oc describe quota; date; sleep 8; oc describe quota; date; oc delete pvc --all; oc describe quota; date persistentvolumeclaim "pvc-ebs-gold" created Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Tue Jun 6 17:25:26 CST 2017 Error from server (AlreadyExists): error when creating "pvc-ebs-gold.json": persistentvolumeclaims "pvc-ebs-gold" already exists Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 4Gi 10Gi persistentvolumeclaims 2 10 requests.storage 4Gi 50Gi Tue Jun 6 17:25:29 CST 2017 Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Tue Jun 6 17:25:37 CST 2017 persistentvolumeclaim "pvc-ebs-gold" deleted Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 0 10Gi persistentvolumeclaims 0 10 requests.storage 0 50Gi Tue Jun 6 17:25:40 CST 2017 2. Set resource-quota-sync-period to "60s" # oc create -f pvc-ebs-gold.json; oc describe quota; date; oc create -f pvc-ebs-gold.json; oc describe quota; date; sleep 8; oc describe quota; date; sleep 20; oc describe quota; date; sleep 20; oc describe quota; date; sleep 10; oc describe quota; date; oc delete pvc --all; oc describe quota; date persistentvolumeclaim "pvc-ebs-gold" created Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Tue Jun 6 17:51:31 CST 2017 Error from server (AlreadyExists): error when creating "pvc-ebs-gold.json": persistentvolumeclaims "pvc-ebs-gold" already exists Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 4Gi 10Gi persistentvolumeclaims 2 10 requests.storage 4Gi 50Gi Tue Jun 6 17:51:34 CST 2017 Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 4Gi 10Gi persistentvolumeclaims 2 10 requests.storage 4Gi 50Gi Tue Jun 6 17:51:43 CST 2017 Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 4Gi 10Gi persistentvolumeclaims 2 10 requests.storage 4Gi 50Gi Tue Jun 6 17:52:05 CST 2017 Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Tue Jun 6 17:52:26 CST 2017 Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 2Gi 10Gi persistentvolumeclaims 1 10 requests.storage 2Gi 50Gi Tue Jun 6 17:52:38 CST 2017 persistentvolumeclaim "pvc-ebs-gold" deleted Name: storage-quota Namespace: qwang1 Resource Used Hard -------- ---- ---- bronze.storageclass.storage.k8s.io/requests.storage 0 20Gi gold.storageclass.storage.k8s.io/requests.storage 0 10Gi persistentvolumeclaims 0 10 requests.storage 0 50Gi Tue Jun 6 17:52:41 CST 2017
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/RHEA-2017:1716