-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
3
-
False
-
None
-
False
-
-
-
AppSvc Sprint 237, AppSvc Sprint 238
Owner: Architect:
Story (Required)
As a developer, I would like to build primaza once, then test & deploy it many times.
Background (Required)
When we want to test & deploy primaza, we need to be able to point to specific pre-built images of primaza's various controllers. This has a few advantages for us:
- This allows us to have faster and more repeatable tests, which is a need not currently met by our current testing approach (primaza is built and deployed multiple times across acceptance testing; we currently get away with it because of docker's build cache).
- This will also allow us to make deployments via primazactl easier: if we pick a predictable versioning scheme for our images, primazactl could be able to deploy a variety of versions. This would let us de-couple the development & deployment of primazactl from primaza itself.
- Finally, by accepting pre-built images, we can run acceptance tests on non-ephemeral clusters; this would let users test their clusters for primaza compatibility.
Out of scope
If not provided, we shouldn't push images we build to an external image registry.
In Scope
Primaza and its agents should be provided as a set of images to be tested; the testing framework shouldn't build primaza.
Approach(Required)
Within the testing framework, the container images we need should be provided to us; we shouldn't need to call `docker build` during the course of completing an acceptance test.
Instead, during test startup, we should check for images provided to us. If so, we should run acceptance tests with these container images as primaza. Otherwise, we should build the images ourselves, tag them with appropriate tags, and make them available on the clusters we use for testing. This should be done before we call behave.
Demo requirements(Required)
Acceptance tests should be run against pre-built images.
Acceptance Criteria
Development:
- Deploying an installation of primaza should not require building primaza; it should instead pull images from publicly-available image repositories.
QE:
- Acceptance testing should test against pre-built container images.
Documentation: Yes
Design is implementable
Acceptance criteria agreed upon
Story estimated
v
Legend
Unknown
Verified
Unsatisfied
- is depended on by
-
APPSVC-1350 Use provided clusters in acceptance testing
- Closed