add template file size to 3m and throw error

Signed-off-by: Weiping Cai <weiping.cai@daocloud.io>
pull/8357/head
Weiping Cai 4 years ago
parent b6bbe4f08b
commit f003cd1f95
No known key found for this signature in database
GPG Key ID: 97CBE6D7C8EBC386

@ -166,6 +166,8 @@ func (cfgmaps *ConfigMaps) Create(key string, rls *rspb.Release) error {
if _, err := cfgmaps.impl.Create(context.Background(), obj, metav1.CreateOptions{}); err != nil {
if apierrors.IsAlreadyExists(err) {
return ErrReleaseExists
} else if apierrors.IsRequestEntityTooLargeError(err) {
return errors.Wrapf(err, "release: storage limit")
}
cfgmaps.Log("create: failed to create: %s", err)

@ -17,11 +17,11 @@ import (
"encoding/base64"
"encoding/json"
"reflect"
"strings"
"testing"
v1 "k8s.io/api/core/v1"
rspb "helm.sh/helm/v3/pkg/release"
v1 "k8s.io/api/core/v1"
)
func TestConfigMapName(t *testing.T) {
@ -178,6 +178,12 @@ func TestConfigMapCreate(t *testing.T) {
if !reflect.DeepEqual(rel, got) {
t.Errorf("Expected {%v}, got {%v}", rel, got)
}
// configmap overhead entity limit
if err := cfgmaps.Create(testKey("large-chart", 1), releaseStub("large-chart", 1, "", rspb.StatusDeployed)); !strings.Contains(err.Error(), "storage limit: Request entity too large") {
t.Errorf("Expected {%v}, got {%v}", "release: storage limit: Request entity too large: Request entity too large: limit is 3145728", err)
}
}
func TestConfigMapUpdate(t *testing.T) {

@ -139,6 +139,9 @@ func (mock *MockConfigMapsInterface) Create(_ context.Context, cfgmap *v1.Config
if object, ok := mock.objects[name]; ok {
return object, apierrors.NewAlreadyExists(v1.Resource("tests"), name)
}
if name == "large-chart.v1" {
return nil, apierrors.NewRequestEntityTooLargeError("Request entity too large: limit is 3145728")
}
mock.objects[name] = cfgmap
return cfgmap, nil
}

@ -156,6 +156,8 @@ func (secrets *Secrets) Create(key string, rls *rspb.Release) error {
if _, err := secrets.impl.Create(context.Background(), obj, metav1.CreateOptions{}); err != nil {
if apierrors.IsAlreadyExists(err) {
return ErrReleaseExists
} else if apierrors.IsRequestEntityTooLargeError(err) {
return errors.Wrapf(err, "release: storage limit")
}
return errors.Wrap(err, "create: failed to create")
@ -179,6 +181,11 @@ func (secrets *Secrets) Update(key string, rls *rspb.Release) error {
}
// push the secret object out into the kubiverse
_, err = secrets.impl.Update(context.Background(), obj, metav1.UpdateOptions{})
if apierrors.IsRequestEntityTooLargeError(err) {
return errors.Wrapf(err, "release: storage limit")
}
return errors.Wrap(err, "update: failed to update")
}

Loading…
Cancel
Save