Comments (7)
To keep tests still efficient and also not repeat ourselves too much I suggest putting this in the verify tool by:
- Adding a config file that allows to specify a matrix just like the one above
- Add a
--create-only
flag that only creates the machine objects so they will be created in parallel - Add a
--wait-for=<provider>-<distro>-<container-runtime>
flag that blocks until the given machine was successfully created and then deletes it to see at a glance in CircleCI what failed if something failed
from machine-controller.
Good idea!
from machine-controller.
Why not implementing decent concurrency into the command?
Might be cleaner than just juggling with different command line calls
from machine-controller.
Because then you can't have a dedicated step per scenario in CircleCI which helps a lot if tests failed and you want to find out which one
from machine-controller.
We could also do the setup (terraform & cluster creation) in one step, and then run all tests in parallel.
Then we don't have to modify the command at all.
from machine-controller.
@alvaroaleman @mrIncompetent Could we slightly change approach to writing test cases ?
I'd like to start writing test cases as standard golang tests.
But at the same I'd like to utilise what we have so far, that is: cluster creation (kubeadm) and the verify tool. The whole process would do the following steps:
- create cluster (provision_master.sh)
- run machine-controller (provision_master.sh)
- run e2e test (using standard
go test
command)
Individual test cases would hold only data/parameters needed to feed the verify tool. We could also utilise go test's build-in concurrency to parallelise tests and various flags like --short
to control how many test we would like to run on each build.
We would also need to change the verify tool to check ownerRef
instead of counting the number of nodes.
from machine-controller.
Yes, sounds like a very good idea.
from machine-controller.
Related Issues (20)
- Updating SSH keys on existing Machines HOT 7
- Deterministic way to get private ip of machine HOT 2
- Vultr: Multiple Instances for Single Machine HOT 20
- vSphere: Allow configuration of disk provisioning for VMs HOT 6
- Node not ready due to cloud provider instance network issues HOT 3
- Failing tests for pull-machine-controller-e2e-hetzner HOT 1
- AWS: Support for passing CpuOptions HOT 8
- Support running shell script on Node boot HOT 8
- Can't create MachineDeployment: Post "https://machine-controller-webhook.kube-system.svc:443/machinedeployments?timeout=10s": context deadline exceeded HOT 1
- Stale token in cloud-init-settings/kube-system-hetzner-kubelet-bootstrap-config HOT 5
- KubeVirt GenerateRandMAC HOT 4
- Tags does not appear to work for Equinix provider HOT 4
- Support for networks with disabled port security HOT 4
- Expose metrics for MachineDeployment status HOT 2
- Support enabling cloud drive on OpenStack VMs HOT 5
- vSphere machine deployment with anti-affinity keeps recreating nodes
- Too many reconciliation errors/warnings for machine deployment objects HOT 2
- Future API group conflict with upstream CAPI HOT 3
- Remove user-data plugins from machine-controller
- E2E tests for Azure are failing 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 machine-controller.