canonical-ubuntu-qa team mailing list archive
-
canonical-ubuntu-qa team
-
Mailing list archive
-
Message #01990
[Merge] ~hyask/autopkgtest-cloud:skia/docs_archi_diagram into autopkgtest-cloud:master
Skia has proposed merging ~hyask/autopkgtest-cloud:skia/docs_archi_diagram into autopkgtest-cloud:master.
Requested reviews:
Canonical's Ubuntu QA (canonical-ubuntu-qa)
For more details, see:
https://code.launchpad.net/~hyask/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/456376
--
Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~hyask/autopkgtest-cloud:skia/docs_archi_diagram into autopkgtest-cloud:master.
diff --git a/docs/architecture.rst b/docs/architecture.rst
index 4a31322..2f4c446 100644
--- a/docs/architecture.rst
+++ b/docs/architecture.rst
@@ -11,18 +11,22 @@ Overview
subgraph cluster_autopkgtestcloud {
subgraph cluster_prodstack {
node [shape=Mrecord]
- web [label="{autopkgtest-web web UI|results browser for developers|shows which tests are running|receives requests to run tests from developers or GitHub PRs|can be scaled out}"]
+ web [label="{autopkgtest-web web UI|* results browser for developers\n* shows which tests are running\n* receives requests to run tests from developers or GitHub PRs\n* can be scaled out}"]
rabbitmq [label="{RabbitMQ AMQP server|debci-focal-amd64|...}"]
- cloudworker [label="{cloud worker|call autopkgtest with ssh+nova (openstack) runner}"]
- lxdworker [label="{cloud worker (lxd)|call autopkgtest with lxd runner}"]
+ cloudworker [label="{autopkgtest-cloud-worker|call autopkgtest with ssh+nova (openstack) runner}"]
+ lxdworker [label="{autopkgtest-cloud-worker (lxd)|call autopkgtest with lxd runner}"]
swift [label="{OpenStack Swift object store (test results)|autopkgtest-focal|...}"]
- haproxyweb [label="{autopkgtest.ubuntu.com haproxy|provides SSL termination|https://autopkgtest.ubuntu.com}"]
- haproxylxd [label="{haproxy-armhf-lxd|mediates access to lxd cluster to avoid SPOF}"]
+ swiftprivate [label="{OpenStack Swift object store|private PPA test results, embargoed CVEs}"]
+ haproxyweb [label="{HAproxy|* provides SSL termination\n* https://autopkgtest.ubuntu.com}"]
+ runner [label="{OpenStack Instances|dynamically allocated test runners|amd64, arm64, i386, ppc64el, s390x}"]
+ "cloudworker" -> "runner"
"rabbitmq" -> "cloudworker"
"rabbitmq" -> "lxdworker"
"cloudworker" -> "swift"
+ "cloudworker" -> "swiftprivate"
"lxdworker" -> "swift"
+ "lxdworker" -> "swiftprivate"
"swift" -> "web" [label="download new results into database"]
"web" -> "swift" [label="link to logs and artifacts" style="dotted"]
"haproxyweb" -> "web" [label="one proxy, many backends"]
@@ -32,10 +36,8 @@ Overview
}
subgraph cluster_scalingstack {
node [shape=Mrecord]
- runner [label="{dynamically allocated test runners|amd64, arm64, i386, ppc64el, s390x|openstack instances}"]
- static [label="{statically provisioned lxd runners|arm64 host|armhf tests|many of these|running lxd in an lxd cluster}"]
+ static [label="{statically provisioned lxd runners|arm64 host|armhf tests|all of these running lxd in an lxd cluster}"]
- "cloudworker" -> "runner"
"lxdworker" -> "static"
label="'scalingstack' workload OpenStack cloud"
@@ -46,9 +48,19 @@ Overview
subgraph cluster_external {
node [shape=Mrecord]
archive [label="{Ubuntu developers|packages in -proposed}"]
- britney [label="{britney|gates pkgs from devel-proposed to release pocket|completed builds|installability|autopkgtests|generates update_excuses.html/update_output.txt}"]
+ britney [label="{britney|* gates pkgs from -proposed to release pocket\n* completed builds\n* installability\n* autopkgtests\n* generates update_excuses.html/update_output.txt}"]
+
"archive" -> "britney" [label="Ubuntu developers upload packages"]
"britney" -> "rabbitmq" [label="send AMQP requests for tests"]
+
+ archivesecure [label="{Ubuntu security team|packages in ???}"]
+ britneysecure [label="{britney-secure}"]
+ "archivesecure" -> "britneysecure" [label="Ubuntu security team upload packages"]
+ "britneysecure" -> "rabbitmq" [label="send AMQP requests for tests"]
+
+ thirdinput [label="{??? Third input}"]
+ "thirdinput" -> "rabbitmq" [label="send AMQP requests for tests"]
+
color=green
label="external inputs"
@@ -56,6 +68,7 @@ Overview
}
+
The basic architecture is that a client (e.g. proposed-migration) submits
test requests to an AMQP instance. Cloud workers then receive these messages
from AMQP and dispatch the tests to workers to be run. They upload the
References