func updateIngressOrFail(clientset *federation_release_1_4.Clientset, namespace string) (newIng *v1beta1.Ingress) { var err error if clientset == nil || len(namespace) == 0 { Fail(fmt.Sprintf("Internal error: invalid parameters passed to createIngressOrFail: clientset: %v, namespace: %v", clientset, namespace)) } ingress := &v1beta1.Ingress{ ObjectMeta: v1.ObjectMeta{ Name: FederatedIngressName, }, Spec: v1beta1.IngressSpec{ Backend: &v1beta1.IngressBackend{ ServiceName: "updated-testingress-service", ServicePort: intstr.FromInt(80), }, }, } for MaxRetriesOnFederatedApiserver := 0; MaxRetriesOnFederatedApiserver < 3; MaxRetriesOnFederatedApiserver++ { _, err = clientset.Extensions().Ingresses(namespace).Get(FederatedIngressName) if err != nil { framework.Failf("failed to get ingress %q: %v", FederatedIngressName, err) } newIng, err = clientset.Extensions().Ingresses(namespace).Update(ingress) if err == nil { describeIng(namespace) return } if !errors.IsConflict(err) && !errors.IsServerTimeout(err) { framework.Failf("failed to update ingress %q: %v", FederatedIngressName, err) } } framework.Failf("too many retries updating ingress %q", FederatedIngressName) return newIng }
func createReplicaSetOrFail(clientset *federation_release_1_4.Clientset, namespace string) *v1beta1.ReplicaSet { if clientset == nil || len(namespace) == 0 { Fail(fmt.Sprintf("Internal error: invalid parameters passed to createReplicaSetOrFail: clientset: %v, namespace: %v", clientset, namespace)) } By(fmt.Sprintf("Creating federation replicaset %q in namespace %q", FederationReplicaSetName, namespace)) replicas := int32(5) replicaset := &v1beta1.ReplicaSet{ ObjectMeta: v1.ObjectMeta{ Name: FederationReplicaSetName, }, Spec: v1beta1.ReplicaSetSpec{ Replicas: &replicas, Template: v1.PodTemplateSpec{ ObjectMeta: v1.ObjectMeta{ Labels: map[string]string{"name": "myrs"}, }, Spec: v1.PodSpec{ Containers: []v1.Container{ { Name: "nginx", Image: "nginx", }, }, }, }, }, } _, err := clientset.Extensions().ReplicaSets(namespace).Create(replicaset) framework.ExpectNoError(err, "Creating replicaset %q in namespace %q", replicaset.Name, namespace) By(fmt.Sprintf("Successfully created federation replicaset %q in namespace %q", FederationReplicaSetName, namespace)) return replicaset }
// waitForFederatedIngressExists waits for the Ingress object exists. func waitForFederatedIngressExists(c *federation_release_1_4.Clientset, ns, ingName string, timeout time.Duration) error { err := wait.PollImmediate(10*time.Second, timeout, func() (bool, error) { _, err := c.Extensions().Ingresses(ns).Get(ingName) if err != nil { framework.Logf("Waiting for Ingress %v, error %v", ingName, err) return false, nil } return true, nil }) return err }
func createReplicaSetOrFail(clientset *federation_release_1_4.Clientset, namespace string) *v1beta1.ReplicaSet { if clientset == nil || len(namespace) == 0 { Fail(fmt.Sprintf("Internal error: invalid parameters passed to createReplicaSetOrFail: clientset: %v, namespace: %v", clientset, namespace)) } By(fmt.Sprintf("Creating federation replicaset %q in namespace %q", FederationReplicaSetName, namespace)) replicaset := newReplicaSet(namespace, FederationReplicaSetName, 5) _, err := clientset.Extensions().ReplicaSets(namespace).Create(replicaset) framework.ExpectNoError(err, "Creating replicaset %q in namespace %q", replicaset.Name, namespace) By(fmt.Sprintf("Successfully created federation replicaset %q in namespace %q", FederationReplicaSetName, namespace)) return replicaset }
// getFederatedIngressAddress returns the ips/hostnames associated with the Ingress. func getFederatedIngressAddress(client *federation_release_1_4.Clientset, ns, name string) ([]string, error) { ing, err := client.Extensions().Ingresses(ns).Get(name) if err != nil { return nil, err } addresses := []string{} for _, a := range ing.Status.LoadBalancer.Ingress { if a.IP != "" { addresses = append(addresses, a.IP) } if a.Hostname != "" { addresses = append(addresses, a.Hostname) } } return addresses, nil }
func createIngressOrFail(clientset *federation_release_1_4.Clientset, namespace string) *v1beta1.Ingress { if clientset == nil || len(namespace) == 0 { Fail(fmt.Sprintf("Internal error: invalid parameters passed to createIngressOrFail: clientset: %v, namespace: %v", clientset, namespace)) } By(fmt.Sprintf("Creating federated ingress %q in namespace %q", FederatedIngressName, namespace)) ingress := &v1beta1.Ingress{ ObjectMeta: v1.ObjectMeta{ Name: FederatedIngressName, }, Spec: v1beta1.IngressSpec{ Backend: &v1beta1.IngressBackend{ ServiceName: "testingress-service", ServicePort: intstr.FromInt(80), }, }, } newIng, err := clientset.Extensions().Ingresses(namespace).Create(ingress) framework.ExpectNoError(err, "Creating ingress %q in namespace %q", ingress.Name, namespace) By(fmt.Sprintf("Successfully created federated ingress %q in namespace %q", FederatedIngressName, namespace)) return newIng }