As previously discussed in the community meeting, to create a POC of a new test framework using pure Golang instead using a bunch of bash scripts. The list of test to migrate are: **Runtime Tests**: - [x] Policy enforcement - [x] Default - [x] Never - [x] Always - [x] Policy rules - [x] L3/L4 rules Enable/disable - [x] L7 Rules Enable/disable - [x] Ingress Enable/disable - [x] FromCIDR (16-cidr-ingress-policy.sh) - [x] Egress Enable/disable - [x] ToCIDR (16-cidr-ingress-policy.sh) - [x] Invalid rules (20-cidr-limit.sh) - [x] Connectivity - [x] CTLocal enable (01-ct.sh) - [x] CTLocal disable (01-ct.sh) - [x] CT disable (01-ct.sh) - [x] Nat46 (08-nat46.sh) - [x] KV Store (Was not in place) - [x] Consul (18-kvstore-fail.sh) - [x] Etcd (18-kvstore-fail.sh) - [ ] Proxy/LB: - [x] New proxy - [ ] L3/L7 policies for service - [x] Service restart - [x] Restore endpoints in case of restart - [x] Check IP addr still correct (97-restore) - [x] Cilium Monitor test - [x] Verbose mode (13-monitor-filtering.sh) - [x] Event types (13-monitor-filtering.sh) - [x] From flag (13-monitor-filtering.sh) - [x] To flag (13-monitor-filtering.sh) - [x] Related-to (13-monitor-filtering.sh) - [x] Multiple Monitor (17-multiple-monitors.sh) - [x] Chaos Monkey test - [x] Endpoint recovery on restart (96-restore-endpoints.sh) - [x] Interfaces chaos (97-clean-leftovers.sh) **K8s tests**: - Policy enforcement - [x] Set to default: - [x] Create new pods and check if disabled - [x] Create a new l3/l4 policy and get applied correctly. - [x] Create a new l7 policy and get applied correctly - [x] Disable a policy and get disabled. - [x] Set to Never: - [x] Check all endpoints has policy disabled - [x] Create a new policy and it didn't work - [x] Set Always - [x] Check all endpoint has policy enabled. - Tunnels (it was not tested) - [x] Create a new DaemonSet using VXLAN - [x] Nodes can ping - [x] Cilium detect it correctly - [x] Pods can ping - [x] Create a new Daemonset using Geneve - [x] Nodes can ping - [x] Cilium detect it correctly - [x] Pods can ping - Services: - [x] Create a new k8s service - [x] Check if can get access - Create a new IPv6 service [To-check] - Create a new NodePort service [To-check] - [ ] Benchmarking with reports to 3-party DB The system should achieve the following: - [x] Testing with multiple K8S versions [1.6, 1.7, 1.8] - [ ] Testing with new and old kernels. - [x] Test a selected function without running all the test. - [x] Report Junit to Jenkins.
As previously discussed in the community meeting, to create a POC of a new test framework using pure Golang instead using a bunch of bash scripts.
The list of test to migrate are:
Runtime Tests:
K8s tests:
The system should achieve the following: