Comments (13)
The work in #215 adds context cancellation to most parts of the test runner, and will already remove policies applied during the currently-active test when ctrl+C is hit.
I would like to extend this by adding cilium-test
namespace cleanup behaviour and making it opt-out with a --preserve
or --skip-cleanup
flag of some sort to allow for quick iteration during development. How does that sound?
from cilium-cli.
I'm somewhat inclined to just close this issue out cc @tklauser @michi-covalent. While I think that we may be able to improve the UX in this area, I'm not sure it's such a pain point for users or developers that someone is interested to dig into this issue and propose improvements.
from cilium-cli.
cilium/cilium#30428 is proposed doc fix, @joestringer @blackliner it would be appreciated if you can take a look.
from cilium-cli.
Related, I ran the cilium connectivity test
in a GKE cluster and it successfully completed, then it left behind cilium-test
pods and namespace. When I tried to delete it, kubectl hung for 20 minutes or more. Anyone seen this before?
$ k delete ns cilium-test
namespace "cilium-test" deleted
(Yes, workaround is to ^C and you're good to go, but why is it hanging?)
from cilium-cli.
Simplest answer here is probably just firing off a best-effort request to the apiserver to delete the cilium-test namespace upon exit (including when triggered via a signal).
Delete is not being done on purpose right now to allow re-running tests quickly. We can make that conditional on a flag though.
from cilium-cli.
Related, I ran the cilium connectivity test in a GKE cluster and it successfully completed, then it left behind cilium-test pods and namespace. When I tried to delete it, kubectl hung for 20 minutes or more. Anyone seen this before?
Just FYI, this does not happen to me with the following versions.
Client Version: v1.26.7
Kustomize Version: v4.5.7
Server Version: v1.26.12
from cilium-cli.
Simplest answer here is probably just firing off a best-effort request to the apiserver to delete the cilium-test
namespace upon exit (including when triggered via a signal).
from cilium-cli.
I think it is hanging because of a finalizer not working correctly. It probably happens for all namespaces.
from cilium-cli.
Also, it looks like 78bdb23 added support for cleaning up the cilium-test
namespace which feels a bit incoherent as cilium install
doesn't deploy a cilium-test
namespace. This should all be managed by the test harness instead.
from cilium-cli.
I would like to extend this by adding cilium-test namespace cleanup behaviour and making it opt-out with a --preserve or --skip-cleanup flag of some sort to allow for quick iteration during development. How does that sound?
I like this idea. The CLI should work reasonably for the user first, then if developers want something special we can have a dedicated flag or developer mode for common use cases there. In the Cilium Ginkgo CI we have the "holdEnvironment" flag, I think I saw @jrajahalme propose a similar flag for this CLI recently too so you can run a test and stop in the middle if something fails. Might make sense to integrate such "don't clean up" logic into that too.
Also, it looks like 78bdb23 added support for cleaning up the cilium-test namespace which feels a bit incoherent as cilium install doesn't deploy a cilium-test namespace. This should all be managed by the test harness instead.
➕
from cilium-cli.
Do you know if there's any progress on that?
from cilium-cli.
I don't believe that any of the behaviour has changed since the original report. By now, I think it's mostly expected by users of the connectivity test that the namespace and Pods remain after the test.
from cilium-cli.
What is the official recommendation to manually cleanup? https://docs.cilium.io/en/stable/contributing/testing/e2e/ should maybe document this?
from cilium-cli.
Related Issues (20)
- Implementing multicast connectivity test HOT 5
- External workloads - install-external-workload.sh HOT 1
- CI: run cilium-cli inside docker instead of using cilium-cli-test-job-chart helm chart
- CI: port forwarding super flaky on AKS HOT 1
- CI: speedup workflows with test concurrency flag
- Decompose Cilium sysdump part into fine-grained components
- connectivity: --test-concurrency flag doesn't work with --include-conn-disrupt-test HOT 1
- connectivity: single JUnit report for concurrent run HOT 2
- cilium uninstall does not remove cilium resources
- Cilium fails to install on EKS with `bpf.masquerade=true`
- connectivity: check for multiple invocations of WithCondition
- pick up the latest kind version
- Add a --kubeconfig argument HOT 5
- fix local-redirect-policy/lrp-skip-redirect-from-backend
- publish release images
- `panic: send on closed channel` when issuing CTRL-C while connectivity tests are running on EKS HOT 1
- No version for `cilium-cli v0.16.16` HOT 10
- Add arm64 images to quay.io
- Slim version of the cilium-cli image
- 0.16.17 release regression test failure HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cilium-cli.