upgrade K8s dependency lib to v0.21 (#1985)

* upgrade K8s dependency to v0.21

* update CRD for new version of controller-runtime

* fix ci component revision create must fill Raw in runtime.RawExtension

* try fix test

* start control plane timeout set to 1min and fix tests

* add timeout for env test start and stop

* longer timeout time for BeforeSuit function

* upgrade kubebuilder and k8s cluster version to match with v1.21.2 in github action

* fix test

* fix resource tracker ownerRef override

* update developer guides
This commit is contained in:
Jianbo Sun
2021-08-03 11:30:02 +08:00
committed by GitHub
parent 7a1f95773d
commit aa87d3da24
194 changed files with 23780 additions and 7287 deletions
+2 -2
View File
@@ -26,6 +26,6 @@ const (
)
// NewReconcileContext create context with default timeout (60s)
func NewReconcileContext() (context.Context, context.CancelFunc) {
return context.WithTimeout(context.Background(), reconcileTimeout)
func NewReconcileContext(ctx context.Context) (context.Context, context.CancelFunc) {
return context.WithTimeout(ctx, reconcileTimeout)
}
@@ -113,7 +113,7 @@ func TestMakeHTTPRequest(t *testing.T) {
}
for testName, tt := range tests {
func(testName string) {
mockUrl := mockUrlBase + strconv.FormatInt(rand.Int63n(128)+1000, 10)
mockUrl := mockUrlBase + strconv.FormatInt(rand.Int63n(128)+2000, 10)
// generate a test server so we can capture and inspect the request
testServer := NewMock(tt.httpParameter.method, mockUrl, tt.httpParameter.statusCode, tt.httpParameter.body)
defer testServer.Close()
@@ -207,7 +207,7 @@ func TestCallWebhook(t *testing.T) {
}
for name, tt := range tests {
func(name string) {
url := mockUrlBase + strconv.FormatInt(rand.Int63n(4848)+1000, 10)
url := mockUrlBase + strconv.FormatInt(rand.Int63n(4848)+2000, 10)
tt.args.rw.URL = "http://" + url
// generate a test server so we can capture and inspect the request
testServer := NewMock(http.MethodPost, url, tt.returnedStatusCode, body)
@@ -136,7 +136,7 @@ func (c *CloneSetRolloutController) Initialize(ctx context.Context) (bool, error
}
// add the parent controller to the owner of the cloneset
// before kicking start the update and start from every pod in the old version
clonePatch := client.MergeFrom(c.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(c.cloneSet.DeepCopy())
ref := metav1.NewControllerRef(c.parentController, c.parentController.GetObjectKind().GroupVersionKind())
c.cloneSet.SetOwnerReferences(append(c.cloneSet.GetOwnerReferences(), *ref))
c.cloneSet.Spec.UpdateStrategy.Paused = false
@@ -165,7 +165,7 @@ func (c *CloneSetRolloutController) RolloutOneBatchPods(ctx context.Context) (bo
newPodTarget := calculateNewBatchTarget(c.rolloutSpec, 0, int(cloneSetSize), int(c.rolloutStatus.CurrentBatch))
// set the Partition as the desired number of pods in old revisions.
clonePatch := client.MergeFrom(c.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(c.cloneSet.DeepCopy())
c.cloneSet.Spec.UpdateStrategy.Partition = &intstr.IntOrString{Type: intstr.Int,
IntVal: cloneSetSize - int32(newPodTarget)}
// patch the Cloneset
@@ -260,7 +260,7 @@ func (c *CloneSetRolloutController) Finalize(ctx context.Context, succeed bool)
c.rolloutStatus.RolloutRetry(err.Error())
return false
}
clonePatch := client.MergeFrom(c.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(c.cloneSet.DeepCopy())
// remove the parent controller from the resources' owner list
var newOwnerList []metav1.OwnerReference
isOwner := false
@@ -139,7 +139,7 @@ func (s *CloneSetScaleController) Initialize(ctx context.Context) (bool, error)
}
}
// add the parent controller to the owner of the cloneset
clonePatch := client.MergeFrom(s.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(s.cloneSet.DeepCopy())
ref := metav1.NewControllerRef(s.parentController, s.parentController.GetObjectKind().GroupVersionKind())
s.cloneSet.SetOwnerReferences(append(s.cloneSet.GetOwnerReferences(), *ref))
s.cloneSet.Spec.UpdateStrategy.Paused = false
@@ -164,7 +164,7 @@ func (s *CloneSetScaleController) RolloutOneBatchPods(ctx context.Context) (bool
return false, nil
}
clonePatch := client.MergeFrom(s.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(s.cloneSet.DeepCopy())
// set the replica according to the batch
newPodTarget := calculateNewBatchTarget(s.rolloutSpec, int(s.rolloutStatus.RolloutOriginalSize),
int(s.rolloutStatus.RolloutTargetSize), int(s.rolloutStatus.CurrentBatch))
@@ -274,7 +274,7 @@ func (s *CloneSetScaleController) Finalize(ctx context.Context, succeed bool) bo
s.rolloutStatus.RolloutRetry(err.Error())
return false
}
clonePatch := client.MergeFrom(s.cloneSet.DeepCopyObject())
clonePatch := client.MergeFrom(s.cloneSet.DeepCopy())
// remove the parent controller from the resources' owner list
var newOwnerList []metav1.OwnerReference
isOwner := false
@@ -46,7 +46,7 @@ func (c *deploymentController) claimDeployment(ctx context.Context, deploy *apps
return true, nil
}
deployPatch := client.MergeFrom(deploy.DeepCopyObject())
deployPatch := client.MergeFrom(deploy.DeepCopy())
// add the parent controller to the owner of the deployment
ref := metav1.NewControllerRef(c.parentController, c.parentController.GetObjectKind().GroupVersionKind())
@@ -68,7 +68,7 @@ func (c *deploymentController) claimDeployment(ctx context.Context, deploy *apps
// scale the deployment
func (c *deploymentController) scaleDeployment(ctx context.Context, deploy *apps.Deployment, size int32) error {
deployPatch := client.MergeFrom(deploy.DeepCopyObject())
deployPatch := client.MergeFrom(deploy.DeepCopy())
deploy.Spec.Replicas = pointer.Int32Ptr(size)
// patch the Deployment
@@ -86,7 +86,7 @@ func (c *deploymentController) scaleDeployment(ctx context.Context, deploy *apps
// remove the parent controller from the deployment's owner list
func (c *deploymentController) releaseDeployment(ctx context.Context, deploy *apps.Deployment) (bool, error) {
deployPatch := client.MergeFrom(deploy.DeepCopyObject())
deployPatch := client.MergeFrom(deploy.DeepCopy())
var newOwnerList []metav1.OwnerReference
found := false
@@ -106,7 +106,6 @@ func (c *DeploymentRolloutController) VerifySpec(ctx context.Context) (bool, err
if verifyErr = c.verifyRolloutBatchReplicaValue(targetTotalReplicas); verifyErr != nil {
return false, verifyErr
}
if !c.sourceDeploy.Spec.Paused && getDeploymentReplicas(&c.sourceDeploy) != c.sourceDeploy.Status.Replicas {
return false, fmt.Errorf("the source deployment %s is still being reconciled, need to be paused or stable",
c.sourceDeploy.GetName())
@@ -45,7 +45,7 @@ func (c *statefulSetController) claimStatefulSet(ctx context.Context, statefulSe
return true, nil
}
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopyObject())
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopy())
// add the parent controller to the owner of the StatefulSet
ref := metav1.NewControllerRef(c.parentController, v1beta1.AppRolloutKindVersionKind)
@@ -66,7 +66,7 @@ func (c *statefulSetController) claimStatefulSet(ctx context.Context, statefulSe
// scale the StatefulSet
func (c *statefulSetController) scaleStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet, size int32) error {
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopyObject())
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopy())
statefulSet.Spec.Replicas = pointer.Int32Ptr(size)
// patch the StatefulSet
@@ -84,7 +84,7 @@ func (c *statefulSetController) scaleStatefulSet(ctx context.Context, statefulSe
// remove the parent controller from the StatefulSet's owner list
func (c *statefulSetController) releaseStatefulSet(ctx context.Context, statefulSet *apps.StatefulSet) (bool, error) {
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopyObject())
statefulSetPatch := client.MergeFrom(statefulSet.DeepCopy())
var newOwnerList []metav1.OwnerReference
found := false
@@ -21,6 +21,7 @@ import (
"context"
"path/filepath"
"testing"
"time"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
@@ -55,8 +56,10 @@ var _ = BeforeSuite(func(done Done) {
filepath.Join("../../../../..", "charts/vela-core/crds"),
"testdata",
},
ErrorIfCRDPathMissing: true,
UseExistingCluster: pointer.BoolPtr(false),
ErrorIfCRDPathMissing: true,
UseExistingCluster: pointer.BoolPtr(false),
ControlPlaneStartTimeout: time.Minute,
ControlPlaneStopTimeout: time.Minute,
}
var err error
cfg, err = testEnv.Start()