Skip to content

Proposal: Testing infrastructure  #303

@smothiki

Description

@smothiki

After working on the test suite for a good amount of time and getting help from fellow folks.
These are some issues I'm thinking of proposing to make the suite better. During our last retro, we have already talked about running smoke tests.

Some Proposals about proceeding further with current CI/CD infrastructure.

view of the current Deis architecture

The control Plane:

  • Controller, Builder, Registry, Database, Minio
    Any changes made to these components or Deis Cli or controller-sdk-go repository will affect workflow functionality and should run the full test suite.

The Logging and Monitoring stack:

  • Fluentd, Logger, Grafana, NSQ, InfluxDB.
    A Pr change to this stack will not affect any CLI functionality or workflow features that are related to control plane except Deis logs

sub-components:

  • Slugbuilder, slugrunner, dockerfilebuilder
    A pr change to these will only affect a few tests in the workflow e2e and instead of running entire test suite and git push with different app types test should be sufficinet for testing.
Ideas
  • Each component in the architecture should have it's own dedicated test suite and clusters.
  • For example :
  • control plane should have a helm chart or manifests, which will install the control plane components on to Deis namespace. The cluster should already be running Logging and monitoring stack.
  • Logging and monitoring stack should have it's own dedicated cluster where control plane is already present and helm chart or manifests are needed to install this stack on to existing control plane in Deis namespace.
  • subcomponents like slugbuilder, slugrunner and dockerfile builder etc., should run specific tests in e2e or should have a dedicated test suite that would run specific tests to check if these components are working.
  • Note This point is a complete outlier but if implemented would cut GCS costs. We should also look at installing Deis in different namespaces within the same cluster. This might require some code change in each component but would save cluster costs and also provides user a chance to install deis in a custom namespace.

Please provide valuable feedback and comments to proceed further in this proposal and come up with action items that we can work on to make Jenkins a green place .

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions