Address comments

This commit is contained in:
Janet Kuo
2017-09-07 13:09:05 -07:00
parent 124344a1a4
commit b646a72938
2 changed files with 90 additions and 41 deletions

View File

@@ -17,6 +17,7 @@ limitations under the License.
package deployment
import (
"fmt"
"net/http/httptest"
"testing"
"time"
@@ -144,10 +145,11 @@ func addPodConditionReady(pod *v1.Pod, time metav1.Time) {
}
}
func (d *deploymentTester) waitForDeploymentRevisionAndImage(revision, image string) {
func (d *deploymentTester) waitForDeploymentRevisionAndImage(revision, image string) error {
if err := testutil.WaitForDeploymentRevisionAndImage(d.c, d.deployment.Namespace, d.deployment.Name, revision, image, d.t.Logf, pollInterval, pollTimeout); err != nil {
d.t.Fatalf("failed to wait for Deployment revision %s: %v", d.deployment.Name, err)
return fmt.Errorf("failed to wait for Deployment revision %s: %v", d.deployment.Name, err)
}
return nil
}
// markAllPodsReady manually updates all Deployment pods status to ready
@@ -194,48 +196,57 @@ func (d *deploymentTester) waitForDeploymentStatusValid() error {
// waitForDeploymentStatusValidAndMarkPodsReady waits for the Deployment status to become valid
// while marking all Deployment pods as ready at the same time.
func (d *deploymentTester) waitForDeploymentStatusValidAndMarkPodsReady() {
func (d *deploymentTester) waitForDeploymentStatusValidAndMarkPodsReady() error {
// Manually mark all Deployment pods as ready in a separate goroutine
go d.markAllPodsReady()
// Make sure the Deployment status is valid while Deployment pods are becoming ready
err := d.waitForDeploymentStatusValid()
if err != nil {
d.t.Fatalf("failed to wait for Deployment status %s: %v", d.deployment.Name, err)
return fmt.Errorf("failed to wait for Deployment status %s: %v", d.deployment.Name, err)
}
return nil
}
func (d *deploymentTester) updateDeployment(applyUpdate testutil.UpdateDeploymentFunc) (*v1beta1.Deployment, error) {
return testutil.UpdateDeploymentWithRetries(d.c, d.deployment.Namespace, d.deployment.Name, applyUpdate, d.t.Logf)
}
func (d *deploymentTester) waitForObservedDeployment(desiredGeneration int64) {
func (d *deploymentTester) waitForObservedDeployment(desiredGeneration int64) error {
if err := testutil.WaitForObservedDeployment(d.c, d.deployment.Namespace, d.deployment.Name, desiredGeneration); err != nil {
d.t.Fatalf("failed waiting for ObservedGeneration of deployment %s to become %d: %v", d.deployment.Name, desiredGeneration, err)
return fmt.Errorf("failed waiting for ObservedGeneration of deployment %s to become %d: %v", d.deployment.Name, desiredGeneration, err)
}
return nil
}
func (d *deploymentTester) getNewReplicaSet() *v1beta1.ReplicaSet {
func (d *deploymentTester) getNewReplicaSet() (*v1beta1.ReplicaSet, error) {
rs, err := deploymentutil.GetNewReplicaSet(d.deployment, d.c.ExtensionsV1beta1())
if err != nil {
d.t.Fatalf("failed retrieving new replicaset of deployment %s: %v", d.deployment.Name, err)
return nil, fmt.Errorf("failed retrieving new replicaset of deployment %s: %v", d.deployment.Name, err)
}
return rs
return rs, nil
}
func (d *deploymentTester) expectNoNewReplicaSet() {
rs := d.getNewReplicaSet()
func (d *deploymentTester) expectNoNewReplicaSet() error {
rs, err := d.getNewReplicaSet()
if err != nil {
return err
}
if rs != nil {
d.t.Fatalf("expected deployment %s not to create a new replicaset, got %v", d.deployment.Name, rs)
return fmt.Errorf("expected deployment %s not to create a new replicaset, got %v", d.deployment.Name, rs)
}
return nil
}
func (d *deploymentTester) expectNewReplicaSet() *v1beta1.ReplicaSet {
rs := d.getNewReplicaSet()
if rs == nil {
d.t.Fatalf("expected deployment %s to create a new replicaset, got nil", d.deployment.Name)
func (d *deploymentTester) expectNewReplicaSet() (*v1beta1.ReplicaSet, error) {
rs, err := d.getNewReplicaSet()
if err != nil {
return nil, err
}
return rs
if rs == nil {
return nil, fmt.Errorf("expected deployment %s to create a new replicaset, got nil", d.deployment.Name)
}
return rs, nil
}
func pauseFn() func(update *v1beta1.Deployment) {