Skip to content

Multi Tenancy E2E Tests Plan and Progress

chenqianfzh edited this page Aug 17, 2020 · 33 revisions

Goal as of 8/30/2020

Cover the multi-tenancy features checked in as of 7/30/2020 with e2e tests.

System Tenant basic functioning tests

  • kube-dns and virtlet are running

  • kubectl commands

    Done: create, get, describe, run, delete, cp, exec, apply, scale, patch, create job, label, autoscale, diff, cluster-info, expose

tenant initialization & deleter tests

  • system tenant is created automatically. System tenant cannot be deleted.
  • resources (namespaces, service accounts, clusterroles, clsuterrolebindings) created automatically at tenant initialization
  • multi-tenancy namespace deleter
  • tenant deleter

multi-tenancy Kubectl commands

All the tests should be done by

  • a regular tenant with the tenant admin context specified
  • a system tenant user with "--tenant" option

Tests for verbs:

  • create
  • get
  • config (together verification of setup_client.sh)
  • describe
  • run
  • delete
  • cp
  • exec
  • apply
  • scale
  • patch
  • create job
  • label
  • autoscale
  • diff
  • cluster-info
  • expose
  • annotate
  • port-forward
  • set
  • edit
  • rollout
  • history
  • taint
  • logs
  • attach
  • replace
  • wait
  • api-resources
  • api-versions

controllers

  • deployment controller
  • replicaset controller
  • serviceaccount controller
  • token controller
  • endpoints controller
  • job controller
  • cronjob controller
  • daemonset controller
  • per-tenant resource quota controller
  • service controller
  • statefulset controller
  • persistentvolume controller
  • NodeLifeCycle controller

access control

  • regular tenants can not visit resources like nodes

CRD

  • per-tenant CRD
  • system forced CRD

Protection on fixed bugs