Create service for gluster endpoint

Creating an endpoint without a service can cause endpoint to disappear

https://github.com/kubernetes/kubernetes/issues/12964
This commit is contained in:
Hemant Kumar 2020-07-29 09:59:23 -04:00
parent 8e8b6a01cf
commit 20934d7e50
2 changed files with 33 additions and 4 deletions

View File

@ -173,6 +173,23 @@ func NewGlusterfsServer(cs clientset.Interface, namespace string) (config TestCo
}
pod, ip = CreateStorageServer(cs, config)
service := &v1.Service{
ObjectMeta: metav1.ObjectMeta{
Name: config.Prefix + "-server",
},
Spec: v1.ServiceSpec{
Ports: []v1.ServicePort{
{
Protocol: v1.ProtocolTCP,
Port: 24007,
},
},
},
}
_, err := cs.CoreV1().Services(namespace).Create(context.TODO(), service, metav1.CreateOptions{})
framework.ExpectNoError(err, "failed to create service for Gluster server")
ginkgo.By("creating Gluster endpoints")
endpoints := &v1.Endpoints{
TypeMeta: metav1.TypeMeta{
@ -199,7 +216,7 @@ func NewGlusterfsServer(cs clientset.Interface, namespace string) (config TestCo
},
},
}
_, err := cs.CoreV1().Endpoints(namespace).Create(context.TODO(), endpoints, metav1.CreateOptions{})
_, err = cs.CoreV1().Endpoints(namespace).Create(context.TODO(), endpoints, metav1.CreateOptions{})
framework.ExpectNoError(err, "failed to create endpoints for Gluster server")
return config, pod, ip

View File

@ -324,14 +324,26 @@ func (v *glusterVolume) DeleteVolume() {
name := v.prefix + "-server"
framework.Logf("Deleting Gluster endpoints %q...", name)
nameSpaceName := fmt.Sprintf("%s/%s", ns.Name, name)
framework.Logf("Deleting Gluster endpoints %s...", nameSpaceName)
err := cs.CoreV1().Endpoints(ns.Name).Delete(context.TODO(), name, metav1.DeleteOptions{})
if err != nil {
if !apierrors.IsNotFound(err) {
framework.Failf("Gluster delete endpoints failed: %v", err)
framework.Failf("Gluster deleting endpoint %s failed: %v", nameSpaceName, err)
}
framework.Logf("Gluster endpoints %q not found, assuming deleted", name)
framework.Logf("Gluster endpoints %q not found, assuming deleted", nameSpaceName)
}
framework.Logf("Deleting Gluster service %s...", nameSpaceName)
err = cs.CoreV1().Services(ns.Name).Delete(context.TODO(), name, metav1.DeleteOptions{})
if err != nil {
if !apierrors.IsNotFound(err) {
framework.Failf("Gluster deleting service %s failed: %v", nameSpaceName, err)
}
framework.Logf("Gluster service %q not found, assuming deleted", nameSpaceName)
}
framework.Logf("Deleting Gluster server pod %q...", v.serverPod.Name)
err = e2epod.DeletePodWithWait(cs, v.serverPod)
if err != nil {