Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions test/integration/datapath/datapath_linux_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func setupLinuxEnvironment(t *testing.T) {
t.Fatalf("could not get k8s clientset: %v", err)
}
if len(pods.Items) <= 1 {
t.Fatal("Less than 2 pods on node")
t.Fatalf("Less than 2 pods on node: %v", node.Name)
}
}

Expand All @@ -192,8 +192,10 @@ func TestDatapathLinux(t *testing.T) {
restConfig := k8sutils.MustGetRestConfig(t)

t.Log("Create Clientset")
clientset, _ := k8sutils.MustGetClientset()

clientset, err := k8sutils.MustGetClientset()
if err != nil {
t.Fatalf("could not get k8s clientset: %v", err)
}
setupLinuxEnvironment(t)
podLabelSelector := k8sutils.CreateLabelSelector(podLabelKey, podPrefix)

Expand Down
47 changes: 33 additions & 14 deletions test/integration/datapath/datapath_windows_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (

"github.com/Azure/azure-container-networking/test/internal/datapath"
"github.com/Azure/azure-container-networking/test/internal/k8sutils"
"github.com/pkg/errors"
"github.com/stretchr/testify/require"
apiv1 "k8s.io/api/core/v1"
)
Expand Down Expand Up @@ -46,16 +45,14 @@ Timeout context is controled by the -timeout flag.

*/

func TestDatapathWin(t *testing.T) {
func setupWindowsEnvironment(t *testing.T) {
ctx := context.Background()

t.Log("Create Clientset")
clientset, err := k8sutils.MustGetClientset()
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}
t.Log("Get REST config")
restConfig := k8sutils.MustGetRestConfig(t)

t.Log("Create Label Selectors")
podLabelSelector := k8sutils.CreateLabelSelector(podLabelKey, podPrefix)
Expand All @@ -64,7 +61,7 @@ func TestDatapathWin(t *testing.T) {
t.Log("Get Nodes")
nodes, err := k8sutils.GetNodeListByLabelSelector(ctx, clientset, nodeLabelSelector)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}

// Create namespace if it doesn't exist
Expand All @@ -84,7 +81,7 @@ func TestDatapathWin(t *testing.T) {
t.Log("Creating Windows pods through deployment")
deployment, err := k8sutils.MustParseDeployment(WindowsDeployYamlPath)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}

// Fields for overwritting existing deployment yaml.
Expand All @@ -98,23 +95,23 @@ func TestDatapathWin(t *testing.T) {
deploymentsClient := clientset.AppsV1().Deployments(*podNamespace)
err = k8sutils.MustCreateDeployment(ctx, deploymentsClient, deployment)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}

t.Log("Waiting for pods to be running state")
err := k8sutils.WaitForPodsRunning(ctx, clientset, *podNamespace, podLabelSelector)
err = k8sutils.WaitForPodsRunning(ctx, clientset, *podNamespace, podLabelSelector)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}
t.Log("Successfully created customer windows pods")
} else {
// Checks namespace already exists from previous attempt
t.Log("Namespace already exists")

t.Log("Checking for pods to be running state")
err := k8sutils.WaitForPodsRunning(ctx, clientset, *podNamespace, podLabelSelector)
err = k8sutils.WaitForPodsRunning(ctx, clientset, *podNamespace, podLabelSelector)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}
}

Expand All @@ -123,14 +120,36 @@ func TestDatapathWin(t *testing.T) {

pods, err := k8sutils.GetPodsByNode(ctx, clientset, *podNamespace, podLabelSelector, node.Name)
if err != nil {
require.NoError(t, err)
t.Fatal(err)
}
if len(pods.Items) <= 1 {
require.NoError(t, errors.New("Less than 2 pods on node"))
t.Fatalf("Less than 2 pods on node: %v", node.Name)
}
}
t.Log("Windows test environment ready")
}

func TestDatapathWin(t *testing.T) {
ctx := context.Background()

t.Log("Get REST config")
restConfig := k8sutils.MustGetRestConfig(t)

t.Log("Create Clientset")
clientset, err := k8sutils.MustGetClientset()
if err != nil {
t.Fatalf("could not get k8s clientset: %v", err)
}

setupWindowsEnvironment(t)
podLabelSelector := k8sutils.CreateLabelSelector(podLabelKey, podPrefix)
nodeLabelSelector := k8sutils.CreateLabelSelector(nodepoolKey, nodepoolSelector)

t.Log("Get Nodes")
nodes, err := k8sutils.GetNodeListByLabelSelector(ctx, clientset, nodeLabelSelector)
if err != nil {
t.Fatal(err)
}
t.Run("Windows ping tests pod -> node", func(t *testing.T) {
// Windows ping tests between pods and node
for _, node := range nodes.Items {
Expand Down