# Tasks moved to https://github.com/cncf/cnf-conformance/issues/24#issue-567199720 --- ### Issue 24: Tasks [Acceptance Criteria](https://github.com/cncf/cnf-conformance/issues/24#issuecomment-587938706) ### Scalability Test: Can CNF increase and decrease capacity? EPIC: CNF Conformance Test Suite Release: v0.0.1 Test Category: Scalability Type of test (static or runtime) = Runtime Tasks: - [ ] see https://hackmd.io/Be2pyIA4Tue-HMT3KdfOPA - [ ] example code: https://github.com/cncf/cnf-conformance/commit/6a7224390f3ceb0dbae94c964e5a24d39b4efd73 **Environment set up tasks: ** - [ ] Copy [admin.conf (the kubeconfig)](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/getting-started.md#accessing-kubernetes-api) to new file name $HOME/shared/conformance01.kubeconfig (for accessing the shared conformance cluster) - [ ] Get SSH access to one of the shared dev machines to use as your test workstation - Ask @denverwilliams, @wavell, @nupejosh or @taylor - [ ] Talk with @denverwilliams, @wavell to get access to the KUBECONFIG file - [ ] Set the KUBECONFIG environment variable to point to the shared kubeconfig file for accessing the target K8s cluster - [ ] Follow the [installation instructions](https://github.com/cncf/cnf-conformance#installation) to set up the the conformance suite for development and testing - [ ] Update installation instructions to cover new setup and existing workstation updates. Example: - You should have a working conformance suite that compiles and runs correctly. (eg. crystal-lang installed) - [ ] If you have it installed, pull down latest version of CNF conformance test code from develop branch (eg. `git fetch ; get rebase` from the cnf-conformance directory) - [ ] Run `shard install` to get dependencies **Upstream tool set up tasks: (conformance suite + upstream tools)** - N/A **CNF setup Tasks** - [x] Use the https://github.com/cncf/cnf-conformance/tree/master/cnfs for adding target CNFs to be tested - [ ] Create example conformance configuration file for configuring the use of the target CNF - [ ] Create example environment configuration that has the CNF container name list - [ ] Create code to use the conformance CNF configuration and target folder for testing the CNF - [ ] Add documentation for testing a target CNFs with the cnformance suite (eg. add to usage md). Uncludes - Path to Helm chart under cnfs folder - Options to pass helm chart - [ ]Add documentation for using target CNFs with the cnformance suite (eg. add to usage md), Include - The name of the containers needs to be configured **Sample CNF tasks:** - [ ] Create a sample-cnf folder - [ ] Create a subfolder for the sample cnf (eg. dns-cnf1) - [ ] Create a sample CNF using a minimal container which requires no host or vanilla K8s modifications (no extensions) --> eg. CoreDNS container - [ ] Create sample CNF conformance configuration file for using the sample CNF - [ ] Create sample environment configuration that has the sample CNF container name list - [ ] Add TL;DR doc on using the sample in the sample folder **Code implementation tasks:** - [ ] If one test blows up (eg. CNF code not found for static) the suite should continue to run - [ ] Add util task which can deploy a CNF that has "valid conformance deploy configuration" - helm chart v3.0 - helm chart path - containers name - NOTE: does not run when tests run (include `all`) - [ ] Create new increase test which increases the replica set - [ ] Check and save current replica count - [ ] At start set replica to 1 (overriding CNF defaults) - [ ] Show data from cluster about container - [ ] Do increase - [ ] Show data from cluster about container - [ ] Reset replica back to original saved replica count - [ ] Show pass or fail for doing increase - [ ] Show green for pass and red for fail - [ ] Create new decrease test which decreases the repica set - [ ] Check and save current replica count - [ ] At start set replica to more than 1 (Eg. 3; overriding CNF defaults) - [ ] Show data from cluster about container - [ ] Do decrease - [ ] Show data from cluster about container - [ ] Reset replica back to original saved replica count - [ ] Show pass or fail for doing decrease - [ ] Show green for pass and red for fail - [ ] Update existing increase_decrease test to call the individual increase and decrease - [ ] Think about and document how we can roll up a summary for sets of tests => https://github.com/cncf/cnf-conformance/issues/30 - [ ] Scalability category should call the increase and decrease test set - [ ] The all test command should run the increase and decrease tests - [ ] Add the increase test to the "runtime test set" - [ ] Add the decrease test to the "runtime test set" - [ ] Optionally, Add the "increase+decrease test set" to the "runtime test set" **Documentation tasks:** - [ ] Update [Test Categories md](https://github.com/cncf/cnf-conformance/blob/master/TEST-CATEGORIES.md#scaling-tests) if needed - [ ] Update [Pseudo Code md](https://github.com/cncf/cnf-conformance/blob/master/PSEUDO-CODE.md#scaling-tests) if needed - [ ] Update [USAGE md](https://github.com/cncf/cnf-conformance/blob/master/USAGE.md#scaling-tests) if needed - [ ] Update [installation instructions](https://github.com/cncf/cnf-conformance#installation) if needed **QA tasks** Dev Review: - [ ] walk through A/C - [ ] do you get the expected result? - [ ] if yes, move to `Needs Peer Review` column - [ ] if no, document what additional tasks will be needed Peer review: - [ ] walk through A/C - [ ] do you get the expected result? - [ ] if yes, move to `Reviewer Approved` column - [ ] if no, document what did not go as expected, including error messages and screenshots (if possible)