Skip to content

Commit

Permalink
Update azure_lb.go
Browse files Browse the repository at this point in the history
  • Loading branch information
Cecile Robert-Michon committed Sep 19, 2020
1 parent af70f2b commit 7377500
Showing 1 changed file with 80 additions and 80 deletions.
160 changes: 80 additions & 80 deletions test/e2e/azure_lb.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,90 +116,88 @@ func AzureLBSpec(ctx context.Context, inputGetter func() AzureLBSpecInput) {
jobsClient := clientset.BatchV1().Jobs(corev1.NamespaceDefault)
ilbName := "httpd-ilb"
jobName := "curl-to-ilb-job"
if !input.IPv6 {
By("creating an internal Load Balancer service")
By("creating an internal Load Balancer service")

ilbService := &corev1.Service{
ObjectMeta: metav1.ObjectMeta{
Name: ilbName,
Namespace: corev1.NamespaceDefault,
Annotations: map[string]string{
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
},
ilbService := &corev1.Service{
ObjectMeta: metav1.ObjectMeta{
Name: ilbName,
Namespace: corev1.NamespaceDefault,
Annotations: map[string]string{
"service.beta.kubernetes.io/azure-load-balancer-internal": "true",
},
Spec: corev1.ServiceSpec{
Type: corev1.ServiceTypeLoadBalancer,
Ports: []corev1.ServicePort{
{
Name: "http",
Port: 80,
Protocol: corev1.ProtocolTCP,
},
{
Name: "https",
Port: 443,
Protocol: corev1.ProtocolTCP,
},
},
Spec: corev1.ServiceSpec{
Type: corev1.ServiceTypeLoadBalancer,
Ports: []corev1.ServicePort{
{
Name: "http",
Port: 80,
Protocol: corev1.ProtocolTCP,
},
Selector: map[string]string{
"app": "httpd",
{
Name: "https",
Port: 443,
Protocol: corev1.ProtocolTCP,
},
},
}
_, err = servicesClient.Create(ilbService)
Expect(err).NotTo(HaveOccurred())
ilbSvcInput := WaitForServiceAvailableInput{
Getter: servicesClientAdapter{client: servicesClient},
Service: ilbService,
}
WaitForServiceAvailable(context.TODO(), ilbSvcInput, e2eConfig.GetIntervals(specName, "wait-service")...)
Selector: map[string]string{
"app": "httpd",
},
},
}
_, err = servicesClient.Create(ilbService)
Expect(err).NotTo(HaveOccurred())
ilbSvcInput := WaitForServiceAvailableInput{
Getter: servicesClientAdapter{client: servicesClient},
Service: ilbService,
}
WaitForServiceAvailable(context.TODO(), ilbSvcInput, e2eConfig.GetIntervals(specName, "wait-service")...)

By("connecting to the internal LB service from a curl pod")
By("connecting to the internal LB service from a curl pod")

svc, err := servicesClient.Get("httpd-ilb", metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred())
var ilbIP string
for _, i := range svc.Status.LoadBalancer.Ingress {
if net.ParseIP(i.IP) != nil {
if k8snet.IsIPv6String(i.IP) {
ilbIP = fmt.Sprintf("[%s]", i.IP)
break
}
ilbIP = i.IP
svc, err := servicesClient.Get("httpd-ilb", metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred())
var ilbIP string
for _, i := range svc.Status.LoadBalancer.Ingress {
if net.ParseIP(i.IP) != nil {
if k8snet.IsIPv6String(i.IP) {
ilbIP = fmt.Sprintf("[%s]", i.IP)
break
}
ilbIP = i.IP
break
}
ilbJob := &batchv1.Job{
ObjectMeta: metav1.ObjectMeta{
Name: jobName,
Namespace: corev1.NamespaceDefault,
},
Spec: batchv1.JobSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
RestartPolicy: corev1.RestartPolicyNever,
Containers: []corev1.Container{
{
Name: "curl",
Image: "curlimages/curl",
Command: []string{
"curl",
ilbIP,
},
}
ilbJob := &batchv1.Job{
ObjectMeta: metav1.ObjectMeta{
Name: jobName,
Namespace: corev1.NamespaceDefault,
},
Spec: batchv1.JobSpec{
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
RestartPolicy: corev1.RestartPolicyNever,
Containers: []corev1.Container{
{
Name: "curl",
Image: "curlimages/curl",
Command: []string{
"curl",
ilbIP,
},
},
},
},
},
}
_, err = jobsClient.Create(ilbJob)
Expect(err).NotTo(HaveOccurred())
ilbJobInput := WaitForJobCompleteInput{
Getter: jobsClientAdapter{client: jobsClient},
Job: ilbJob,
}
WaitForJobComplete(context.TODO(), ilbJobInput, e2eConfig.GetIntervals(specName, "wait-job")...)
},
}
_, err = jobsClient.Create(ilbJob)
Expect(err).NotTo(HaveOccurred())
ilbJobInput := WaitForJobCompleteInput{
Getter: jobsClientAdapter{client: jobsClient},
Job: ilbJob,
}
WaitForJobComplete(context.TODO(), ilbJobInput, e2eConfig.GetIntervals(specName, "wait-job")...)

By("creating an external Load Balancer service")
elbService := &corev1.Service{
Expand Down Expand Up @@ -235,7 +233,7 @@ func AzureLBSpec(ctx context.Context, inputGetter func() AzureLBSpecInput) {
WaitForServiceAvailable(context.TODO(), elbSvcInput, e2eConfig.GetIntervals(specName, "wait-service")...)

By("connecting to the external LB service from a curl pod")
svc, err := servicesClient.Get("httpd-elb", metav1.GetOptions{})
svc, err = servicesClient.Get("httpd-elb", metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred())
var elbIP string
for _, i := range svc.Status.LoadBalancer.Ingress {
Expand Down Expand Up @@ -279,18 +277,20 @@ func AzureLBSpec(ctx context.Context, inputGetter func() AzureLBSpecInput) {
}
WaitForJobComplete(context.TODO(), elbJobInput, e2eConfig.GetIntervals(specName, "wait-job")...)

By("connecting directly to the external LB service")
url := fmt.Sprintf("http://%s", elbIP)
resp, err := retryablehttp.Get(url)
if resp != nil {
defer resp.Body.Close()
if !input.IPv6 {
By("connecting directly to the external LB service")
url := fmt.Sprintf("http://%s", elbIP)
resp, err := retryablehttp.Get(url)
if resp != nil {
defer resp.Body.Close()
}
Expect(err).NotTo(HaveOccurred())
body, err := ioutil.ReadAll(resp.Body)
Expect(err).NotTo(HaveOccurred())
matched, err := regexp.MatchString("It works!", string(body))
Expect(err).NotTo(HaveOccurred())
Expect(matched).To(BeTrue())
}
Expect(err).NotTo(HaveOccurred())
body, err := ioutil.ReadAll(resp.Body)
Expect(err).NotTo(HaveOccurred())
matched, err := regexp.MatchString("It works!", string(body))
Expect(err).NotTo(HaveOccurred())
Expect(matched).To(BeTrue())

if input.SkipCleanup {
return
Expand Down

0 comments on commit 7377500

Please sign in to comment.