Skip to content

Commit 9b573bb

Browse files
authored
Merge pull request #592 from mythi/PR-2021-014
doc: add checklist for new device plugins
2 parents c6fd9ec + 19e5666 commit 9b573bb

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

DEVEL.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,21 @@ Otherwise, they can be logged as simple values:
122122
klog.Warningf("Example of a warning due to an external error: %v", err)
123123
```
124124

125+
### Checklist for new device plugins
126+
127+
For new device plugins contributed to this repository, below is a
128+
checklist to get the plugin on par feature and quality wise with
129+
others:
130+
131+
1. Plugin binary available in [`cmd/`](cmd), its corresponding Dockerfile in [`build/docker/`](build/docker) and deployment Kustomization/YAMLs in [`deployments/`](deployments).
132+
2. Plugin binary Go unit tests implemented and passing with >80% coverage: `make test WHAT=./cmd/<plugin>`.
133+
3. Plugin binary linter checks passing: `make lint`.
134+
4. Plugin e2e tests implemented in [`test/e2e/`](test/e2e) and passing: `go test -v ./test/e2e/... -args -ginkgo.focus "<plugin>"`.
135+
5. Plugin CRD API added to [`pkg/apis/deviceplugin/v1`](pkg/apis/deviceplugin/v1) and CRDs generated: `make generate`.
136+
6. Plugin CRD validation tests implemented in [`test/envtest/`](test/envtest) and passing: `make envtest`.
137+
7. Plugin CRD controller implemented in [`pkg/controllers/`](pkg/controllers) and added to the manager in `cmd/operator/main.go`.
138+
8. Plugin documentation written `cmd/<plugin>/README.md` and optionally end to end demos created in [`demo`](demo).
139+
125140
## How to build against a newer version of Kubernetes
126141

127142
First you need to update module dependencies. The easiest way is to use the

0 commit comments

Comments
 (0)