mirror of https://github.com/k3s-io/k3s
Add a ephemeral namespace to networking.go, to be generalized shortly hereafter.
parent
31b7f75c60
commit
b466b60386
|
@ -25,10 +25,18 @@ import (
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/client"
|
||||||
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/util"
|
||||||
|
|
||||||
|
"github.com/GoogleCloudPlatform/kubernetes/pkg/api/errors"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
//Namespace constants, implemented
|
||||||
|
var svcname = "nettest"
|
||||||
|
var ns = svcname + "-" + randomSuffix()
|
||||||
|
var c *client.Client = nil
|
||||||
|
var namespaceObj *api.Namespace
|
||||||
|
|
||||||
var _ = BeforeSuite(func() {
|
var _ = BeforeSuite(func() {
|
||||||
//Assert basic external connectivity.
|
//Assert basic external connectivity.
|
||||||
//Since this is not really a test of kubernetes in any way, we
|
//Since this is not really a test of kubernetes in any way, we
|
||||||
|
@ -42,6 +50,33 @@ var _ = BeforeSuite(func() {
|
||||||
if resp.StatusCode != http.StatusOK {
|
if resp.StatusCode != http.StatusOK {
|
||||||
Failf("Unexpected error code, expected 200, got, %v (%v)", resp.StatusCode, resp)
|
Failf("Unexpected error code, expected 200, got, %v (%v)", resp.StatusCode, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
By("Building a namespace api object")
|
||||||
|
namespaceObj = &api.Namespace{
|
||||||
|
ObjectMeta: api.ObjectMeta{
|
||||||
|
Name: ns,
|
||||||
|
Namespace: "",
|
||||||
|
},
|
||||||
|
Status: api.NamespaceStatus{},
|
||||||
|
}
|
||||||
|
|
||||||
|
By("Creating a kubernetes client")
|
||||||
|
c, err = loadClient()
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
By("Creating a namespace for this test suite")
|
||||||
|
_, err = c.Namespaces().Create(namespaceObj)
|
||||||
|
Expect(err).NotTo(HaveOccurred())
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
var _ = AfterSuite(func() {
|
||||||
|
By("Destroying namespace for this suite")
|
||||||
|
err := c.Namespaces().Delete(namespaceObj.ObjectMeta.Name)
|
||||||
|
if err != nil && !errors.IsAlreadyExists(err) {
|
||||||
|
Failf("Couldng make ns %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
func LaunchNetTestPodPerNode(nodes *api.NodeList, name string, c *client.Client, ns string) []string {
|
func LaunchNetTestPodPerNode(nodes *api.NodeList, name string, c *client.Client, ns string) []string {
|
||||||
|
@ -86,13 +121,7 @@ func LaunchNetTestPodPerNode(nodes *api.NodeList, name string, c *client.Client,
|
||||||
}
|
}
|
||||||
|
|
||||||
var _ = Describe("Networking", func() {
|
var _ = Describe("Networking", func() {
|
||||||
var c *client.Client
|
//var c *client.Client
|
||||||
|
|
||||||
BeforeEach(func() {
|
|
||||||
var err error
|
|
||||||
c, err = loadClient()
|
|
||||||
Expect(err).NotTo(HaveOccurred())
|
|
||||||
})
|
|
||||||
|
|
||||||
// First test because it has no dependencies on variables created later on.
|
// First test because it has no dependencies on variables created later on.
|
||||||
It("should provide unchanging, static URL paths for kubernetes api services.", func() {
|
It("should provide unchanging, static URL paths for kubernetes api services.", func() {
|
||||||
|
@ -117,20 +146,21 @@ var _ = Describe("Networking", func() {
|
||||||
|
|
||||||
// Create a unique namespace for this test.
|
// Create a unique namespace for this test.
|
||||||
ns := "nettest-" + randomSuffix()
|
ns := "nettest-" + randomSuffix()
|
||||||
name := "nettest"
|
|
||||||
|
|
||||||
|
//Now we can proceed with the test.
|
||||||
It("should function for intra-pod communication", func() {
|
It("should function for intra-pod communication", func() {
|
||||||
|
|
||||||
if testContext.Provider == "vagrant" {
|
if testContext.Provider == "vagrant" {
|
||||||
By("Skipping test which is broken for vagrant (See https://github.com/GoogleCloudPlatform/kubernetes/issues/3580)")
|
By("Skipping test which is broken for vagrant (See https://github.com/GoogleCloudPlatform/kubernetes/issues/3580)")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
By(fmt.Sprintf("Creating a service named [%s] in namespace %s", name, ns))
|
By(fmt.Sprintf("Creating a service named [%s] in namespace %s", svcname, ns))
|
||||||
svc, err := c.Services(ns).Create(&api.Service{
|
svc, err := c.Services(ns).Create(&api.Service{
|
||||||
ObjectMeta: api.ObjectMeta{
|
ObjectMeta: api.ObjectMeta{
|
||||||
Name: name,
|
Name: svcname,
|
||||||
Labels: map[string]string{
|
Labels: map[string]string{
|
||||||
"name": name,
|
"name": svcname,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Spec: api.ServiceSpec{
|
Spec: api.ServiceSpec{
|
||||||
|
@ -140,7 +170,7 @@ var _ = Describe("Networking", func() {
|
||||||
TargetPort: util.NewIntOrStringFromInt(8080),
|
TargetPort: util.NewIntOrStringFromInt(8080),
|
||||||
}},
|
}},
|
||||||
Selector: map[string]string{
|
Selector: map[string]string{
|
||||||
"name": name,
|
"name": svcname,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
@ -164,7 +194,7 @@ var _ = Describe("Networking", func() {
|
||||||
Failf("Failed to list nodes: %v", err)
|
Failf("Failed to list nodes: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
podNames := LaunchNetTestPodPerNode(nodes, name, c, ns)
|
podNames := LaunchNetTestPodPerNode(nodes, svcname, c, ns)
|
||||||
|
|
||||||
// Clean up the pods
|
// Clean up the pods
|
||||||
defer func() {
|
defer func() {
|
||||||
|
|
Loading…
Reference in New Issue