Patrick Ohly
2f6c4f5eab
e2e: use Ginkgo context
...
All code must use the context from Ginkgo when doing API calls or polling for a
change, otherwise the code would not return immediately when the test gets
aborted.
2022-12-16 20:14:04 +01:00
Kubernetes Prow Robot
c43e83ceed
Merge pull request #110014 from claudiubelu/windows-tests/fix-long-hostname
...
tests Windows: Fixes test failures related to COMPUTERNAMEs being truncated
2022-12-15 12:15:35 -08:00
Patrick Ohly
2695ed6a0a
e2e: add missing error checks
...
Not checking for some error conditions must have been an oversight.
2022-12-14 07:39:51 +01:00
Claudiu Belu
9b8b378782
tests Windows: Fixes test failures related to COMPUTERNAMEs being truncated
...
Windows ComputerNames cannot exceed 15 characters. This causes a few tests to fail
when the node names exceed that limit. Additionally, the checks should be case
insensitive.
2022-12-13 08:37:39 -08:00
Patrick Ohly
d4729008ef
e2e: simplify test cleanup
...
ginkgo.DeferCleanup has multiple advantages:
- The cleanup operation can get registered if and only if needed.
- No need to return a cleanup function that the caller must invoke.
- Automatically determines whether a context is needed, which will
simplify the introduction of context parameters.
- Ginkgo's timeline shows when it executes the cleanup operation.
2022-12-13 08:09:01 +01:00
Patrick Ohly
df5d84ae81
e2e: accept context from Ginkgo
...
Every ginkgo callback should return immediately when a timeout occurs or the
test run manually gets aborted with CTRL-C. To do that, they must take a ctx
parameter and pass it through to all code which might block.
This is a first automated step towards that: the additional parameter got added
with
sed -i 's/\(framework.ConformanceIt\|ginkgo.It\)\(.*\)func() {$/\1\2func(ctx context.Context) {/' \
$(git grep -l -e framework.ConformanceIt -e ginkgo.It )
$GOPATH/bin/goimports -w $(git status | grep modified: | sed -e 's/.* //')
log_test.go was left unchanged.
2022-12-10 19:50:18 +01:00
Mark Rossetti
7a50b719cf
Adding e2e test for running Windows hostprocess containers as members of a local usergroup
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-10-21 17:17:44 -07:00
Kubernetes Prow Robot
76fe4039e5
Merge pull request #113149 from marosset/hpc-inclusterconfig-e2e
...
Add e2e test to validate that hostProcess containers can use inclusterclient
2022-10-21 16:21:56 -07:00
Kubernetes Prow Robot
19aaafbe10
Merge pull request #113219 from marosset/fix-hpc-e2e-metrics
...
HostProcess containers metrics e2e test fixes
2022-10-21 15:05:56 -07:00
Mark Rossetti
8d915ea979
Add e2e test to validate that hostProcess containers can use inclusterclient
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-10-21 14:15:31 -07:00
Mark Rossetti
da0b66b3fe
Add e2e to validate stats for Windows hostprocess containers
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-10-21 10:07:38 -07:00
Mark Rossetti
fa2603906b
HostProcess containers metrics e2e test fixes
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-10-19 16:10:09 -07:00
Oscar Utbult
e4f776f230
grammar: replace all occurrences of "the the" with "the"
2022-10-14 09:03:14 +02:00
Patrick Ohly
dfdf88d4fa
e2e: adapt to moved code
...
This is the result of automatically editing source files like this:
go install golang.org/x/tools/cmd/goimports@latest
find ./test/e2e* -name "*.go" | xargs env PATH=$GOPATH/bin:$PATH ./e2e-framework-sed.sh
with e2e-framework-sed.sh containing this:
sed -i \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecCommandInContainer(/e2epod.ExecCommandInContainer(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecCommandInContainerWithFullOutput(/e2epod.ExecCommandInContainerWithFullOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInContainer(/e2epod.ExecShellInContainer(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInPod(/e2epod.ExecShellInPod(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecShellInPodWithFullOutput(/e2epod.ExecShellInPodWithFullOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.ExecWithOptions(/e2epod.ExecWithOptions(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.MatchContainerOutput(/e2eoutput.MatchContainerOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.PodClient(/e2epod.NewPodClient(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.PodClientNS(/e2epod.PodClientNS(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.TestContainerOutput(/e2eoutput.TestContainerOutput(\1, /" \
-e "s/\(f\|fr\|\w\w*\.[fF]\w*\)\.TestContainerOutputRegexp(/e2eoutput.TestContainerOutputRegexp(\1, /" \
-e "s/framework.AddOrUpdateLabelOnNode\b/e2enode.AddOrUpdateLabelOnNode/" \
-e "s/framework.AllNodes\b/e2edebug.AllNodes/" \
-e "s/framework.AllNodesReady\b/e2enode.AllNodesReady/" \
-e "s/framework.ContainerResourceGatherer\b/e2edebug.ContainerResourceGatherer/" \
-e "s/framework.ContainerResourceUsage\b/e2edebug.ContainerResourceUsage/" \
-e "s/framework.CreateEmptyFileOnPod\b/e2eoutput.CreateEmptyFileOnPod/" \
-e "s/framework.DefaultPodDeletionTimeout\b/e2epod.DefaultPodDeletionTimeout/" \
-e "s/framework.DumpAllNamespaceInfo\b/e2edebug.DumpAllNamespaceInfo/" \
-e "s/framework.DumpDebugInfo\b/e2eoutput.DumpDebugInfo/" \
-e "s/framework.DumpNodeDebugInfo\b/e2edebug.DumpNodeDebugInfo/" \
-e "s/framework.EtcdUpgrade\b/e2eproviders.EtcdUpgrade/" \
-e "s/framework.EventsLister\b/e2edebug.EventsLister/" \
-e "s/framework.ExecOptions\b/e2epod.ExecOptions/" \
-e "s/framework.ExpectNodeHasLabel\b/e2enode.ExpectNodeHasLabel/" \
-e "s/framework.ExpectNodeHasTaint\b/e2enode.ExpectNodeHasTaint/" \
-e "s/framework.GCEUpgradeScript\b/e2eproviders.GCEUpgradeScript/" \
-e "s/framework.ImagePrePullList\b/e2epod.ImagePrePullList/" \
-e "s/framework.KubectlBuilder\b/e2ekubectl.KubectlBuilder/" \
-e "s/framework.LocationParamGKE\b/e2eproviders.LocationParamGKE/" \
-e "s/framework.LogSizeDataTimeseries\b/e2edebug.LogSizeDataTimeseries/" \
-e "s/framework.LogSizeGatherer\b/e2edebug.LogSizeGatherer/" \
-e "s/framework.LogsSizeData\b/e2edebug.LogsSizeData/" \
-e "s/framework.LogsSizeDataSummary\b/e2edebug.LogsSizeDataSummary/" \
-e "s/framework.LogsSizeVerifier\b/e2edebug.LogsSizeVerifier/" \
-e "s/framework.LookForStringInLog\b/e2eoutput.LookForStringInLog/" \
-e "s/framework.LookForStringInPodExec\b/e2eoutput.LookForStringInPodExec/" \
-e "s/framework.LookForStringInPodExecToContainer\b/e2eoutput.LookForStringInPodExecToContainer/" \
-e "s/framework.MasterAndDNSNodes\b/e2edebug.MasterAndDNSNodes/" \
-e "s/framework.MasterNodes\b/e2edebug.MasterNodes/" \
-e "s/framework.MasterUpgradeGKE\b/e2eproviders.MasterUpgradeGKE/" \
-e "s/framework.NewKubectlCommand\b/e2ekubectl.NewKubectlCommand/" \
-e "s/framework.NewLogsVerifier\b/e2edebug.NewLogsVerifier/" \
-e "s/framework.NewNodeKiller\b/e2enode.NewNodeKiller/" \
-e "s/framework.NewResourceUsageGatherer\b/e2edebug.NewResourceUsageGatherer/" \
-e "s/framework.NodeHasTaint\b/e2enode.NodeHasTaint/" \
-e "s/framework.NodeKiller\b/e2enode.NodeKiller/" \
-e "s/framework.NodesSet\b/e2edebug.NodesSet/" \
-e "s/framework.PodClient\b/e2epod.PodClient/" \
-e "s/framework.RemoveLabelOffNode\b/e2enode.RemoveLabelOffNode/" \
-e "s/framework.ResourceConstraint\b/e2edebug.ResourceConstraint/" \
-e "s/framework.ResourceGathererOptions\b/e2edebug.ResourceGathererOptions/" \
-e "s/framework.ResourceUsagePerContainer\b/e2edebug.ResourceUsagePerContainer/" \
-e "s/framework.ResourceUsageSummary\b/e2edebug.ResourceUsageSummary/" \
-e "s/framework.RunHostCmd\b/e2eoutput.RunHostCmd/" \
-e "s/framework.RunHostCmdOrDie\b/e2eoutput.RunHostCmdOrDie/" \
-e "s/framework.RunHostCmdWithFullOutput\b/e2eoutput.RunHostCmdWithFullOutput/" \
-e "s/framework.RunHostCmdWithRetries\b/e2eoutput.RunHostCmdWithRetries/" \
-e "s/framework.RunKubectl\b/e2ekubectl.RunKubectl/" \
-e "s/framework.RunKubectlInput\b/e2ekubectl.RunKubectlInput/" \
-e "s/framework.RunKubectlOrDie\b/e2ekubectl.RunKubectlOrDie/" \
-e "s/framework.RunKubectlOrDieInput\b/e2ekubectl.RunKubectlOrDieInput/" \
-e "s/framework.RunKubectlWithFullOutput\b/e2ekubectl.RunKubectlWithFullOutput/" \
-e "s/framework.RunKubemciCmd\b/e2ekubectl.RunKubemciCmd/" \
-e "s/framework.RunKubemciWithKubeconfig\b/e2ekubectl.RunKubemciWithKubeconfig/" \
-e "s/framework.SingleContainerSummary\b/e2edebug.SingleContainerSummary/" \
-e "s/framework.SingleLogSummary\b/e2edebug.SingleLogSummary/" \
-e "s/framework.TimestampedSize\b/e2edebug.TimestampedSize/" \
-e "s/framework.WaitForAllNodesSchedulable\b/e2enode.WaitForAllNodesSchedulable/" \
-e "s/framework.WaitForSSHTunnels\b/e2enode.WaitForSSHTunnels/" \
-e "s/framework.WorkItem\b/e2edebug.WorkItem/" \
"$@"
for i in "$@"; do
# Import all sub packages and let goimports figure out which of those
# are redundant (= already imported) or not needed.
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2edebug "k8s.io/kubernetes/test/e2e/framework/debug"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2enode "k8s.io/kubernetes/test/e2e/framework/node"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2eoutput "k8s.io/kubernetes/test/e2e/framework/pod/output"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2epod "k8s.io/kubernetes/test/e2e/framework/pod"' "$i"
sed -i -e '/"k8s.io.kubernetes.test.e2e.framework"/a e2eproviders "k8s.io/kubernetes/test/e2e/framework/providers"' "$i"
goimports -w "$i"
done
2022-10-06 08:19:47 +02:00
Humble Chirammal
9e9fc2be88
various corrections in test/e2e package
...
Signed-off-by: Humble Chirammal <hchiramm@redhat.com >
2022-09-16 18:59:30 +05:30
Patrick Ohly
2ace9a884e
e2e: generalize the framework e2e* import alias rule
...
All framework sub packages should used e2e<package name> as import alias, also
the daemonset sub package that previously wasn't listed explicitly.
2022-09-08 18:37:52 +02:00
Kubernetes Prow Robot
6a6a36f569
Merge pull request #111609 from marosset/hpc-test-updates
...
Hostprocess container test updates
2022-08-01 15:05:16 -07:00
Mark Rossetti
85e4dd2d48
Hostprocess container test updates
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-08-01 12:04:50 -07:00
Kubernetes Prow Robot
73b3be3082
Merge pull request #111009 from marosset/runasnonroot-windows-fix
...
Windows: ensure runAsNonRoot does case-insensitive comparison on username
2022-07-28 17:55:22 -07:00
Ernest Wong
6fcc671b9d
chore: move chewong to emeritus_approvers
...
Signed-off-by: Ernest Wong <ernwong@amazon.com >
2022-07-27 03:08:28 +00:00
Mark Rossetti
588ff515bc
Windows: ensure runAsNonRoot does case-insensitive comparison on user name
...
Signed-off-by: Mark Rossetti <marosset@microsoft.com >
2022-07-18 15:23:13 -07:00
Dave Chen
857458cfa5
update ginkgo from v1 to v2 and gomega to 1.19.0
...
- update all the import statements
- run hack/pin-dependency.sh to change pinned dependency versions
- run hack/update-vendor.sh to update go.mod files and the vendor directory
- update the method signatures for custom reporters
Signed-off-by: Dave Chen <dave.chen@arm.com >
2022-07-08 10:44:46 +08:00
ldsdsy
2a2d33b2b1
Modify annotation syntax errors
2022-06-16 16:46:51 +08:00
hunknownz
fdb43cc5ad
enhance assertions in test/e2e/windows
...
Signed-off-by: hunknownz <klercc37@gmail.com >
2022-05-31 20:42:04 +08:00
Claudiu Belu
47e7461209
Update test/e2e/windows/host_process.go
...
Co-authored-by: James Sturtevant <jsturtevant@gmail.com >
2022-05-05 18:34:17 +03:00
Claudiu Belu
8d98e53b78
tests: Include the Windows node name in the exception
...
There are a few tests that fail because the hostnames apparently do not
match. Logging the name would help finding the problem.
2022-05-04 12:50:57 -07:00
Stephen Benjamin
b351745c1c
Replace use of Sprintf with net.JoinHostPort
...
On IPv6 clusters, one of the most frequent problems I encounter is
assumptions that one can build a URL with a host and port simply by
using Sprintf, like this:
```go
fmt.Sprintf("http://%s:%d/foo ", host, port)
```
When `host` is an IPv6 address, this produces an invalid URL as it must
be bracketed, like this:
```
http://[2001:4860:4860::8888]:9443
```
This change fixes the occurences of joining a host and port with the
purpose built `net.JoinHostPort` function.
I encounter this problem often enough that I started to [write a linter
for it](https://github.com/stbenjam/go-sprintf-host-port ). I don't
think the linter is quite ready for wide use yet, but I did run it
against the Kube codebase and found these. While the host portion in
some of these changes may always be an FQDN or IPv4 IP today, it's an
easy thing that can break later on.
2022-05-04 06:37:50 -04:00
Sergiusz Urbaniak
1495c9f2cd
test/e2e/*: default existing tests to privileged pod security policy
...
This is to ensure that all existing tests don't break when defaulting
the pod security policy to restricted in the e2e test framework.
2022-04-05 08:41:12 +02:00
James Sturtevant
61af67ef10
Don't assume bash is avaliable for webhook deployment
2022-03-24 13:06:49 -07:00
Kubernetes Prow Robot
41501c4fcf
Merge pull request #108704 from MartinForReal/feat/add_bootid_for_windows
...
Add bootid support for windows node.
2022-03-22 10:36:11 -07:00
MartinForReal
d529b7e10b
add bootid support for windows node.
...
Signed-off-by: MartinForReal <fanshangxiang@gmail.com >
2022-03-18 02:17:52 +00:00
Kubernetes Prow Robot
0b3629ae7d
Merge pull request #108432 from iXinqi/add-write-file-test
...
Add gMSA Reading and Writing Files Test Case
2022-03-16 12:36:10 -07:00
Xinqi Li
65a4d1cbe7
add gMSA remote storage test
2022-03-15 22:51:55 -07:00
Kubernetes Prow Robot
633313616f
Merge pull request #107132 from NikhilSharmaWe/netTest
...
made independent test cases ginkgo.It for checking connectivity
2022-03-11 13:26:22 -08:00
Nikhil Sharma
cf48674dbf
Updated Sig-windows Memory Limits tests to not assume all nodes are the same
2022-03-11 10:48:36 +05:30
Nikhil Sharma
edfd8cba54
made independent test cases ginkgo.It for checking connectivity
2022-03-11 09:02:17 +05:30
Kubernetes Prow Robot
d12787bc2c
Merge pull request #104698 from weiwenli97/windows_node_reboot
...
Add Windows node reboot
2022-02-15 02:34:02 -08:00
ahrtr
fe95aa614c
io/ioutil has already been deprecated in golang 1.16, so replace all ioutil with io and os
2022-02-03 05:32:12 +08:00
Wenli Wei
a2e0beb44b
Adding reboot node testcase
2022-01-24 22:26:35 +08:00
Davanum Srinivas
9682b7248f
OWNERS cleanup - Jan 2021 Week 1
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2022-01-10 08:14:29 -05:00
Ciprian Hacman
a0abe5aa33
Clean up dockershim in tests
...
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev >
2021-12-22 13:05:34 +02:00
James Sturtevant
fcb4967039
hostprocess is on by default, no longer needed
2021-12-16 13:31:52 -08:00
Davanum Srinivas
497e9c1971
Cleanup OWNERS files (No Activity in the last year)
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2021-12-15 10:34:02 -05:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
...
Signed-off-by: Davanum Srinivas <davanum@gmail.com >
2021-12-09 21:31:26 -05:00
Nikhil Sharma
b75acac9df
Changed code to improve output for test/e2e/windows
2021-11-19 04:06:05 +05:30
James Sturtevant
12264d2ce9
Use client set to get nodes configuration
2021-11-16 17:42:15 -08:00
James Sturtevant
d7bdbb075f
Add check for network stats to e2e tests
2021-11-10 11:50:04 -08:00
Claudiu Belu
0251d28f60
tests: Logs the stdout and stderr for network consistency Windows tests on error
...
Some of the networking tests are flaking, and logging the command stdout and stderr
might show us some additional information about the the underlying issue when it
occurs.
2021-11-06 13:54:59 -07:00
Kubernetes Prow Robot
61138d3740
Merge pull request #105854 from NikhilSharmaWe/non-serial
...
Added non-serialized metrics for windows, for 3 pods
2021-11-08 13:11:32 -08:00
Nikhil Sharma
8c896612e9
Added non-serialized metrics for windows, for 3 pods
2021-11-08 23:13:53 +05:30