• k8s-merge-robot's avatar
    Merge pull request #24514 from derekwaynecarr/pod_quota_fix · 32121e34
    k8s-merge-robot authored
    Automatic merge from submit-queue
    
    Quota ignores pod compute resources on updates
    
    Scenario:
    
    1. define a quota Q that tracks memory and cpu
    2. create pod P that uses memory=100Mi, cpu=100m
    3. update pod P to use memory=50Mi,cpu=10m
    
    Expected Results:
    Step 3 should fail with validation error.
    Quota Q should not have changed.
    
    Actual Results:
    Step 3 fails validation, but quota Q is decremented to have memory usage down 50Mi and cpu usage down 40m.  This is because the quota was getting updated even though the pod was going to fail validation.
    
    Fix:
    Quota should only support modifying pod compute resources when pods themselves support modifying their compute resources.
    
    This also fixes https://github.com/kubernetes/kubernetes/issues/24352
    
    /cc @smarterclayton - this is what we discussed.
    
    fyi: @kubernetes/rh-cluster-infra 
    32121e34
Name
Last commit
Last update
..
admission Loading commit data...
api Loading commit data...
apimachinery Loading commit data...
apis Loading commit data...
apiserver Loading commit data...
auth Loading commit data...
capabilities Loading commit data...
client Loading commit data...
cloudprovider Loading commit data...
controller Loading commit data...
conversion Loading commit data...
credentialprovider Loading commit data...
fieldpath Loading commit data...
fields Loading commit data...
genericapiserver Loading commit data...
healthz Loading commit data...
httplog Loading commit data...
hyperkube Loading commit data...
kubectl Loading commit data...
kubelet Loading commit data...
kubemark Loading commit data...
labels Loading commit data...
master Loading commit data...
metrics Loading commit data...
probe Loading commit data...
proxy Loading commit data...
quota Loading commit data...
registry Loading commit data...
runtime Loading commit data...
securitycontext Loading commit data...
serviceaccount Loading commit data...
ssh Loading commit data...
storage Loading commit data...
types Loading commit data...
ui Loading commit data...
util Loading commit data...
version Loading commit data...
volume Loading commit data...
watch Loading commit data...
OWNERS Loading commit data...