Skip to content

Commit

Permalink
tests,network: quarantine istio+passt tests
Browse files Browse the repository at this point in the history
CI runs very old version of Istio that does not support new k8s
features and block development that utilize such features (e.g.: restart
policy for init containers).

The is an effort to upgrade Istio version CI use, but it fails due to
because some Istio+passt tests failing [1].

Turn out VMs who's virt-laucher pod have Multus network annotation in
JSON form doesn't work with newer version of Istio [2].
VM with passt binding plugin produce virt-laucher pod with Multus
network annotation in JSON form.

Quarantine istio+passt failing tests to unblock istio upgrade and
development.

Tracking issue for istio upgrade [3]

[1] kubevirt/kubevirtci#1331 (comment)
[2] kubevirt#13927
[3] kubevirt#13832

Signed-off-by: Or Mergi <[email protected]>
  • Loading branch information
ormergi committed Feb 12, 2025
1 parent b4964b3 commit 15c1227
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions tests/network/vmi_istio.go
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = explicitPorts
})
It("should ssh to VMI with Istio proxy", func() {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
By("Getting the VMI IP")
vmi, err = virtClient.VirtualMachineInstance(vmi.Namespace).Get(context.Background(), vmi.Name, metav1.GetOptions{})
Expect(err).ShouldNot(HaveOccurred())
Expand All @@ -239,6 +242,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = []v1.Port{}
})
It("should ssh to VMI with Istio proxy", func() {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
By("Getting the VMI IP")
vmi, err = virtClient.VirtualMachineInstance(vmi.Namespace).Get(context.Background(), vmi.Name, metav1.GetOptions{})
Expect(err).ShouldNot(HaveOccurred())
Expand All @@ -265,6 +271,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = explicitPorts
})
DescribeTable("request to VMI should reach HTTP server", func(targetPort int) {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
Expect(checkVMIReachability(vmi, targetPort)).To(Succeed())
},
Entry("on service declared port on VMI with explicit ports", svcDeclaredTestPort),
Expand Down Expand Up @@ -298,6 +307,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = explicitPorts
})
DescribeTable("client outside mesh should NOT reach VMI HTTP server", func(targetPort int) {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
Expect(checkVMIReachability(vmi, targetPort)).NotTo(Succeed())
},
Entry("on service declared port on VMI with explicit ports", svcDeclaredTestPort),
Expand Down Expand Up @@ -398,6 +410,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = explicitPorts
})
It("Should be able to reach http server outside of mesh", func() {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
Expect(
checkHTTPServiceReturnCode(ingressGatewayServiceIP, generateExpectedHTTPReturnCodeRegex("200")),
).ToNot(HaveOccurred())
Expand Down Expand Up @@ -432,6 +447,9 @@ var istioTests = func(vmType VmType) {
vmiPorts = explicitPorts
})
It("Should not be able to reach http service outside of mesh", func() {
if vmType == Passt {
Skip("this test is quarantine due to https://github.com/kubevirt/kubevirt/issues/13927")
}
Eventually(func() error {
return checkHTTPServiceReturnCode(ingressGatewayServiceIP, generateExpectedHTTPReturnCodeRegex("5.."))
}, externalServiceCheckTimeout, externalServiceCheckInterval).Should(Succeed())
Expand Down

0 comments on commit 15c1227

Please sign in to comment.