aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAndreas Geissler <andreas-geissler@telekom.de>2022-10-19 17:49:04 +0200
committerAndreas Geissler <andreas-geissler@telekom.de>2022-10-19 17:52:13 +0200
commitd273edeccd97122de1caec74243d702a652cacb9 (patch)
tree4414e752f4a6aebc6fa29ef79b36d9b5f5571858 /doc
parented3c78887493baa5855ac5256683b68ab7b74073 (diff)
[GITLAB] Initial content for gitlab project xtesting-onap
Issue-ID: INT-2150 Signed-off-by: Andreas Geissler <andreas-geissler@telekom.de> Change-Id: I6a429e2f661474fe54b13b6513eca64f13e99b50
Diffstat (limited to 'doc')
-rw-r--r--doc/artifacts/versions/guilin.json1694
-rw-r--r--doc/artifacts/versions/honolulu.json1736
-rw-r--r--doc/artifacts/versions/istanbul.json1694
-rw-r--r--doc/artifacts/versions/test_guilin_MR1.json68
-rw-r--r--doc/artifacts/versions/test_honolulu.json62
-rw-r--r--doc/artifacts/versions/test_honolulu_MR_Candidate.json50
-rw-r--r--doc/artifacts/versions/test_master.json62
-rw-r--r--doc/generate_docker_version.py437
-rw-r--r--doc/generate_gating_index.py49
-rw-r--r--doc/generate_stability_graphs.py133
-rw-r--r--doc/generate_status.py457
-rw-r--r--doc/requirements.txt7
-rw-r--r--doc/stability_results.json54
-rw-r--r--doc/template/docker-version-tmpl.html409
-rw-r--r--doc/template/index-gating-tmpl.html63
-rw-r--r--doc/template/index-infra.html46
-rw-r--r--doc/template/index-stability-tmpl.html391
-rw-r--r--doc/template/index-tmpl.html203
-rw-r--r--doc/template/k8s.html103
19 files changed, 7718 insertions, 0 deletions
diff --git a/doc/artifacts/versions/guilin.json b/doc/artifacts/versions/guilin.json
new file mode 100644
index 0000000..1dc244d
--- /dev/null
+++ b/doc/artifacts/versions/guilin.json
@@ -0,0 +1,1694 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "a1policymanagement",
+ "component": "a1policymanagement",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-oran-a1policymanagementservice",
+ "version": "1.0.1"
+ },
+ {
+ "container": "aaf-cass",
+ "component": "aaf-cass",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_cass",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-cm",
+ "component": "aaf-cm",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-fs",
+ "component": "aaf-fs",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-gui",
+ "component": "aaf-gui",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-locate",
+ "component": "aaf-locate",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-oauth",
+ "component": "aaf-oauth",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-service",
+ "component": "aaf-service",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-sms",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-vault",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/vault",
+ "version": "1.3.3"
+ },
+ {
+ "container": "aaf-sms-vault-backend",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.7.1"
+ },
+ {
+ "container": "aaf-sshsm-distcenter",
+ "component": "aaf-sshsm-distcenter",
+ "image": "nexus3.onap.org:10001/onap/aaf/distcenter",
+ "version": "4.0.0"
+ },
+ {
+ "container": "aaf-sshsm-testca",
+ "component": "aaf-sshsm-testca",
+ "image": "nexus3.onap.org:10001/onap/aaf/testcaservice",
+ "version": "4.0.0"
+ },
+ {
+ "container": "aai",
+ "component": "aai",
+ "image": "docker.nexus.azure.onap.eu/aaionap/haproxy",
+ "version": "1.4.2"
+ },
+ {
+ "container": "aai-babel",
+ "component": "aai-babel",
+ "image": "nexus3.onap.org:10001/onap/babel",
+ "version": "1.7.1"
+ },
+ {
+ "container": "aai-data-router",
+ "component": "aai-data-router",
+ "image": "nexus3.onap.org:10001/onap/aai-data-router",
+ "version": "1.7.0"
+ },
+ {
+ "container": "aai-elasticsearch",
+ "component": "aai-elasticsearch",
+ "image": "nexus3.onap.org:10001/onap/aai-elasticsearch",
+ "version": "6.1.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-babel",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin",
+ "component": "aai-graphadmin",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.7.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-graphadmin",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin-job",
+ "component": "aai-graphadmin-job",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.7.1"
+ },
+ {
+ "container": "aai-modelloader",
+ "component": "aai-modelloader",
+ "image": "nexus3.onap.org:10001/onap/model-loader",
+ "version": "1.7.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-resources",
+ "component": "aai-resources",
+ "image": "nexus3.onap.org:10001/onap/aai-resources",
+ "version": "1.7.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-schema-service",
+ "component": "aai-schema-service",
+ "image": "nexus3.onap.org:10001/onap/aai-schema-service",
+ "version": "1.7.14"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-schema-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-sparky-be",
+ "component": "aai-sparky-be",
+ "image": "nexus3.onap.org:10001/onap/sparky-be",
+ "version": "1.6.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-sparky-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal",
+ "component": "aai-traversal",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.7.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-traversal",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal-job",
+ "component": "aai-traversal-job",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.7.2"
+ },
+ {
+ "container": "appc",
+ "component": "appc",
+ "image": "nexus3.onap.org:10001/onap/appc-image",
+ "version": "1.7.2"
+ },
+ {
+ "container": "appc-ansible-server",
+ "component": "appc-ansible-server",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-ansible-server-image",
+ "version": "0.4.4"
+ },
+ {
+ "container": "appc-cdt",
+ "component": "appc-cdt",
+ "image": "nexus3.onap.org:10001/onap/appc-cdt-image",
+ "version": "1.7.2"
+ },
+ {
+ "container": "appc-db",
+ "component": "appc-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "appc-dgbuilder",
+ "component": "appc-dgbuilder",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image",
+ "version": "1.1.1"
+ },
+ {
+ "container": "awx-web",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_web",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-celery",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-rabbit",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_rabbitmq",
+ "version": "3.7.4"
+ },
+ {
+ "container": "awx-memcached",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/memcached",
+ "version": "1.5.20"
+ },
+ {
+ "container": "awx-postgres",
+ "component": "awx-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "awx-mgnt",
+ "component": "awx-mgnt",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cds-blueprints-processor",
+ "component": "cds-blueprints-processor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-blueprintsprocessor",
+ "version": "1.0.3"
+ },
+ {
+ "container": "cds-command-executor",
+ "component": "cds-command-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-commandexecutor",
+ "version": "1.0.3"
+ },
+ {
+ "container": "cds-db",
+ "component": "cds-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "cds-py-executor",
+ "component": "cds-py-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-py-executor",
+ "version": "1.0.3"
+ },
+ {
+ "container": "cds-sdc-listener",
+ "component": "cds-sdc-listener",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-sdclistener",
+ "version": "1.0.3"
+ },
+ {
+ "container": "cds-ui",
+ "component": "cds-ui",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-cds-ui-server",
+ "version": "1.0.3"
+ },
+ {
+ "container": "clamp",
+ "component": "clamp",
+ "image": "nexus3.onap.org:10001/onap/clamp",
+ "version": "5.1.4"
+ },
+ {
+ "container": "clamp-backend",
+ "component": "clamp-backend",
+ "image": "nexus3.onap.org:10001/onap/clamp-backend",
+ "version": "5.1.5"
+ },
+ {
+ "container": "clamp-dash-es",
+ "component": "clamp-dash-es",
+ "image": "nexus3.onap.org:10001/onap/clamp-dash-es",
+ "version": "5.0.4"
+ },
+ {
+ "container": "clamp-dash-kibana",
+ "component": "clamp-dash-kibana",
+ "image": "nexus3.onap.org:10001/onap/clamp-dash-kibana",
+ "version": "5.0.4"
+ },
+ {
+ "container": "clamp-dash-logstash",
+ "component": "clamp-dash-logstash",
+ "image": "nexus3.onap.org:10001/onap/clamp-dash-logstash",
+ "version": "5.0.4"
+ },
+ {
+ "container": "clamp-mariadb",
+ "component": "clamp-mariadb",
+ "image": "nexus3.onap.org:10001/onap/clamp-mariadb",
+ "version": "10.5.4"
+ },
+ {
+ "container": "cli",
+ "component": "cli",
+ "image": "nexus3.onap.org:10001/onap/cli",
+ "version": "6.0.0"
+ },
+ {
+ "container": "cmso-db",
+ "component": "cmso-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "cmso-db-config",
+ "component": "cmso-db-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "consul",
+ "component": "consul",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-bootstrap",
+ "component": "dcae-bootstrap",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container",
+ "version": "2.1.8"
+ },
+ {
+ "container": "dcae-cloudify-manager",
+ "component": "dcae-cloudify-manager",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.cm-container",
+ "version": "3.3.4"
+ },
+ {
+ "container": "dcae-config-binding-service",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.3"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-config-binding-service-insecure",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.3"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap-i",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard",
+ "component": "dcae-dashboard",
+ "image": "nexus3.onap.org:10001/onap/org.onap.ccsdk.dashboard.ccsdk-app-os",
+ "version": "1.4.0"
+ },
+ {
+ "container": "dcae-dashboard-filebeat",
+ "component": "dcae-dashboard",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-deployment-handler",
+ "component": "dcae-deployment-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler",
+ "version": "4.4.1"
+ },
+ {
+ "container": "dcae-deployment-handler-filebeat",
+ "component": "dcae-deployment-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-healthcheck",
+ "component": "dcae-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.1.0"
+ },
+ {
+ "container": "dcae-hv-ves-collector",
+ "component": "dcae-hv-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main",
+ "version": "1.5.0"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-hv-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcae-inventory-api",
+ "component": "dcae-inventory-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api",
+ "version": "3.5.2"
+ },
+ {
+ "container": "dcae-inventory-api-filebeat",
+ "component": "dcae-inventory-api",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-mongo",
+ "component": "dcae-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "dcae-policy-handler",
+ "component": "dcae-policy-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler",
+ "version": "5.1.0"
+ },
+ {
+ "container": "dcae-policy-handler-filebeat",
+ "component": "dcae-policy-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-prh",
+ "component": "dcae-prh",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server",
+ "version": "1.5.4"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-prh",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-servicechange-handler",
+ "component": "dcae-servicechange-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler",
+ "version": "1.4.0"
+ },
+ {
+ "container": "dcae-tcagen2",
+ "component": "dcae-tcagen2",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web",
+ "version": "1.2.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-tcagen2",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-ves-collector",
+ "component": "dcae-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector",
+ "version": "1.7.9"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ },
+ {
+ "container": "dcaemod-designtool",
+ "component": "dcaemod-designtool",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.designtool-web",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-distributor-api",
+ "component": "dcaemod-distributor-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.distributorapi",
+ "version": "1.1.0"
+ },
+ {
+ "container": "dcaemod-genprocessor",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-job",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-genprocessor-http",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-http",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-healthcheck",
+ "component": "dcaemod-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.0.0"
+ },
+ {
+ "container": "dcaemod-nifi-registry",
+ "component": "dcaemod-nifi-registry",
+ "image": "docker.nexus.azure.onap.eu/apache/nifi-registry",
+ "version": "0.5.0"
+ },
+ {
+ "container": "dcaemod-onboarding-api",
+ "component": "dcaemod-onboarding-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.onboardingapi",
+ "version": "2.12.3"
+ },
+ {
+ "container": "dcaemod-runtime-api",
+ "component": "dcaemod-runtime-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.runtime-web",
+ "version": "1.1.1"
+ },
+ {
+ "container": "dmaap-bc",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-bc",
+ "version": "2.0.4"
+ },
+ {
+ "container": "dmaap-provisioning-job",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dbc-client",
+ "version": "1.0.9"
+ },
+ {
+ "container": "dmaap-dr-db",
+ "component": "dmaap-dr-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "dmaap-dr-node",
+ "component": "dmaap-dr-node",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-node",
+ "version": "2.1.7"
+ },
+ {
+ "container": "dmaap-dr-node-filebeat-onap",
+ "component": "dmaap-dr-node",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dmaap-dr-prov",
+ "component": "dmaap-dr-prov",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-prov",
+ "version": "2.1.7"
+ },
+ {
+ "container": "dmaap-dr-prov-filebeat-onap",
+ "component": "dmaap-dr-prov",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "ejbca-ejbca",
+ "component": "ejbca",
+ "image": "docker.nexus.azure.onap.eu/primekey/ejbca-ce",
+ "version": "6.15.2.5"
+ },
+ {
+ "container": "ejbca-config",
+ "component": "ejbca-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "esr-gui",
+ "component": "esr-gui",
+ "image": "nexus3.onap.org:10001/onap/aai/esr-gui",
+ "version": "1.4.0"
+ },
+ {
+ "container": "esr-server",
+ "component": "esr-server",
+ "image": "nexus3.onap.org:10001/onap/aai/esr-server",
+ "version": "1.5.2"
+ },
+ {
+ "container": "esr-server-filebeat-onap",
+ "component": "esr-server",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "holmes-engine-mgmt",
+ "component": "holmes-engine-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/engine-management",
+ "version": "1.2.9"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-rule-mgmt",
+ "component": "holmes-rule-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/rule-management",
+ "version": "1.2.6"
+ },
+ {
+ "container": "kube2msb",
+ "component": "kube2msb",
+ "image": "nexus3.onap.org:10001/onap/oom/kube2msb",
+ "version": "1.2.6"
+ },
+ {
+ "container": "mariadb-galera",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "message-router",
+ "component": "message-router",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-mr",
+ "version": "1.1.18"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.0.5"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.0.5"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.0.4"
+ },
+ {
+ "container": "message-router-zookeeper",
+ "component": "message-router-zookeeper",
+ "image": "nexus3.onap.org:10001/onap/dmaap/zookeeper",
+ "version": "6.0.3"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "nexus3.onap.org:10001/onap/modeling/etsicatalog",
+ "version": "10.1.38"
+ },
+ {
+ "container": "modeling-etsicatalog-filebeat-onap",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "1.0.9"
+ },
+ {
+ "container": "msb-consul",
+ "component": "msb-consul",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.4.3"
+ },
+ {
+ "container": "msb-discovery",
+ "component": "msb-discovery",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_discovery",
+ "version": "1.2.6"
+ },
+ {
+ "container": "msb-discovery-filebeat-onap",
+ "component": "msb-discovery",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-eag",
+ "component": "msb-eag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.2.7"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-eag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-iag",
+ "component": "msb-iag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.2.7"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-iag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud",
+ "component": "multicloud",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework",
+ "version": "1.6.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-fcaps",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-fcaps",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-fcaps",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "rabbit-mq",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/rabbitmq",
+ "version": "alpine"
+ },
+ {
+ "container": "multicloud-k8s",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/k8s",
+ "version": "0.7.0"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "onap-multicloud-k8s-etcd",
+ "component": "multicloud-k8s-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "multicloud-k8s-mongo",
+ "component": "multicloud-k8s-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "multicloud-pike",
+ "component": "multicloud-pike",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-pike",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-pike",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-starlingx",
+ "component": "multicloud-starlingx",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-starlingx",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-starlingx",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-starlingx",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "multicloud-vio",
+ "component": "multicloud-vio",
+ "image": "nexus3.onap.org:10001/onap/multicloud/vio",
+ "version": "1.4.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-vio",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-windriver",
+ "component": "multicloud-windriver",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-windriver",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-windriver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-windriver",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "music-springboot",
+ "component": "music",
+ "image": "nexus3.onap.org:10001/onap/music/music_sb",
+ "version": "3.2.40"
+ },
+ {
+ "container": "music-cassandra",
+ "component": "music-cassandra",
+ "image": "nexus3.onap.org:10001/onap/music/cassandra_3_11",
+ "version": "3.0.24"
+ },
+ {
+ "container": "music-cassandra-update-job",
+ "component": "music-cassandra-job",
+ "image": "nexus3.onap.org:10001/onap/music/cassandra_job",
+ "version": "3.0.24"
+ },
+ {
+ "container": "nbi",
+ "component": "nbi",
+ "image": "nexus3.onap.org:10001/onap/externalapi/nbi",
+ "version": "7.0.2"
+ },
+ {
+ "container": "nbi-config",
+ "component": "nbi-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "nbi-mongo",
+ "component": "nbi-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "nengdb-init",
+ "component": "nengdb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "netbox-app",
+ "component": "netbox-app",
+ "image": "docker.nexus.azure.onap.eu/netboxcommunity/netbox",
+ "version": "v2.5.8"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-nginx",
+ "component": "netbox-nginx",
+ "image": "docker.nexus.azure.onap.eu/nginx",
+ "version": "1.15-alpine"
+ },
+ {
+ "container": "netbox-postgres",
+ "component": "netbox-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "network-name-gen",
+ "component": "network-name-gen",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-apps-ms-neng",
+ "version": "1.1.1"
+ },
+ {
+ "container": "oof",
+ "component": "oof",
+ "image": "nexus3.onap.org:10001/onap/optf-osdf",
+ "version": "3.0.2"
+ },
+ {
+ "container": "oof-cmso-optimizer",
+ "component": "oof-cmso-optimizer",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-optimizer",
+ "version": "2.3.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "oof-cmso-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "mso-simulator",
+ "component": "oof-cmso-service",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-robot",
+ "version": "2.3.0"
+ },
+ {
+ "container": "oof-cmso-service",
+ "component": "oof-cmso-service",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-service",
+ "version": "2.3.0"
+ },
+ {
+ "container": "oof-cmso-ticketmgt",
+ "component": "oof-cmso-ticketmgt",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-ticketmgt",
+ "version": "2.3.0"
+ },
+ {
+ "container": "oof-cmso-topology",
+ "component": "oof-cmso-topology",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-topology",
+ "version": "2.3.0"
+ },
+ {
+ "container": "oof-has-api",
+ "component": "oof-has-api",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "oof-has-controller",
+ "component": "oof-has-controller",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-data",
+ "component": "oof-has-data",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-healthcheck",
+ "component": "oof-has",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-onboard",
+ "component": "oof-has",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-reservation",
+ "component": "oof-has-reservation",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oof-has-solver",
+ "component": "oof-has-solver",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.2"
+ },
+ {
+ "container": "oom-cert-service",
+ "component": "oom-cert-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-api",
+ "version": "2.1.1"
+ },
+ {
+ "container": "policy-apex-pdp",
+ "component": "policy-apex-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-apex-pdp",
+ "version": "2.4.4"
+ },
+ {
+ "container": "policy-api",
+ "component": "policy-api",
+ "image": "nexus3.onap.org:10001/onap/policy-api",
+ "version": "2.3.3"
+ },
+ {
+ "container": "policy-distribution",
+ "component": "policy-distribution",
+ "image": "nexus3.onap.org:10001/onap/policy-distribution",
+ "version": "2.4.3"
+ },
+ {
+ "container": "policy-drools-pdp",
+ "component": "policy-drools-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-pdpd-cl",
+ "version": "1.7.5"
+ },
+ {
+ "container": "policy-mariadb",
+ "component": "policy-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "policy-pap",
+ "component": "policy-pap",
+ "image": "nexus3.onap.org:10001/onap/policy-pap",
+ "version": "2.3.3"
+ },
+ {
+ "container": "policy-xacml-pdp",
+ "component": "policy-xacml-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-xacml-pdp",
+ "version": "2.3.3"
+ },
+ {
+ "container": "portal-app",
+ "component": "portal-app",
+ "image": "nexus3.onap.org:10001/onap/portal-app",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-app",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-cassandra",
+ "component": "portal-cassandra",
+ "image": "docker.nexus.azure.onap.eu/bitnami/cassandra",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-db",
+ "component": "portal-db",
+ "image": "nexus3.onap.org:10001/onap/portal-db",
+ "version": "3.4.1"
+ },
+ {
+ "container": "portal-db-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-db-oom-update-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-sdk",
+ "component": "portal-sdk",
+ "image": "nexus3.onap.org:10001/onap/portal-sdk",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-sdk",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-widget",
+ "component": "portal-widget",
+ "image": "nexus3.onap.org:10001/onap/portal-wms",
+ "version": "3.4.2"
+ },
+ {
+ "container": "robot",
+ "component": "robot",
+ "image": "nexus3.onap.org:10001/onap/testsuite",
+ "version": "1.7.2"
+ },
+ {
+ "container": "sdc-be",
+ "component": "sdc-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-all-plugins",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-be-filebeat-onap",
+ "component": "sdc-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-be-job",
+ "component": "sdc-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-init",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-cs-job",
+ "component": "sdc-cs-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-cassandra-init",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-fe",
+ "component": "sdc-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-frontend",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-fe-filebeat-onap",
+ "component": "sdc-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-onboarding-be-job",
+ "component": "sdc-onboarding-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-cassandra-init",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-onboarding-be",
+ "component": "sdc-onboarding-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-backend",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-onboarding-be-filebeat-onap",
+ "component": "sdc-onboarding-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-wfd-be",
+ "component": "sdc-wfd-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-backend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-be-job",
+ "component": "sdc-wfd-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-init",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe",
+ "component": "sdc-wfd-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-frontend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe-filebeat-onap",
+ "component": "sdc-wfd-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "sdnc",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc-ansible-server",
+ "component": "sdnc-ansible-server",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ansible-server-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc-job",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "sdnc-dgbuilder",
+ "component": "sdnc-dgbuilder",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image",
+ "version": "1.0.2"
+ },
+ {
+ "container": "sdnc-dmaap-listener",
+ "component": "sdnc-dmaap-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "sdnc-sdnrdb-init-job",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "sdnc-ueb-listener",
+ "component": "sdnc-ueb-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ueb-listener-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc-web",
+ "component": "sdnc-web",
+ "image": "nexus3.onap.org:10001/onap/sdnc-web-image",
+ "version": "2.0.5"
+ },
+ {
+ "container": "sdnrdb-nginx",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.16-debian-9"
+ },
+ {
+ "container": "sdnrdb-elasticsearch",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.6.1"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.6.1"
+ },
+ {
+ "container": "so",
+ "component": "so",
+ "image": "nexus3.onap.org:10001/onap/so/api-handler-infra",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-filebeat-onap",
+ "component": "so",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-admin-cockpit",
+ "component": "so-admin-cockpit",
+ "image": "nexus3.onap.org:10001/onap/so/so-admin-cockpit",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-bpmn-infra",
+ "component": "so-bpmn-infra",
+ "image": "nexus3.onap.org:10001/onap/so/bpmn-infra",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-bpmn-infra-filebeat-onap",
+ "component": "so-bpmn-infra",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-catalog-db-adapter",
+ "component": "so-catalog-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/catalog-db-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-cnf-adapter",
+ "component": "so-cnf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-cnf-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-etsi-nfvo-ns-lcm",
+ "component": "so-etsi-nfvo-ns-lcm",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-nfvo-ns-lcm",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-etsi-sol003-adapter",
+ "component": "so-etsi-sol003-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol003-adapter",
+ "version": "1.7.112"
+ },
+ {
+ "container": "so-etsi-sol005-adapter",
+ "component": "so-etsi-sol005-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol005-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-mariadb-config",
+ "component": "so-mariadb-job",
+ "image": "nexus3.onap.org:10001/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "so-nssmf-adapter",
+ "component": "so-nssmf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-nssmf-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-oof-adapter",
+ "component": "so-oof-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-oof-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-oof-adapter-filebeat-onap",
+ "component": "so-oof-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-openstack-adapter",
+ "component": "so-openstack-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/openstack-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-openstack-adapter-filebeat-onap",
+ "component": "so-openstack-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-request-db-adapter",
+ "component": "so-request-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/request-db-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-sdc-controller",
+ "component": "so-sdc-controller",
+ "image": "nexus3.onap.org:10001/onap/so/sdc-controller",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-sdc-controller-filebeat-onap",
+ "component": "so-sdc-controller",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-sdnc-adapter",
+ "component": "so-sdnc-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/sdnc-adapter",
+ "version": "1.7.11"
+ },
+ {
+ "container": "so-sdnc-adapter-filebeat-onap",
+ "component": "so-sdnc-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "uui",
+ "component": "uui",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui",
+ "version": "3.0.6"
+ },
+ {
+ "container": "uui-server",
+ "component": "uui-server",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui-server",
+ "version": "3.0.6"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/gvnfmdriver",
+ "version": "1.4.0"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver-filebeat-onap",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei",
+ "version": "1.3.8"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver-filebeat-onap",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-mariadb",
+ "component": "vfc-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "v002"
+ },
+ {
+ "container": "vfc-mariadb-metrics",
+ "component": "vfc-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "vfc-nslcm-filebeat-onap",
+ "component": "vfc-nslcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-redis",
+ "component": "vfc-redis",
+ "image": "nexus3.onap.org:10001/onap/vfc/db",
+ "version": "1.3.4"
+ },
+ {
+ "container": "vfc-vnflcm",
+ "component": "vfc-vnflcm",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnflcm",
+ "version": "1.4.0"
+ },
+ {
+ "container": "vfc-vnflcm-filebeat-onap",
+ "component": "vfc-vnflcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfmgr",
+ "component": "vfc-vnfmgr",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfmgr",
+ "version": "1.3.9"
+ },
+ {
+ "container": "vfc-vnfmgr-filebeat-onap",
+ "component": "vfc-vnfmgr",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfres",
+ "component": "vfc-vnfres",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfres",
+ "version": "1.3.8"
+ },
+ {
+ "container": "vfc-vnfres-filebeat-onap",
+ "component": "vfc-vnfres",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/ztevnfmdriver",
+ "version": "1.3.8"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver-filebeat-onap",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid",
+ "component": "vid",
+ "image": "nexus3.onap.org:10001/onap/vid",
+ "version": "7.0.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "vid",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid-mariadb-init",
+ "component": "vid-mariadb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "v002"
+ },
+ {
+ "container": "vnfsdk",
+ "component": "vnfsdk",
+ "image": "nexus3.onap.org:10001/onap/vnfsdk/refrepo",
+ "version": "1.6.2"
+ },
+ {
+ "container": "vnfsdk-job",
+ "component": "vnfsdk-job",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.3-1.8.2"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.3-1.8.2"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos7-10.11-4.2.1"
+ }
+]
diff --git a/doc/artifacts/versions/honolulu.json b/doc/artifacts/versions/honolulu.json
new file mode 100644
index 0000000..a694b7f
--- /dev/null
+++ b/doc/artifacts/versions/honolulu.json
@@ -0,0 +1,1736 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "a1policymanagement",
+ "component": "a1policymanagement",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-oran-a1policymanagementservice",
+ "version": "1.1.1"
+ },
+ {
+ "container": "aaf-cass",
+ "component": "aaf-cass",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_cass",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-cm",
+ "component": "aaf-cm",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-fs",
+ "component": "aaf-fs",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-gui",
+ "component": "aaf-gui",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-locate",
+ "component": "aaf-locate",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-oauth",
+ "component": "aaf-oauth",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-service",
+ "component": "aaf-service",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-sms",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-vault",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/vault",
+ "version": "1.3.3"
+ },
+ {
+ "container": "aaf-sms-vault-backend",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.7.1"
+ },
+ {
+ "container": "aaf-sshsm-distcenter",
+ "component": "aaf-sshsm-distcenter",
+ "image": "nexus3.onap.org:10001/onap/aaf/distcenter",
+ "version": "4.0.0"
+ },
+ {
+ "container": "aaf-sshsm-testca",
+ "component": "aaf-sshsm-testca",
+ "image": "nexus3.onap.org:10001/onap/aaf/testcaservice",
+ "version": "4.0.0"
+ },
+ {
+ "container": "aai",
+ "component": "aai",
+ "image": "docker.nexus.azure.onap.eu/aaionap/haproxy",
+ "version": "1.4.2"
+ },
+ {
+ "container": "aai-babel",
+ "component": "aai-babel",
+ "image": "nexus3.onap.org:10001/onap/babel",
+ "version": "1.8.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-babel",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin",
+ "component": "aai-graphadmin",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.8.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-graphadmin",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin-job",
+ "component": "aai-graphadmin-job",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.8.0"
+ },
+ {
+ "container": "aai-graphadmin-job",
+ "component": "aai-graphadmin-job",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.8.0"
+ },
+ {
+ "container": "aai-modelloader",
+ "component": "aai-modelloader",
+ "image": "nexus3.onap.org:10001/onap/model-loader",
+ "version": "1.8.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-resources",
+ "component": "aai-resources",
+ "image": "nexus3.onap.org:10001/onap/aai-resources",
+ "version": "1.8.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-schema-service",
+ "component": "aai-schema-service",
+ "image": "nexus3.onap.org:10001/onap/aai-schema-service",
+ "version": "1.8.6"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-schema-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-sparky-be",
+ "component": "aai-sparky-be",
+ "image": "nexus3.onap.org:10001/onap/sparky-be",
+ "version": "2.0.3"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-sparky-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal",
+ "component": "aai-traversal",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.8.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-traversal",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal-job",
+ "component": "aai-traversal-job",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.8.0"
+ },
+ {
+ "container": "appc",
+ "component": "appc",
+ "image": "nexus3.onap.org:10001/onap/appc-image",
+ "version": "1.7.2"
+ },
+ {
+ "container": "appc-ansible-server",
+ "component": "appc-ansible-server",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-ansible-server-image",
+ "version": "0.4.4"
+ },
+ {
+ "container": "appc-cdt",
+ "component": "appc-cdt",
+ "image": "nexus3.onap.org:10001/onap/appc-cdt-image",
+ "version": "1.7.2"
+ },
+ {
+ "container": "appc-db",
+ "component": "appc-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "appc-db-metrics",
+ "component": "appc-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "appc-dgbuilder",
+ "component": "appc-dgbuilder",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image",
+ "version": "1.1.1"
+ },
+ {
+ "container": "awx-web",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_web",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-celery",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-rabbit",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_rabbitmq",
+ "version": "3.7.4"
+ },
+ {
+ "container": "awx-memcached",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/memcached",
+ "version": "1.5.20"
+ },
+ {
+ "container": "awx-postgres",
+ "component": "awx-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "awx-mgnt",
+ "component": "awx-mgnt",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cds-blueprints-processor",
+ "component": "cds-blueprints-processor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-blueprintsprocessor",
+ "version": "1.1.2"
+ },
+ {
+ "container": "cds-command-executor",
+ "component": "cds-command-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-commandexecutor",
+ "version": "1.1.2"
+ },
+ {
+ "container": "cds-db",
+ "component": "cds-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "cds-db-metrics",
+ "component": "cds-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "cds-py-executor",
+ "component": "cds-py-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-py-executor",
+ "version": "1.1.2"
+ },
+ {
+ "container": "cds-sdc-listener",
+ "component": "cds-sdc-listener",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-sdclistener",
+ "version": "1.1.2"
+ },
+ {
+ "container": "cds-ui",
+ "component": "cds-ui",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-cds-ui-server",
+ "version": "1.1.2"
+ },
+ {
+ "container": "cli",
+ "component": "cli",
+ "image": "nexus3.onap.org:10001/onap/cli",
+ "version": "6.0.1"
+ },
+ {
+ "container": "cmso-db",
+ "component": "cmso-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "cmso-db-metrics",
+ "component": "cmso-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "cmso-db-config",
+ "component": "cmso-db-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "consul",
+ "component": "consul",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "cps",
+ "component": "cps",
+ "image": "nexus3.onap.org:10001/onap/cps-and-nf-proxy",
+ "version": "1.0.1"
+ },
+ {
+ "container": "cps-postgres",
+ "component": "cps-postgres-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "cps-postgres",
+ "component": "cps-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-bootstrap",
+ "component": "dcae-bootstrap",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container",
+ "version": "3.0.4"
+ },
+ {
+ "container": "dcae-cloudify-manager",
+ "component": "dcae-cloudify-manager",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.cm-container",
+ "version": "4.4.2"
+ },
+ {
+ "container": "dcae-config-binding-service",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.3"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-config-binding-service-insecure",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.3"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap-i",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard",
+ "component": "dcae-dashboard",
+ "image": "nexus3.onap.org:10001/onap/org.onap.ccsdk.dashboard.ccsdk-app-os",
+ "version": "1.4.0"
+ },
+ {
+ "container": "dcae-dashboard-filebeat",
+ "component": "dcae-dashboard",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-deployment-handler",
+ "component": "dcae-deployment-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler",
+ "version": "4.4.1"
+ },
+ {
+ "container": "dcae-deployment-handler-filebeat",
+ "component": "dcae-deployment-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-healthcheck",
+ "component": "dcae-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.1.0"
+ },
+ {
+ "container": "dcae-hv-ves-collector",
+ "component": "dcae-hv-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main",
+ "version": "1.6.0"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-hv-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-inventory-api",
+ "component": "dcae-inventory-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api",
+ "version": "3.5.2"
+ },
+ {
+ "container": "dcae-inventory-api-filebeat",
+ "component": "dcae-inventory-api",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-mongo",
+ "component": "dcae-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "dcae-ms-healthcheck",
+ "component": "dcae-ms-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.1.0"
+ },
+ {
+ "container": "dcae-policy-handler",
+ "component": "dcae-policy-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler",
+ "version": "5.1.2"
+ },
+ {
+ "container": "dcae-policy-handler-filebeat",
+ "component": "dcae-policy-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-prh",
+ "component": "dcae-prh",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server",
+ "version": "1.5.6"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-prh",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-servicechange-handler",
+ "component": "dcae-servicechange-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler",
+ "version": "1.4.0"
+ },
+ {
+ "container": "dcae-tcagen2",
+ "component": "dcae-tcagen2",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web",
+ "version": "1.2.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-tcagen2",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-ves-collector",
+ "component": "dcae-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector",
+ "version": "1.8.0"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-ves-openapi-manager",
+ "component": "dcae-ves-openapi-manager",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.ves-openapi-manager",
+ "version": "1.0.1"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcaemod-designtool",
+ "component": "dcaemod-designtool",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.designtool-web",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-distributor-api",
+ "component": "dcaemod-distributor-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.distributorapi",
+ "version": "1.1.0"
+ },
+ {
+ "container": "dcaemod-genprocessor",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-job",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-genprocessor-http",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-http",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-healthcheck",
+ "component": "dcaemod-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.1.0"
+ },
+ {
+ "container": "dcaemod-nifi-registry",
+ "component": "dcaemod-nifi-registry",
+ "image": "docker.nexus.azure.onap.eu/apache/nifi-registry",
+ "version": "0.5.0"
+ },
+ {
+ "container": "dcaemod-onboarding-api",
+ "component": "dcaemod-onboarding-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.onboardingapi",
+ "version": "2.12.5"
+ },
+ {
+ "container": "dcaemod-runtime-api",
+ "component": "dcaemod-runtime-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.runtime-web",
+ "version": "1.2.3"
+ },
+ {
+ "container": "dmaap-bc",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-bc",
+ "version": "2.0.5"
+ },
+ {
+ "container": "dmaap-provisioning-job",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dbc-client",
+ "version": "1.0.9"
+ },
+ {
+ "container": "dmaap-dr-db",
+ "component": "dmaap-dr-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "dmaap-dr-db-metrics",
+ "component": "dmaap-dr-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "dmaap-dr-node",
+ "component": "dmaap-dr-node",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-node",
+ "version": "2.1.8"
+ },
+ {
+ "container": "dmaap-dr-node-filebeat-onap",
+ "component": "dmaap-dr-node",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dmaap-dr-prov",
+ "component": "dmaap-dr-prov",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-prov",
+ "version": "2.1.8"
+ },
+ {
+ "container": "dmaap-dr-prov-filebeat-onap",
+ "component": "dmaap-dr-prov",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "ejbca-ejbca",
+ "component": "ejbca",
+ "image": "docker.nexus.azure.onap.eu/primekey/ejbca-ce",
+ "version": "6.15.2.5"
+ },
+ {
+ "container": "ejbca-config",
+ "component": "ejbca-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "esr-gui",
+ "component": "esr-gui",
+ "image": "nexus3.onap.org:10001/onap/aai/esr-gui",
+ "version": "1.4.0"
+ },
+ {
+ "container": "esr-server",
+ "component": "esr-server",
+ "image": "nexus3.onap.org:10001/onap/aai/esr-server",
+ "version": "1.5.2"
+ },
+ {
+ "container": "esr-server-filebeat-onap",
+ "component": "esr-server",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "holmes-engine-mgmt",
+ "component": "holmes-engine-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/engine-management",
+ "version": "1.3.3"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-rule-mgmt",
+ "component": "holmes-rule-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/rule-management",
+ "version": "1.3.3"
+ },
+ {
+ "container": "kube2msb",
+ "component": "kube2msb",
+ "image": "nexus3.onap.org:10001/onap/oom/kube2msb",
+ "version": "1.2.6"
+ },
+ {
+ "container": "mariadb-galera",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "mariadb-galera-metrics",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "message-router",
+ "component": "message-router",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-mr",
+ "version": "1.1.20"
+ },
+ {
+ "container": "message-router-zookeeper",
+ "component": "message-router-zookeeper",
+ "image": "nexus3.onap.org:10001/onap/dmaap/zookeeper",
+ "version": "6.0.3"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "nexus3.onap.org:10001/onap/modeling/etsicatalog",
+ "version": "10.5.8"
+ },
+ {
+ "container": "modeling-etsicatalog-filebeat-onap",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "1.0.10"
+ },
+ {
+ "container": "msb-consul",
+ "component": "msb-consul",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.4.3"
+ },
+ {
+ "container": "msb-discovery",
+ "component": "msb-discovery",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_discovery",
+ "version": "1.2.6"
+ },
+ {
+ "container": "msb-discovery-filebeat-onap",
+ "component": "msb-discovery",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-eag",
+ "component": "msb-eag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.2.7"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-eag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-iag",
+ "component": "msb-iag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.2.7"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-iag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud",
+ "component": "multicloud",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework",
+ "version": "1.6.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-fcaps",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-fcaps",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-fcaps",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "rabbit-mq",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/rabbitmq",
+ "version": "alpine"
+ },
+ {
+ "container": "multicloud-k8s",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/k8s",
+ "version": "0.8.1"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "onap-multicloud-k8s-etcd",
+ "component": "multicloud-k8s-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "multicloud-k8s-mongo",
+ "component": "multicloud-k8s-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "multicloud-pike",
+ "component": "multicloud-pike",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-pike",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-pike",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-starlingx",
+ "component": "multicloud-starlingx",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-starlingx",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-starlingx",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-starlingx",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "multicloud-vio",
+ "component": "multicloud-vio",
+ "image": "nexus3.onap.org:10001/onap/multicloud/vio",
+ "version": "1.4.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-vio",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-windriver",
+ "component": "multicloud-windriver",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-windriver",
+ "version": "1.5.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-windriver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-windriver",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.6.0"
+ },
+ {
+ "container": "music-springboot",
+ "component": "music",
+ "image": "nexus3.onap.org:10001/onap/music/music_sb",
+ "version": "3.2.40"
+ },
+ {
+ "container": "music-cassandra",
+ "component": "music-cassandra",
+ "image": "nexus3.onap.org:10001/onap/music/cassandra_3_11",
+ "version": "3.0.24"
+ },
+ {
+ "container": "music-cassandra-update-job",
+ "component": "music-cassandra-job",
+ "image": "nexus3.onap.org:10001/onap/music/cassandra_job",
+ "version": "3.0.24"
+ },
+ {
+ "container": "nbi",
+ "component": "nbi",
+ "image": "nexus3.onap.org:10001/onap/externalapi/nbi",
+ "version": "8.0.1"
+ },
+ {
+ "container": "nbi-config",
+ "component": "nbi-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "nbi-mongo",
+ "component": "nbi-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "nengdb-init",
+ "component": "nengdb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "netbox-app",
+ "component": "netbox-app",
+ "image": "docker.nexus.azure.onap.eu/netboxcommunity/netbox",
+ "version": "v2.5.8"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-nginx",
+ "component": "netbox-nginx",
+ "image": "docker.nexus.azure.onap.eu/nginx",
+ "version": "1.15-alpine"
+ },
+ {
+ "container": "netbox-postgres",
+ "component": "netbox-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "network-name-gen",
+ "component": "network-name-gen",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-apps-ms-neng",
+ "version": "1.1.1"
+ },
+ {
+ "container": "oof",
+ "component": "oof",
+ "image": "nexus3.onap.org:10001/onap/optf-osdf",
+ "version": "3.0.4"
+ },
+ {
+ "container": "oof-cmso-optimizer",
+ "component": "oof-cmso-optimizer",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-optimizer",
+ "version": "2.3.3"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "oof-cmso-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "mso-simulator",
+ "component": "oof-cmso-service",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-robot",
+ "version": "2.3.3"
+ },
+ {
+ "container": "oof-cmso-service",
+ "component": "oof-cmso-service",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-service",
+ "version": "2.3.3"
+ },
+ {
+ "container": "oof-cmso-ticketmgt",
+ "component": "oof-cmso-ticketmgt",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-ticketmgt",
+ "version": "2.3.3"
+ },
+ {
+ "container": "oof-cmso-topology",
+ "component": "oof-cmso-topology",
+ "image": "nexus3.onap.org:10001/onap/optf-cmso-topology",
+ "version": "2.3.3"
+ },
+ {
+ "container": "oof-has-api",
+ "component": "oof-has-api",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "oof-has-controller",
+ "component": "oof-has-controller",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-data",
+ "component": "oof-has-data",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-healthcheck",
+ "component": "oof-has",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-onboard",
+ "component": "oof-has",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-reservation",
+ "component": "oof-has-reservation",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oof-has-solver",
+ "component": "oof-has-solver",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.1.5"
+ },
+ {
+ "container": "oom-cert-service",
+ "component": "oom-cert-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-api",
+ "version": "2.3.3"
+ },
+ {
+ "container": "policy-apex-pdp",
+ "component": "policy-apex-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-apex-pdp",
+ "version": "2.5.2"
+ },
+ {
+ "container": "policy-api",
+ "component": "policy-api",
+ "image": "nexus3.onap.org:10001/onap/policy-api",
+ "version": "2.4.2"
+ },
+ {
+ "container": "policy-clamp-be",
+ "component": "policy-clamp-be",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-backend",
+ "version": "6.0.2"
+ },
+ {
+ "container": "policy-clamp-fe",
+ "component": "policy-clamp-fe",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-frontend",
+ "version": "6.0.2"
+ },
+ {
+ "container": "onap-policy-clamp-galera-config",
+ "component": "policy-clamp-be-policy-clamp-job",
+ "image": "docker.nexus.azure.onap.eu/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "policy-distribution",
+ "component": "policy-distribution",
+ "image": "nexus3.onap.org:10001/onap/policy-distribution",
+ "version": "2.5.2"
+ },
+ {
+ "container": "policy-drools-pdp",
+ "component": "policy-drools-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-pdpd-cl",
+ "version": "1.8.2"
+ },
+ {
+ "container": "onap-policy-galera-config",
+ "component": "policy-job",
+ "image": "docker.nexus.azure.onap.eu/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "policy-mariadb",
+ "component": "policy-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "policy-mariadb-metrics",
+ "component": "policy-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "policy-pap",
+ "component": "policy-pap",
+ "image": "nexus3.onap.org:10001/onap/policy-pap",
+ "version": "2.4.2"
+ },
+ {
+ "container": "policy-xacml-pdp",
+ "component": "policy-xacml-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-xacml-pdp",
+ "version": "2.4.2"
+ },
+ {
+ "container": "portal-app",
+ "component": "portal-app",
+ "image": "nexus3.onap.org:10001/onap/portal-app",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-app",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-cassandra",
+ "component": "portal-cassandra",
+ "image": "docker.nexus.azure.onap.eu/bitnami/cassandra",
+ "version": "3.11.9-debian-10-r30"
+ },
+ {
+ "container": "portal-db",
+ "component": "portal-db",
+ "image": "nexus3.onap.org:10001/onap/portal-db",
+ "version": "3.4.1"
+ },
+ {
+ "container": "portal-db-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-db-oom-update-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-sdk",
+ "component": "portal-sdk",
+ "image": "nexus3.onap.org:10001/onap/portal-sdk",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-sdk",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-widget",
+ "component": "portal-widget",
+ "image": "nexus3.onap.org:10001/onap/portal-wms",
+ "version": "3.4.2"
+ },
+ {
+ "container": "robot",
+ "component": "robot",
+ "image": "nexus3.onap.org:10001/onap/testsuite",
+ "version": "1.7.3"
+ },
+ {
+ "container": "sdc-be",
+ "component": "sdc-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-all-plugins",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-be-filebeat-onap",
+ "component": "sdc-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-be-job",
+ "component": "sdc-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-init",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-cs-job",
+ "component": "sdc-cs-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-cassandra-init",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-fe",
+ "component": "sdc-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-frontend",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-fe-filebeat-onap",
+ "component": "sdc-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-onboarding-be-job",
+ "component": "sdc-onboarding-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-cassandra-init",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-onboarding-be",
+ "component": "sdc-onboarding-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-backend",
+ "version": "1.8.5"
+ },
+ {
+ "container": "sdc-onboarding-be-filebeat-onap",
+ "component": "sdc-onboarding-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-wfd-be",
+ "component": "sdc-wfd-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-backend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-be-job",
+ "component": "sdc-wfd-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-init",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe",
+ "component": "sdc-wfd-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-frontend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe-filebeat-onap",
+ "component": "sdc-wfd-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "sdnc",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc-ansible-server",
+ "component": "sdnc-ansible-server",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ansible-server-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc-job",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc-dgbuilder",
+ "component": "sdnc-dgbuilder",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image",
+ "version": "1.1.1"
+ },
+ {
+ "container": "sdnc-dmaap-listener",
+ "component": "sdnc-dmaap-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc-sdnrdb-init-job",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc-ueb-listener",
+ "component": "sdnc-ueb-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ueb-listener-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnc-web",
+ "component": "sdnc-web",
+ "image": "nexus3.onap.org:10001/onap/sdnc-web-image",
+ "version": "2.1.5"
+ },
+ {
+ "container": "sdnrdb-nginx",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "sdnrdb-elasticsearch",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "so",
+ "component": "so",
+ "image": "nexus3.onap.org:10001/onap/so/api-handler-infra",
+ "version": "1.8.1"
+ },
+ {
+ "container": "so-filebeat-onap",
+ "component": "so",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-admin-cockpit",
+ "component": "so-admin-cockpit",
+ "image": "nexus3.onap.org:10001/onap/so/so-admin-cockpit",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-bpmn-infra",
+ "component": "so-bpmn-infra",
+ "image": "nexus3.onap.org:10001/onap/so/bpmn-infra",
+ "version": "1.8.1"
+ },
+ {
+ "container": "so-bpmn-infra-filebeat-onap",
+ "component": "so-bpmn-infra",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-catalog-db-adapter",
+ "component": "so-catalog-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/catalog-db-adapter",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-cnf-adapter",
+ "component": "so-cnf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-cnf-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-etsi-nfvo-ns-lcm",
+ "component": "so-etsi-nfvo-ns-lcm",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-nfvo-ns-lcm",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-etsi-sol003-adapter",
+ "component": "so-etsi-sol003-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol003-adapter",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-etsi-sol005-adapter",
+ "component": "so-etsi-sol005-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol005-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-mariadb-config",
+ "component": "so-mariadb-job",
+ "image": "nexus3.onap.org:10001/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "so-nssmf-adapter",
+ "component": "so-nssmf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-nssmf-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-oof-adapter",
+ "component": "so-oof-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-oof-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-oof-adapter-filebeat-onap",
+ "component": "so-oof-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-openstack-adapter",
+ "component": "so-openstack-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/openstack-adapter",
+ "version": "1.8.1"
+ },
+ {
+ "container": "so-openstack-adapter-filebeat-onap",
+ "component": "so-openstack-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-request-db-adapter",
+ "component": "so-request-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/request-db-adapter",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-sdc-controller",
+ "component": "so-sdc-controller",
+ "image": "nexus3.onap.org:10001/onap/so/sdc-controller",
+ "version": "1.8.1"
+ },
+ {
+ "container": "so-sdc-controller-filebeat-onap",
+ "component": "so-sdc-controller",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-sdnc-adapter",
+ "component": "so-sdnc-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/sdnc-adapter",
+ "version": "1.8.1"
+ },
+ {
+ "container": "so-sdnc-adapter-filebeat-onap",
+ "component": "so-sdnc-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "uui",
+ "component": "uui",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui",
+ "version": "4.0.0"
+ },
+ {
+ "container": "uui-server",
+ "component": "uui-server",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui-server",
+ "version": "4.0.0"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/gvnfmdriver",
+ "version": "1.4.1"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver-filebeat-onap",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei",
+ "version": "1.3.9"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver-filebeat-onap",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-mariadb",
+ "component": "vfc-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "vfc-mariadb-metrics",
+ "component": "vfc-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "vfc-nslcm",
+ "component": "vfc-nslcm",
+ "image": "nexus3.onap.org:10001/onap/vfc/nslcm",
+ "version": "1.4.3"
+ },
+ {
+ "container": "vfc-nslcm-filebeat-onap",
+ "component": "vfc-nslcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-redis",
+ "component": "vfc-redis",
+ "image": "nexus3.onap.org:10001/onap/vfc/db",
+ "version": "1.3.4"
+ },
+ {
+ "container": "vfc-vnflcm",
+ "component": "vfc-vnflcm",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnflcm",
+ "version": "1.4.1"
+ },
+ {
+ "container": "vfc-vnflcm-filebeat-onap",
+ "component": "vfc-vnflcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfmgr",
+ "component": "vfc-vnfmgr",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfmgr",
+ "version": "1.4.0"
+ },
+ {
+ "container": "vfc-vnfmgr-filebeat-onap",
+ "component": "vfc-vnfmgr",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfres",
+ "component": "vfc-vnfres",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfres",
+ "version": "1.3.9"
+ },
+ {
+ "container": "vfc-vnfres-filebeat-onap",
+ "component": "vfc-vnfres",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/ztevnfmdriver",
+ "version": "1.4.0"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver-filebeat-onap",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid",
+ "component": "vid",
+ "image": "nexus3.onap.org:10001/onap/vid",
+ "version": "8.0.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "vid",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid-mariadb-init",
+ "component": "vid-mariadb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "vnfsdk",
+ "component": "vnfsdk",
+ "image": "nexus3.onap.org:10001/onap/vnfsdk/refrepo",
+ "version": "1.6.3"
+ },
+ {
+ "container": "vnfsdk-job",
+ "component": "vnfsdk-job",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+]
diff --git a/doc/artifacts/versions/istanbul.json b/doc/artifacts/versions/istanbul.json
new file mode 100644
index 0000000..c184fbf
--- /dev/null
+++ b/doc/artifacts/versions/istanbul.json
@@ -0,0 +1,1694 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "a1policymanagement",
+ "component": "a1policymanagement",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-oran-a1policymanagementservice",
+ "version": "1.2.3"
+ },
+ {
+ "container": "aaf-cass",
+ "component": "aaf-cass",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_cass",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-cm",
+ "component": "aaf-cm",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-fs",
+ "component": "aaf-fs",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-gui",
+ "component": "aaf-gui",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-locate",
+ "component": "aaf-locate",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-oauth",
+ "component": "aaf-oauth",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-service",
+ "component": "aaf-service",
+ "image": "nexus3.onap.org:10001/onap/aaf/aaf_core",
+ "version": "2.1.23"
+ },
+ {
+ "container": "aaf-sms",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-vault",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/vault",
+ "version": "1.3.3"
+ },
+ {
+ "container": "aaf-sms-vault-backend",
+ "component": "aaf-sms-vault",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.7.1"
+ },
+ {
+ "container": "aai",
+ "component": "aai",
+ "image": "docker.nexus.azure.onap.eu/aaionap/haproxy",
+ "version": "1.4.2"
+ },
+ {
+ "container": "aai-babel",
+ "component": "aai-babel",
+ "image": "nexus3.onap.org:10001/onap/babel",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-babel",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin",
+ "component": "aai-graphadmin",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-graphadmin",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-graphadmin-job",
+ "component": "aai-graphadmin-job",
+ "image": "nexus3.onap.org:10001/onap/aai-graphadmin",
+ "version": "1.9.1"
+ },
+ {
+ "container": "aai-modelloader",
+ "component": "aai-modelloader",
+ "image": "nexus3.onap.org:10001/onap/model-loader",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-resources",
+ "component": "aai-resources",
+ "image": "nexus3.onap.org:10001/onap/aai-resources",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-schema-service",
+ "component": "aai-schema-service",
+ "image": "nexus3.onap.org:10001/onap/aai-schema-service",
+ "version": "1.9.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-schema-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-sparky-be",
+ "component": "aai-sparky-be",
+ "image": "nexus3.onap.org:10001/onap/sparky-be",
+ "version": "2.0.3"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-sparky-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal",
+ "component": "aai-traversal",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-traversal",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "aai-traversal-job",
+ "component": "aai-traversal-job",
+ "image": "nexus3.onap.org:10001/onap/aai-traversal",
+ "version": "1.9.1"
+ },
+ {
+ "container": "awx-web",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_web",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-celery",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-rabbit",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_rabbitmq",
+ "version": "3.7.4"
+ },
+ {
+ "container": "awx-memcached",
+ "component": "onap-awx",
+ "image": "docker.nexus.azure.onap.eu/memcached",
+ "version": "1.5.20"
+ },
+ {
+ "container": "awx-mgnt",
+ "component": "awx-mgnt",
+ "image": "docker.nexus.azure.onap.eu/ansible/awx_task",
+ "version": "9.0.1"
+ },
+ {
+ "container": "awx-postgres",
+ "component": "awx-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cassandra",
+ "component": "cassandra",
+ "image": "docker.nexus.azure.onap.eu/cassandra",
+ "version": "3.11.4"
+ },
+ {
+ "container": "cds-blueprints-processor",
+ "component": "cds-blueprints-processor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-blueprintsprocessor",
+ "version": "1.2.1"
+ },
+ {
+ "container": "cds-command-executor",
+ "component": "cds-command-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-commandexecutor",
+ "version": "1.2.1"
+ },
+ {
+ "container": "cds-db",
+ "component": "cds-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "cds-db-metrics",
+ "component": "cds-db",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "cds-py-executor",
+ "component": "cds-py-executor",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-py-executor",
+ "version": "1.2.1"
+ },
+ {
+ "container": "cds-sdc-listener",
+ "component": "cds-sdc-listener",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-sdclistener",
+ "version": "1.2.1"
+ },
+ {
+ "container": "cds-ui",
+ "component": "cds-ui",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-cds-ui-server",
+ "version": "1.2.1"
+ },
+ {
+ "container": "chartmuseum",
+ "component": "chartmuseum",
+ "image": "ghcr.io/helm/chartmuseum",
+ "version": "v0.13.1"
+ },
+ {
+ "container": "cli",
+ "component": "cli",
+ "image": "nexus3.onap.org:10001/onap/cli",
+ "version": "6.0.1"
+ },
+ {
+ "container": "provider",
+ "component": "onap-cmpv2-cert-provider-9c6b4f65f-2nbvq",
+ "image": "nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-k8s-external-provider",
+ "version": "2.4.0"
+ },
+ {
+ "container": "consul",
+ "component": "consul",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "consul-server",
+ "component": "consul-server",
+ "image": "nexus3.onap.org:10001/onap/oom/consul",
+ "version": "2.1.0"
+ },
+ {
+ "container": "cps-core",
+ "component": "cps-core",
+ "image": "nexus3.onap.org:10001/onap/cps-and-ncmp",
+ "version": "2.0.1"
+ },
+ {
+ "container": "cps-postgres-init-update-config",
+ "component": "cps-postgres-init",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "cps-postgres-init-update-config",
+ "component": "cps-postgres-init",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "cps-temporal",
+ "component": "cps-temporal",
+ "image": "nexus3.onap.org:10001/onap/cps-temporal",
+ "version": "1.0.0"
+ },
+ {
+ "container": "cps-temporal-db",
+ "component": "cps-temporal-db",
+ "image": "docker.nexus.azure.onap.eu/timescale/timescaledb",
+ "version": "2.1.1-pg13"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dbc-pg",
+ "component": "dbc-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-bootstrap",
+ "component": "dcae-bootstrap",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container",
+ "version": "3.3.5"
+ },
+ {
+ "container": "dcae-cloudify-manager",
+ "component": "dcae-cloudify-manager",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.cm-container",
+ "version": "4.6.1"
+ },
+ {
+ "container": "dcae-config-binding-service",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.4"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-config-binding-service-insecure",
+ "component": "dcae-config-binding-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding",
+ "version": "2.5.4"
+ },
+ {
+ "container": "dcae-config-binding-service-fb-onap-i",
+ "component": "dcae-config-binding-service",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard",
+ "component": "dcae-dashboard",
+ "image": "nexus3.onap.org:10001/onap/org.onap.ccsdk.dashboard.ccsdk-app-os",
+ "version": "1.4.4"
+ },
+ {
+ "container": "dcae-dashboard-filebeat",
+ "component": "dcae-dashboard",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-dashboard-pg",
+ "component": "dcae-dashboard-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-db",
+ "component": "dcae-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-deployment-handler",
+ "component": "dcae-deployment-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler",
+ "version": "4.4.1"
+ },
+ {
+ "container": "dcae-deployment-handler-filebeat",
+ "component": "dcae-deployment-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-healthcheck",
+ "component": "dcae-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.2.0"
+ },
+ {
+ "container": "dcae-hv-ves-collector",
+ "component": "dcae-hv-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main",
+ "version": "1.9.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-hv-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-inv-pg",
+ "component": "dcae-inv-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcae-inventory-api",
+ "component": "dcae-inventory-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api",
+ "version": "3.5.2"
+ },
+ {
+ "container": "dcae-inventory-api-filebeat",
+ "component": "dcae-inventory-api",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-mongo",
+ "component": "dcae-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "dcae-ms-healthcheck",
+ "component": "dcae-ms-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.2.0"
+ },
+ {
+ "container": "dcae-policy-handler",
+ "component": "dcae-policy-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler",
+ "version": "5.1.3"
+ },
+ {
+ "container": "dcae-policy-handler-filebeat",
+ "component": "dcae-policy-handler",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-prh",
+ "component": "dcae-prh",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server",
+ "version": "1.7.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-prh",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-servicechange-handler",
+ "component": "dcae-servicechange-handler",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler",
+ "version": "1.4.0"
+ },
+ {
+ "container": "dcae-tcagen2",
+ "component": "dcae-tcagen2",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web",
+ "version": "1.3.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-tcagen2",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-ves-collector",
+ "component": "dcae-ves-collector",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector",
+ "version": "1.10.1"
+ },
+ {
+ "container": "filebeat",
+ "component": "dcae-ves-collector",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dcae-ves-openapi-manager",
+ "component": "dcae-ves-openapi-manager",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.ves-openapi-manager",
+ "version": "1.0.1"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcaemod-db",
+ "component": "dcaemod-db-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "dcaemod-designtool",
+ "component": "dcaemod-designtool",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.designtool-web",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-distributor-api",
+ "component": "dcaemod-distributor-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.distributorapi",
+ "version": "1.1.0"
+ },
+ {
+ "container": "dcaemod-genprocessor",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-job",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-genprocessor-http",
+ "component": "dcaemod-genprocessor",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.genprocessor-http",
+ "version": "1.0.2"
+ },
+ {
+ "container": "dcaemod-healthcheck",
+ "component": "dcaemod-healthcheck",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.healthcheck-container",
+ "version": "2.2.0"
+ },
+ {
+ "container": "dcaemod-nifi-registry",
+ "component": "dcaemod-nifi-registry",
+ "image": "docker.nexus.azure.onap.eu/apache/nifi-registry",
+ "version": "0.5.0"
+ },
+ {
+ "container": "dcaemod-onboarding-api",
+ "component": "dcaemod-onboarding-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.onboardingapi",
+ "version": "2.12.5"
+ },
+ {
+ "container": "dcaemod-runtime-api",
+ "component": "dcaemod-runtime-api",
+ "image": "nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.mod.runtime-web",
+ "version": "1.2.3"
+ },
+ {
+ "container": "dmaap-bc",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-bc",
+ "version": "2.0.8"
+ },
+ {
+ "container": "dmaap-provisioning-job",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dbc-client",
+ "version": "1.0.9"
+ },
+ {
+ "container": "dmaap-provisioning-job",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dbc-client",
+ "version": "1.0.9"
+ },
+ {
+ "container": "dmaap-provisioning-job",
+ "component": "dmaap-bc",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dbc-client",
+ "version": "1.0.9"
+ },
+ {
+ "container": "dmaap-dr-mariadb-init",
+ "component": "dmaap-dr-mariadb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "dmaap-dr-node",
+ "component": "dmaap-dr-node",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-node",
+ "version": "2.1.9"
+ },
+ {
+ "container": "dmaap-dr-node-filebeat-onap",
+ "component": "dmaap-dr-node",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "dmaap-dr-prov",
+ "component": "dmaap-dr-prov",
+ "image": "nexus3.onap.org:10001/onap/dmaap/datarouter-prov",
+ "version": "2.1.9"
+ },
+ {
+ "container": "dmaap-dr-prov-filebeat-onap",
+ "component": "dmaap-dr-prov",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "ejbca-ejbca",
+ "component": "ejbca",
+ "image": "docker.nexus.azure.onap.eu/primekey/ejbca-ce",
+ "version": "7.4.3.2"
+ },
+ {
+ "container": "ejbca-config",
+ "component": "ejbca-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "holmes-engine-mgmt",
+ "component": "holmes-engine-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/engine-management",
+ "version": "9.0.0"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-pg",
+ "component": "holmes-pg-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "holmes-rule-mgmt",
+ "component": "holmes-rule-mgmt",
+ "image": "nexus3.onap.org:10001/onap/holmes/rule-management",
+ "version": "9.0.1"
+ },
+ {
+ "container": "kube2msb",
+ "component": "kube2msb",
+ "image": "nexus3.onap.org:10001/onap/oom/kube2msb",
+ "version": "1.2.6"
+ },
+ {
+ "container": "mariadb-galera",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "mariadb-galera-metrics",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "mariadb-galera",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "mariadb-galera-metrics",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "mariadb-galera",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "mariadb-galera-metrics",
+ "component": "mariadb-galera",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "message-router",
+ "component": "message-router",
+ "image": "nexus3.onap.org:10001/onap/dmaap/dmaap-mr",
+ "version": "1.3.0"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.1.1"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.1.1"
+ },
+ {
+ "container": "message-router-kafka",
+ "component": "message-router-kafka",
+ "image": "nexus3.onap.org:10001/onap/dmaap/kafka111",
+ "version": "1.1.1"
+ },
+ {
+ "container": "message-router-zookeeper",
+ "component": "message-router-zookeeper",
+ "image": "nexus3.onap.org:10001/onap/dmaap/zookeeper",
+ "version": "6.1.0"
+ },
+ {
+ "container": "message-router-zookeeper",
+ "component": "message-router-zookeeper",
+ "image": "nexus3.onap.org:10001/onap/dmaap/zookeeper",
+ "version": "6.1.0"
+ },
+ {
+ "container": "message-router-zookeeper",
+ "component": "message-router-zookeeper",
+ "image": "nexus3.onap.org:10001/onap/dmaap/zookeeper",
+ "version": "6.1.0"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "nexus3.onap.org:10001/onap/modeling/etsicatalog",
+ "version": "1.0.11"
+ },
+ {
+ "container": "modeling-etsicatalog-filebeat-onap",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "modeling-etsicatalog",
+ "component": "modeling-etsicatalog",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "msb-consul",
+ "component": "msb-consul",
+ "image": "docker.nexus.azure.onap.eu/library/consul",
+ "version": "1.4.3"
+ },
+ {
+ "container": "msb-discovery",
+ "component": "msb-discovery",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_discovery",
+ "version": "1.3.0"
+ },
+ {
+ "container": "msb-discovery-filebeat-onap",
+ "component": "msb-discovery",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-eag",
+ "component": "msb-eag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.3.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-eag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-iag",
+ "component": "msb-iag",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_apigateway",
+ "version": "1.3.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "msb-iag",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud",
+ "component": "multicloud",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework",
+ "version": "1.7.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "multicloud-fcaps",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-fcaps",
+ "version": "1.5.6"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-fcaps",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "rabbit-mq",
+ "component": "multicloud-fcaps",
+ "image": "nexus3.onap.org:10001/rabbitmq",
+ "version": "alpine"
+ },
+ {
+ "container": "multicloud-k8s",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/k8s",
+ "version": "0.9.3"
+ },
+ {
+ "container": "framework-artifactbroker",
+ "component": "multicloud-k8s",
+ "image": "nexus3.onap.org:10001/onap/multicloud/framework-artifactbroker",
+ "version": "1.7.1"
+ },
+ {
+ "container": "multicloud-k8s-etcd",
+ "component": "multicloud-k8s-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "multicloud-k8s-mongo",
+ "component": "multicloud-k8s-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "multicloud-pike",
+ "component": "multicloud-pike",
+ "image": "nexus3.onap.org:10001/onap/multicloud/openstack-pike",
+ "version": "1.5.6"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "multicloud-pike",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "nbi",
+ "component": "nbi",
+ "image": "nexus3.onap.org:10001/onap/externalapi/nbi",
+ "version": "8.0.1"
+ },
+ {
+ "container": "nbi-config",
+ "component": "nbi-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "nbi-mongo",
+ "component": "nbi-mongo",
+ "image": "docker.nexus.azure.onap.eu/library/mongo",
+ "version": "4.0.8"
+ },
+ {
+ "container": "ncmp-dmi-plugin",
+ "component": "ncmp-dmi-plugin",
+ "image": "nexus3.onap.org:10001/onap/ncmp-dmi-plugin",
+ "version": "1.0.0"
+ },
+ {
+ "container": "nengdb-init",
+ "component": "nengdb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "netbox-app",
+ "component": "netbox-app",
+ "image": "docker.nexus.azure.onap.eu/netboxcommunity/netbox",
+ "version": "v2.5.8"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-app-provisioning-job",
+ "component": "netbox-app-provisioning-job",
+ "image": "docker.nexus.azure.onap.eu/curlimages/curl",
+ "version": "7.69.1"
+ },
+ {
+ "container": "netbox-nginx",
+ "component": "netbox-nginx",
+ "image": "docker.nexus.azure.onap.eu/nginx",
+ "version": "1.15-alpine"
+ },
+ {
+ "container": "netbox-postgres",
+ "component": "netbox-postgres",
+ "image": "docker.nexus.azure.onap.eu/postgres",
+ "version": "10.4-alpine"
+ },
+ {
+ "container": "network-name-gen",
+ "component": "network-name-gen",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-apps-ms-neng",
+ "version": "1.2.1"
+ },
+ {
+ "container": "oof",
+ "component": "oof",
+ "image": "nexus3.onap.org:10001/onap/optf-osdf",
+ "version": "3.0.6"
+ },
+ {
+ "container": "oof-has-api",
+ "component": "oof-has-api",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.2.1"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "oof-has-controller",
+ "component": "oof-has-controller",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.2.1"
+ },
+ {
+ "container": "oof-has-data",
+ "component": "oof-has-data",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.2.1"
+ },
+ {
+ "container": "oof-has-etcd",
+ "component": "oof-has-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "oof-has-etcd",
+ "component": "oof-has-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "oof-has-etcd",
+ "component": "oof-has-etcd",
+ "image": "docker.nexus.azure.onap.eu/etcd-amd64",
+ "version": "3.2.24"
+ },
+ {
+ "container": "oof-has-etcd-config",
+ "component": "oof-has-etcd-config",
+ "image": "docker.nexus.azure.onap.eu/bitnami/etcd",
+ "version": "3.3.15"
+ },
+ {
+ "container": "oof-has-reservation",
+ "component": "oof-has-reservation",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.2.1"
+ },
+ {
+ "container": "oof-has-solver",
+ "component": "oof-has-solver",
+ "image": "nexus3.onap.org:10001/onap/optf-has",
+ "version": "2.2.1"
+ },
+ {
+ "container": "oom-cert-service",
+ "component": "oom-cert-service",
+ "image": "nexus3.onap.org:10001/onap/org.onap.oom.platform.cert-service.oom-certservice-api",
+ "version": "2.4.0"
+ },
+ {
+ "container": "policy-apex-pdp",
+ "component": "policy-apex-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-apex-pdp",
+ "version": "2.6.1"
+ },
+ {
+ "container": "policy-api",
+ "component": "policy-api",
+ "image": "nexus3.onap.org:10001/onap/policy-api",
+ "version": "2.5.1"
+ },
+ {
+ "container": "policy-clamp-be",
+ "component": "policy-clamp-be",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-backend",
+ "version": "6.1.3"
+ },
+ {
+ "container": "policy-clamp-cl-http-ppnt",
+ "component": "policy-clamp-cl-http-ppnt",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-cl-http-ppnt",
+ "version": "6.1.3"
+ },
+ {
+ "container": "policy-clamp-cl-k8s-ppnt",
+ "component": "policy-clamp-cl-k8s-ppnt",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-cl-k8s-ppnt",
+ "version": "6.1.3"
+ },
+ {
+ "container": "policy-clamp-cl-pf-ppnt",
+ "component": "policy-clamp-cl-pf-ppnt",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-cl-pf-ppnt",
+ "version": "6.1.3"
+ },
+ {
+ "container": "policy-clamp-cl-runtime",
+ "component": "policy-clamp-cl-runtime",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-cl-runtime",
+ "version": "6.1.3"
+ },
+ {
+ "container": "policy-clamp-fe",
+ "component": "policy-clamp-fe",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-frontend",
+ "version": "6.1.3"
+ },
+ {
+ "container": "onap-policy-clamp-galera-config",
+ "component": "policy-clamp-be-policy-clamp-job",
+ "image": "docker.nexus.azure.onap.eu/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "policy-distribution",
+ "component": "policy-distribution",
+ "image": "nexus3.onap.org:10001/onap/policy-distribution",
+ "version": "2.6.1"
+ },
+ {
+ "container": "policy-drools-pdp",
+ "component": "policy-drools-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-pdpd-cl",
+ "version": "1.9.1"
+ },
+ {
+ "container": "onap-policy-galera-db-migrator",
+ "component": "policy-job",
+ "image": "nexus3.onap.org:10001/onap/policy-db-migrator",
+ "version": "2.3.1"
+ },
+ {
+ "container": "policy-gui",
+ "component": "policy-gui",
+ "image": "nexus3.onap.org:10001/onap/policy-gui",
+ "version": "2.1.1"
+ },
+ {
+ "container": "policy-mariadb",
+ "component": "policy-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb-galera",
+ "version": "10.5.8"
+ },
+ {
+ "container": "policy-mariadb-metrics",
+ "component": "policy-mariadb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mysqld-exporter",
+ "version": "0.12.1-debian-10-r264"
+ },
+ {
+ "container": "policy-pap",
+ "component": "policy-pap",
+ "image": "nexus3.onap.org:10001/onap/policy-pap",
+ "version": "2.5.1"
+ },
+ {
+ "container": "policy-xacml-pdp",
+ "component": "policy-xacml-pdp",
+ "image": "nexus3.onap.org:10001/onap/policy-xacml-pdp",
+ "version": "2.5.1"
+ },
+ {
+ "container": "portal-app",
+ "component": "portal-app",
+ "image": "nexus3.onap.org:10001/onap/portal-app",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-app",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-cassandra",
+ "component": "portal-cassandra",
+ "image": "docker.nexus.azure.onap.eu/bitnami/cassandra",
+ "version": "3.11.9-debian-10-r30"
+ },
+ {
+ "container": "portal-db",
+ "component": "portal-db",
+ "image": "nexus3.onap.org:10001/onap/portal-db",
+ "version": "3.4.1"
+ },
+ {
+ "container": "portal-db-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-db-oom-update-job",
+ "component": "portal-db-job",
+ "image": "docker.nexus.azure.onap.eu/oomk8s/mariadb-client-init",
+ "version": "3.0.0"
+ },
+ {
+ "container": "portal-sdk",
+ "component": "portal-sdk",
+ "image": "nexus3.onap.org:10001/onap/portal-sdk",
+ "version": "3.4.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "portal-sdk",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "portal-widget",
+ "component": "portal-widget",
+ "image": "nexus3.onap.org:10001/onap/portal-wms",
+ "version": "3.4.2"
+ },
+ {
+ "container": "postgres",
+ "component": "postgres-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "postgres",
+ "component": "postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "robot",
+ "component": "robot",
+ "image": "nexus3.onap.org:10001/onap/testsuite",
+ "version": "1.8.0"
+ },
+ {
+ "container": "sdc-be-job",
+ "component": "sdc-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-init",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-be",
+ "component": "sdc-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-backend-all-plugins",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-be-filebeat-onap",
+ "component": "sdc-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-cs-job",
+ "component": "sdc-cs-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-cassandra-init",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-fe",
+ "component": "sdc-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-frontend",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-fe-filebeat-onap",
+ "component": "sdc-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-helm-validator",
+ "component": "sdc-helm-validator",
+ "image": "nexus3.onap.org:10001/onap/org.onap.sdc.sdc-helm-validator",
+ "version": "1.2.2"
+ },
+ {
+ "container": "sdc-onboarding-be",
+ "component": "sdc-onboarding-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-backend",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-onboarding-be-filebeat-onap",
+ "component": "sdc-onboarding-be",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdc-onboarding-be-job",
+ "component": "sdc-onboarding-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-onboard-cassandra-init",
+ "version": "1.9.5"
+ },
+ {
+ "container": "sdc-wfd-be",
+ "component": "sdc-wfd-be",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-backend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-be-job",
+ "component": "sdc-wfd-be-job",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-init",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe",
+ "component": "sdc-wfd-fe",
+ "image": "nexus3.onap.org:10001/onap/sdc-workflow-frontend",
+ "version": "1.7.0"
+ },
+ {
+ "container": "sdc-wfd-fe-filebeat-onap",
+ "component": "sdc-wfd-fe",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "sdnc",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "sdnc-ansible-server",
+ "component": "sdnc-ansible-server",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ansible-server-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnc",
+ "component": "sdnc-job",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnc-dgbuilder",
+ "component": "sdnc-dgbuilder",
+ "image": "nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image",
+ "version": "1.2.2"
+ },
+ {
+ "container": "sdnc-dmaap-listener",
+ "component": "sdnc-dmaap-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnc-sdnrdb-init-job",
+ "component": "sdnc",
+ "image": "nexus3.onap.org:10001/onap/sdnc-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnc-ueb-listener",
+ "component": "sdnc-ueb-listener",
+ "image": "nexus3.onap.org:10001/onap/sdnc-ueb-listener-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnc-web",
+ "component": "sdnc-web",
+ "image": "nexus3.onap.org:10001/onap/sdnc-web-image",
+ "version": "2.2.2"
+ },
+ {
+ "container": "sdnrdb-nginx",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "sdnrdb-elasticsearch",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "sdnrdb-master",
+ "component": "sdnrdb",
+ "image": "docker.nexus.azure.onap.eu/bitnami/elasticsearch",
+ "version": "7.9.3"
+ },
+ {
+ "container": "so",
+ "component": "so",
+ "image": "nexus3.onap.org:10001/onap/so/api-handler-infra",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-filebeat-onap",
+ "component": "so",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-admin-cockpit",
+ "component": "so-admin-cockpit",
+ "image": "nexus3.onap.org:10001/onap/so/so-admin-cockpit",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-bpmn-infra",
+ "component": "so-bpmn-infra",
+ "image": "nexus3.onap.org:10001/onap/so/bpmn-infra",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-bpmn-infra-filebeat-onap",
+ "component": "so-bpmn-infra",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-catalog-db-adapter",
+ "component": "so-catalog-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/catalog-db-adapter",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-cnf-adapter",
+ "component": "so-cnf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-cnf-adapter",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-etsi-nfvo-ns-lcm",
+ "component": "so-etsi-nfvo-ns-lcm",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-nfvo-ns-lcm",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-etsi-sol003-adapter",
+ "component": "so-etsi-sol003-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol003-adapter",
+ "version": "1.8.2"
+ },
+ {
+ "container": "so-etsi-sol005-adapter",
+ "component": "so-etsi-sol005-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-etsi-sol005-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-mariadb-config",
+ "component": "so-mariadb-job",
+ "image": "nexus3.onap.org:10001/mariadb",
+ "version": "10.1.38"
+ },
+ {
+ "container": "so-nssmf-adapter",
+ "component": "so-nssmf-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-nssmf-adapter",
+ "version": "1.9.1"
+ },
+ {
+ "container": "so-oof-adapter",
+ "component": "so-oof-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/so-oof-adapter",
+ "version": "1.8.3"
+ },
+ {
+ "container": "so-oof-adapter-filebeat-onap",
+ "component": "so-oof-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-openstack-adapter",
+ "component": "so-openstack-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/openstack-adapter",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-openstack-adapter-filebeat-onap",
+ "component": "so-openstack-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-request-db-adapter",
+ "component": "so-request-db-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/request-db-adapter",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-sdc-controller",
+ "component": "so-sdc-controller",
+ "image": "nexus3.onap.org:10001/onap/so/sdc-controller",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-sdc-controller-filebeat-onap",
+ "component": "so-sdc-controller",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "so-sdnc-adapter",
+ "component": "so-sdnc-adapter",
+ "image": "nexus3.onap.org:10001/onap/so/sdnc-adapter",
+ "version": "1.9.2"
+ },
+ {
+ "container": "so-sdnc-adapter-filebeat-onap",
+ "component": "so-sdnc-adapter",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "create-tls-secret",
+ "component": "so-tls-cert",
+ "image": "docker.nexus.azure.onap.eu/bitnami/kubectl",
+ "version": "1.19"
+ },
+ {
+ "container": "uui",
+ "component": "uui",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui",
+ "version": "4.0.5"
+ },
+ {
+ "container": "uui-server",
+ "component": "uui-server",
+ "image": "nexus3.onap.org:10001/onap/usecase-ui-server",
+ "version": "4.0.5"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/gvnfmdriver",
+ "version": "1.4.3"
+ },
+ {
+ "container": "vfc-generic-vnfm-driver-filebeat-onap",
+ "component": "vfc-generic-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/nfvo/svnfm/huawei",
+ "version": "1.3.9"
+ },
+ {
+ "container": "vfc-huawei-vnfm-driver-filebeat-onap",
+ "component": "vfc-huawei-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-nslcm",
+ "component": "vfc-nslcm",
+ "image": "nexus3.onap.org:10001/onap/vfc/nslcm",
+ "version": "1.4.4"
+ },
+ {
+ "container": "vfc-nslcm-filebeat-onap",
+ "component": "vfc-nslcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-redis",
+ "component": "vfc-redis",
+ "image": "nexus3.onap.org:10001/onap/vfc/db",
+ "version": "1.3.5"
+ },
+ {
+ "container": "vfc-vnflcm",
+ "component": "vfc-vnflcm",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnflcm",
+ "version": "1.4.2"
+ },
+ {
+ "container": "vfc-vnflcm-filebeat-onap",
+ "component": "vfc-vnflcm",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfmgr",
+ "component": "vfc-vnfmgr",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfmgr",
+ "version": "1.4.1"
+ },
+ {
+ "container": "vfc-vnfmgr-filebeat-onap",
+ "component": "vfc-vnfmgr",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-vnfres",
+ "component": "vfc-vnfres",
+ "image": "nexus3.onap.org:10001/onap/vfc/vnfres",
+ "version": "1.4.0"
+ },
+ {
+ "container": "vfc-vnfres-filebeat-onap",
+ "component": "vfc-vnfres",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "nexus3.onap.org:10001/onap/vfc/ztevnfmdriver",
+ "version": "1.4.1"
+ },
+ {
+ "container": "vfc-zte-vnfm-driver-filebeat-onap",
+ "component": "vfc-zte-vnfm-driver",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid",
+ "component": "vid",
+ "image": "nexus3.onap.org:10001/onap/vid",
+ "version": "8.0.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "vid",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "vid-mariadb-init",
+ "component": "vid-mariadb-init",
+ "image": "docker.nexus.azure.onap.eu/bitnami/mariadb",
+ "version": "10.5.8"
+ },
+ {
+ "container": "vnfsdk",
+ "component": "vnfsdk",
+ "image": "nexus3.onap.org:10001/onap/vnfsdk/refrepo",
+ "version": "1.6.3"
+ },
+ {
+ "container": "vnfsdk-job",
+ "component": "vnfsdk-job",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-primary",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+ ] \ No newline at end of file
diff --git a/doc/artifacts/versions/test_guilin_MR1.json b/doc/artifacts/versions/test_guilin_MR1.json
new file mode 100644
index 0000000..45c4e64
--- /dev/null
+++ b/doc/artifacts/versions/test_guilin_MR1.json
@@ -0,0 +1,68 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.1"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "appc-cdt",
+ "component": "appc-cdt",
+ "image": "nexus3.onap.org:10001/onap/appc-cdt-image",
+ "version": "1.7.1"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "msb-discovery",
+ "component": "msb-discovery",
+ "image": "nexus3.onap.org:10001/onap/msb/msb_discovery",
+ "version": "1.2.6"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "policy-clamp-fe",
+ "component": "policy-clamp-fe",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-frontend",
+ "version": "6.0.2"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+]
diff --git a/doc/artifacts/versions/test_honolulu.json b/doc/artifacts/versions/test_honolulu.json
new file mode 100644
index 0000000..35f7174
--- /dev/null
+++ b/doc/artifacts/versions/test_honolulu.json
@@ -0,0 +1,62 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "appc-cdt",
+ "component": "appc-cdt",
+ "image": "nexus3.onap.org:10001/onap/appc-cdt-image",
+ "version": "1.7.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.18-debian-10"
+ },
+ {
+ "container": "policy-clamp-fe",
+ "component": "policy-clamp-fe",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-frontend",
+ "version": "6.0.2"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+]
diff --git a/doc/artifacts/versions/test_honolulu_MR_Candidate.json b/doc/artifacts/versions/test_honolulu_MR_Candidate.json
new file mode 100644
index 0000000..f15f159
--- /dev/null
+++ b/doc/artifacts/versions/test_honolulu_MR_Candidate.json
@@ -0,0 +1,50 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "oof-has-api-nginx",
+ "component": "oof-has-api",
+ "image": "docker.nexus.azure.onap.eu/bitnami/nginx",
+ "version": "1.19"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+]
diff --git a/doc/artifacts/versions/test_master.json b/doc/artifacts/versions/test_master.json
new file mode 100644
index 0000000..4e6c799
--- /dev/null
+++ b/doc/artifacts/versions/test_master.json
@@ -0,0 +1,62 @@
+[
+ {
+ "container": "a1policymanagement-update-config",
+ "component": "a1policymanagement",
+ "image": "dibi/envsubst",
+ "version": "1"
+ },
+ {
+ "container": "aaf-sms-preload",
+ "component": "aaf-sms",
+ "image": "nexus3.onap.org:10001/onap/aaf/sms",
+ "version": "4.0.5"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "aaf-sms-quorumclient",
+ "component": "aaf-sms-quorumclient",
+ "image": "nexus3.onap.org:10001/onap/aaf/smsquorumclient",
+ "version": "4.0.2"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-modelloader",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "filebeat-onap",
+ "component": "aai-resources",
+ "image": "docker.nexus.azure.onap.eu/beats/filebeat",
+ "version": "5.5.0"
+ },
+ {
+ "container": "cps-postgres",
+ "component": "cps-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ },
+ {
+ "container": "policy-clamp-fe",
+ "component": "policy-clamp-fe",
+ "image": "nexus3.onap.org:10001/onap/policy-clamp-frontend",
+ "version": "6.0.3"
+ },
+ {
+ "container": "vnfsdk-postgres",
+ "component": "vnfsdk-postgres-replica",
+ "image": "docker.nexus.azure.onap.eu/crunchydata/crunchy-postgres",
+ "version": "centos8-13.2-4.6.1"
+ }
+]
diff --git a/doc/generate_docker_version.py b/doc/generate_docker_version.py
new file mode 100644
index 0000000..fa13229
--- /dev/null
+++ b/doc/generate_docker_version.py
@@ -0,0 +1,437 @@
+#!/usr/bin/python
+#
+# This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+'''Docker version comparison generator.'''
+
+import argparse
+import logging
+import json
+import re
+from collections import Counter
+from dataclasses import dataclass
+import os
+import requests
+from bs4 import BeautifulSoup # sudo apt-get install python3-bs4 if pip doesn't work
+from deepdiff import DeepDiff
+from jinja2 import Environment, FileSystemLoader, select_autoescape
+
+PROXY = {}
+# PROXY = {'http': 'socks5h://127.0.0.1:8080',
+# 'https': 'socks5h://127.0.0.1:8080'}
+
+
+BASE_URL = "https://logs.onap.org/onap-integration/daily/"
+ONAP_VERSION = 'master'
+component_versions = {}
+versions_to_be_compared_with_master = ['jakarta', 'istanbul', 'honolulu_MR1', 'honolulu', 'guilin_MR1']
+VERSION_URL = []
+END_URL = "infrastructure-healthcheck/k8s/kubernetes-status/onap_versions.json"
+
+# first date where file is present for each version
+ONAP_RELEASE_DATE = {
+ "jakarta": "onap-daily-dt-oom-jakarta/2022-07/19_03-53/",
+ "istanbul": "onap_daily_pod4_istanbul/2021-11/15_03-55/",
+ "honolulu": "onap_daily_pod4_honolulu/2021-05/28_01-00/",
+ "honolulu_MR1": "onap_daily_pod4_honolulu/2021-08/12_20-15/",
+ "guilin_MR1": "onap_daily_pod4_guilin/2021-05/27_03-23/"
+}
+
+# Logger
+logging.basicConfig()
+LOGGER = logging.getLogger("Docker-Version-Status")
+LOGGER.setLevel("INFO")
+
+# Arg
+PARSER = argparse.ArgumentParser()
+PARSER.add_argument('-t', '--test', action='store_true' )
+# PARSER.add_argument('-t', '--test', default=True, type=bool, help='Execute with test dataset')
+ARGS = PARSER.parse_args()
+
+DATA_VERSIONS = []
+
+@dataclass
+class ComponentVersion:
+ """A component version."""
+ component: str
+ container: str
+ image: str
+ current_version: str
+ other_version: {}
+ status: int
+
+# ***********************************************************************
+# functions
+# ***********************************************************************
+def get_months(url):
+ """Load and parse list of months"""
+ months = []
+ response_months = requests.get(url, proxies=PROXY)
+ soup = BeautifulSoup(response_months.text, "lxml")
+
+ for link in soup.find_all('a'):
+ pattern = bool(re.match("[0-9]{4}-[0-9]{2}", link.contents[0]))
+ if pattern:
+ months.append(link.contents[0])
+ return months
+
+def get_days(url):
+ """Load and parse list of days"""
+ days = []
+ response_days = requests.get(url, proxies=PROXY)
+ soup = BeautifulSoup(response_days.text, "lxml")
+
+ for link in soup.find_all('a'):
+ pattern = bool(
+ re.match("[0-9]{2}_[0-9]{2}-[0-9]{2}", link.contents[0]))
+ if pattern:
+ days.append(link.contents[0])
+ return days
+
+def get_diff_index(change):
+ """Search Index of the Diff table to get the container related to the detected diff."""
+ local_index = re.findall(r"\[([0-9]+)\]", change)
+ return int(local_index[0])
+
+def is_it_a_simple_version_change(change, delta_values_changed):
+ """Detect if it is a simple version change or a subtitution."""
+ # retrieve the change index
+ change_index = get_diff_index(change)
+ # count the number of occurence
+ # if 1 => simplie version change
+ return str(delta_values_changed).count("root[" + str(change_index) + "]") < 2
+
+def get_component_status(container, delta_versions, version_master, other_version):
+ """Get component status."""
+ LOGGER.debug(container)
+ container_status = "unchanged"
+ # Look in values_changed
+ for change_type in ['values_changed', 'iterable_item_added', 'iterable_item_removed']:
+ # We test the change type as they may not occur, or only 1 type is possible
+ if change_type in delta_versions:
+ # Dive into the change found
+ for change in delta_versions[change_type]:
+ if change_type == 'values_changed':
+ # 2 cases
+ # - a simple version change for the same component (only version)
+ # in this case only the other_version shall be changed
+ # - a substitution (version, container, image,...)
+ # in this case a new component must be added and another removed
+ # it may be a little bit misleading
+ # as it could courrespond to an offset (not really a new component)
+ if is_it_a_simple_version_change(change, delta_versions[change_type]):
+ # simple replacement case
+ ## change_index = int(change[5:-12])
+ change_index = get_diff_index(change)
+ if container == other_version[change_index]['container']:
+ LOGGER.debug("Component version change: %s",
+ other_version[change_index]['container'])
+ container_status = "version_changed"
+ else:
+ if 'container' in change:
+ ## change_index = int(change[5:-14])
+ change_index = get_diff_index(change)
+ # substitution case
+ for substitution_change in delta_versions['values_changed']:
+ if str(change_index) in substitution_change:
+ LOGGER.debug("From %s to %s",
+ delta_versions['values_changed'][substitution_change]['old_value'],
+ delta_versions['values_changed'][substitution_change]['new_value'])
+ if container == delta_versions['values_changed'][substitution_change]['old_value']:
+ container_status = "component_removed"
+ if container == delta_versions['values_changed'][substitution_change]['new_value']:
+ container_status = "component_added"
+ elif change_type == 'iterable_item_added':
+ ## change_index = int(change[5:-1])
+ change_index = get_diff_index(change)
+ LOGGER.debug(
+ "New component added: %s", version_master[change_index]['container'])
+ if container == version_master[change_index]['container']:
+ container_status = "component_added"
+ elif change_type == 'iterable_item_removed':
+ ## change_index = int(change[5:-1])
+ change_index = get_diff_index(change)
+ LOGGER.debug(
+ "Component removed: %s", other_version[change_index]['container'])
+ if container == other_version[change_index]['container']:
+ container_status = "component_removed"
+ return container_status
+
+def get_old_version_component(container, component_versions):
+ """Retrieve the version of an old container."""
+ container_version = "unknown"
+ for component in component_versions:
+ if component['container'] == container:
+ return component['version']
+ return container_version
+
+def get_removed_container_list(delta_versions, component_versions, master_container):
+ """Retrieve the removed containers."""
+ removed_container_list = []
+ # Look in the removed list
+ try:
+ for change in delta_versions['iterable_item_removed']:
+ removed_container_list.append(component_versions[get_diff_index(change)])
+ except KeyError:
+ LOGGER.info("No Item in the removed section, look at the possible substitution")
+
+ # Consider the subsitution case
+ for delta in delta_versions['values_changed']:
+ if "container" in delta:
+ index_container = get_diff_index(delta)
+ removed_container_list.append(component_versions[index_container])
+ return removed_container_list
+
+def get_data_version_container_index(container, dataset):
+ """Get the index of a container from a dataset."""
+ for data in dataset:
+ if data.container == container:
+ return dataset.index(data)
+ return -1
+
+def get_json_master_components():
+ """Retrieve the json master description from LF backend."""
+ local_url = BASE_URL + "onap_daily_pod4_master/"
+ months_with_results = get_months(local_url)
+ LOGGER.debug("months_with_results: %s", months_with_results)
+ month = months_with_results[-1]
+
+ for day in get_days(local_url + month):
+ response_day = requests.get(local_url + month + day + END_URL, proxies=PROXY)
+ if response_day.status_code == 404:
+ LOGGER.debug("%s : does not exist", local_url + month + day + END_URL)
+ else:
+ version_infos = {"month": month,
+ "day": day,
+ "file": local_url + month + day + END_URL}
+ VERSION_URL.append(version_infos)
+
+ # load latest version json from LFN backend
+ version_file = VERSION_URL[-1]["file"]
+ LOGGER.debug(version_file)
+ # retrieve the file
+ response_latest = requests.get(version_file, proxies=PROXY)
+ return json.loads(response_latest.text)
+
+def get_json_version_components(version):
+ """Retrieve the versions of the component from LF Backend."""
+ local_url = BASE_URL + ONAP_RELEASE_DATE[version] + END_URL
+ local_response = requests.get(local_url, proxies=PROXY)
+ return json.loads(local_response.text)
+
+def compare_func(x, y, level=None):
+ try:
+ res = x["container"] == y["container"] and \
+ x["component"] == y["component"]
+ return res
+ except Exception:
+ raise CannotCompare()
+
+
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("******************* Retrieve Raw Data ***************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+MONTHS = ['2021-08/']
+LOGGER.info("Retrieve the Raw Data.")
+
+# Retrieve the last available version file
+# - we fist list the url of all the daily results on the given version
+# - we check that the onap_versions.json exist
+# - we take the last existing one VERSION_URL[-1]
+# - we download this particular file
+
+
+# Master is the ref
+if ARGS.test:
+ with open('./artifacts/versions/test_master.json') as json_file:
+ LATEST_VERSION = json.load(json_file)
+else:
+ LATEST_VERSION = get_json_master_components()
+CLEAN_LATEST_VERSION = [k for j, k in enumerate(
+ LATEST_VERSION) if k not in LATEST_VERSION[j + 1:]]
+SORTED_MASTER = sorted(CLEAN_LATEST_VERSION, key=lambda k: k['container'])
+LOGGER.info("Versions of the latest run ================> %s", SORTED_MASTER)
+
+for version in versions_to_be_compared_with_master:
+ # Retrieve versions of official release (release or maintenance release)
+ LOCAL_PATH = "./artifacts/versions/test_" + version + ".json"
+ if ARGS.test:
+ with open(LOCAL_PATH) as json_file:
+ local_json_file = json.load(json_file)
+ else:
+ local_json_file = get_json_version_components(version)
+
+ # remove duplicates
+ local_clean = [k for j, k in enumerate(
+ local_json_file) if k not in local_json_file[j + 1:]]
+ # sort
+ component_versions[version] = sorted(
+ local_clean, key=lambda k: k['container'])
+ LOGGER.debug("Versions of the release run %s", version)
+ LOGGER.debug("================> %s", component_versions[version])
+
+# # Post processing on the loaded versions
+# # we got
+# # - the last version
+# # - the Honolulu versions
+# # - the Guilin MR versions
+# # we need first to cleanup (avoid duplicate)
+# # then we need to build the object for the jinja template
+
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("******************* Process the Data ***************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+
+NB_ITERATION_DATASET = 0
+# we compare Master with a bunch of official release or maintenance releases
+for version in versions_to_be_compared_with_master:
+ LOGGER.info("----------------------------------------------------")
+ LOGGER.info("----------------------------------------------------")
+ LOGGER.info("-----Comparison Master versus %s --------", version)
+ LOGGER.info("----------------------------------------------------")
+ LOGGER.info("----------------------------------------------------")
+
+ # we use DeeDiff to get the difference between the 2 json list
+ delta_versions = DeepDiff(
+ component_versions[version],
+ SORTED_MASTER,
+ ignore_order=True,
+ iterable_compare_func=compare_func,
+ cutoff_distance_for_pairs=0.1,
+ cutoff_intersection_for_pairs=1.0,
+ get_deep_distance=True)
+ LOGGER.info("Delta between Master and %s", version)
+ LOGGER.info("Delta = %s", delta_versions)
+
+ # Manage containers found in Master
+ for master_component in SORTED_MASTER:
+ # test if container mentioned in delta
+ # possible cases
+ # * values_changed:
+ # - simple version change for the same component
+ # - substitution
+ # * iterable_item_removed (remove in master)
+ # * iterable_item_added (added in master)
+ # create ComponentVersion accordingly
+ INDEX_STATUS = 0
+ other_version = {}
+ CONTAINER_STATUS = get_component_status(
+ master_component['container'],
+ delta_versions, SORTED_MASTER,
+ component_versions[version])
+ LOGGER.info("Container status: %s", CONTAINER_STATUS)
+
+ if CONTAINER_STATUS == 'version_changed':
+ other_version[version] = get_old_version_component(
+ master_component['container'], component_versions[version])
+ INDEX_STATUS = 1
+ elif CONTAINER_STATUS == 'component_added':
+ # no other version
+ INDEX_STATUS = 2
+ else:
+ other_version[version] = master_component['version']
+ # need post processing see oldest version to see
+ # if there is no changes since more than 2 release or not
+ # temp index = -1
+ # post processing shall allow to say if
+ # index = 0: no changes since last release
+ # index = 3: no changes since more than 2 release
+
+ # As we are testing several releases, check if the object already exists
+ # If so complete it, do not create a new one..
+ if NB_ITERATION_DATASET < 1:
+ LOGGER.info("Creation of the dataset for %s", master_component['container'])
+ version_object = ComponentVersion(
+ component=master_component['component'],
+ container=master_component['container'],
+ image=master_component['image'],
+ current_version=master_component['version'],
+ other_version=other_version,
+ status=INDEX_STATUS)
+ DATA_VERSIONS.append(version_object)
+ else:
+ # we already compared master with a release
+ # the DATASET is initiated
+ # we start the second comparison
+
+ # First consider the changes between master and the new release
+ LOGGER.info("Update of the dataset for %s", master_component['container'])
+ index_data = get_data_version_container_index(
+ master_component['container'], DATA_VERSIONS)
+
+ local_other_version = DATA_VERSIONS[index_data].other_version
+ if get_old_version_component(
+ master_component['container'],
+ component_versions[version]) != "unknown":
+ local_other_version[version] = get_old_version_component(
+ master_component['container'], component_versions[version])
+ DATA_VERSIONS[index_data].other_version = local_other_version
+
+ # postprocessing to detect if the version of the container
+ # did not change for at least 2 releases
+ count_versions = Counter(local_other_version.values())
+ for count_version in count_versions.values():
+ if (count_version > 1 and
+ INDEX_STATUS < 1):
+ DATA_VERSIONS[index_data].status = 3
+ NB_ITERATION_DATASET += 1
+
+ # manage removed pods
+ for removed_container in get_removed_container_list(
+ delta_versions, component_versions[version], master_component):
+
+ index_data = get_data_version_container_index(
+ removed_container['container'], DATA_VERSIONS)
+ LOGGER.info("Removed container index data in DATASET: %s", index_data)
+ # "new" removed container, add it to DATASET
+ if index_data < 0 or index_data is None:
+ version_object = ComponentVersion(
+ component=removed_container['component'],
+ container=removed_container['container'],
+ image=removed_container['image'],
+ current_version="",
+ other_version={version: removed_container['version']},
+ status=4)
+ DATA_VERSIONS.append(version_object)
+ else:
+ # removed container already seen as removed in another old release
+ # just amend the DATASET to indicate the old versions
+ LOGGER.info(
+ "Update of the dataset for a removed container in master %s",
+ removed_container['container'])
+ index_data = get_data_version_container_index(
+ removed_container['container'], DATA_VERSIONS)
+ local_other_version = DATA_VERSIONS[index_data].other_version
+ local_other_version[version] = get_old_version_component(
+ removed_container['container'], component_versions[version])
+ DATA_VERSIONS[index_data].other_version = local_other_version
+
+# Exclude filebeat dockers
+CLEAN_DATA_VERSIONS = []
+for data in DATA_VERSIONS:
+ # an xfail list coudl be used here
+ if "filebeat" not in data.image:
+ CLEAN_DATA_VERSIONS.append(data)
+
+#LOGGER.info(str(CLEAN_DATA_VERSIONS))
+
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("****************** Generate Reporting ***************")
+LOGGER.info("*********************************************************************")
+LOGGER.info("*********************************************************************")
+
+jinja_env = Environment(
+ autoescape=select_autoescape(['html']),
+ loader=FileSystemLoader('./template'))
+jinja_env.get_template('docker-version-tmpl.html').stream(
+ data=CLEAN_DATA_VERSIONS).dump(
+ '{}'.format("index-versions.html"))
diff --git a/doc/generate_gating_index.py b/doc/generate_gating_index.py
new file mode 100644
index 0000000..904844b
--- /dev/null
+++ b/doc/generate_gating_index.py
@@ -0,0 +1,49 @@
+#!/usr/bin/python
+#
+# This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+""" Module to generate Functest reporting for gitlab pages """
+
+import argparse
+import datetime
+import logging
+
+import jinja2
+
+# Logger
+logging.basicConfig()
+LOGGER = logging.getLogger("Gating-Index")
+LOGGER.setLevel("INFO")
+LOGGER.setLevel("DEBUG")
+
+LOGGER.info("generate Xtesting gating index page")
+
+REPORTINGDATE = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
+
+PARSER = argparse.ArgumentParser()
+PARSER.add_argument('-l', '--list', help='patchset list')
+ARGS = PARSER.parse_args()
+
+PATCHSET_LIST = []
+
+# we expect an argument as follows: 12345-1,45678-99,65432-42
+if ARGS.list is not None:
+ PATCHSET_LIST = ARGS.list.split(",")
+
+TEMPLATELOADER = jinja2.FileSystemLoader(".")
+TEMPLATEENV = jinja2.Environment(
+ loader=TEMPLATELOADER, autoescape=True)
+TEMPLATE_FILE = ("./template/index-gating-tmpl.html")
+TEMPLATE = TEMPLATEENV.get_template(TEMPLATE_FILE)
+OUTPUT_TEXT = TEMPLATE.render(
+ patchsets=PATCHSET_LIST,
+ date=REPORTINGDATE)
+
+FILENAME = "./index-gating.html"
+
+with open(FILENAME, "w+") as fh:
+ fh.write(OUTPUT_TEXT)
diff --git a/doc/generate_stability_graphs.py b/doc/generate_stability_graphs.py
new file mode 100644
index 0000000..3b0f433
--- /dev/null
+++ b/doc/generate_stability_graphs.py
@@ -0,0 +1,133 @@
+#!/usr/bin/python
+#
+# This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+""" Module to generate Functest reporting for gitlab pages """
+
+import argparse
+import datetime
+import logging
+import json
+import os
+import re
+import requests
+import lxml
+from bs4 import BeautifulSoup # sudo apt-get install python3-bs4 if pip doesn't work
+from anytree import Node, RenderTree
+import jinja2
+
+PROXY = {}
+# PROXY = {'http': 'socks5h://127.0.0.1:8080',
+# 'https': 'socks5h://127.0.0.1:8080'}
+
+MONTHS = []
+DAYS = []
+BASE_URL ="https://logs.onap.org/onap-integration/daily/"
+END_URL = "daily-scores.json"
+
+
+PARSER = argparse.ArgumentParser()
+PARSER.add_argument('-v', '--onap_version', help='onap version',default='master')
+
+ARGS = PARSER.parse_args()
+
+ci_version = "onap_daily_pod4_" + ARGS.onap_version + "/"
+
+# Logger
+logging.basicConfig()
+LOGGER = logging.getLogger("CI Timeview")
+LOGGER.setLevel("INFO")
+
+def get_months(url):
+ """load and parse list of months"""
+ local_months = []
+ response_months = requests.get(url, proxies=PROXY)
+ soup = BeautifulSoup(response_months.text ,"lxml")
+
+ for link in soup.find_all('a'):
+ pattern = bool(re.match("[0-9]{4}-[0-9]{2}", link.contents[0]))
+ if pattern:
+ local_months.append(link.contents[0])
+ LOGGER.debug(local_months)
+ return local_months
+
+def get_days(url):
+ """load and parse list of days"""
+ local_days = []
+ response_days = requests.get(url, proxies=PROXY)
+ soup = BeautifulSoup(response_days.text ,"lxml")
+
+ for link in soup.find_all('a'):
+ pattern = bool(re.match("[0-9]{2}_[0-9]{2}-[0-9]{2}", link.contents[0]))
+ if pattern:
+ local_days.append(link.contents[0])
+ LOGGER.debug(local_days)
+ return local_days
+
+def get_results_of_a_day(url, month, day):
+ """ get the daily scores for a day"""
+ daily_score = {}
+ response_day = requests.get(url + month + day + END_URL, proxies=PROXY)
+ if response_day.status_code != 200:
+ LOGGER.debug(url + month + day + END_URL + " : does not exist")
+ else:
+ parsed_month = re.match("[0-9]{4}-[0-9]{2}", month).group()
+ parsed_day = re.match("[0-9]{2}", day).group()
+ daily_score = { "date": parsed_month + "-" + parsed_day }
+ json_res = json.loads(response_day.content)
+ for res in json_res:
+ # ugly workaround as one of the key contains a space
+ # which is painful for processing
+ daily_score.update({ res['tier'].replace(" ","-"): res['score'] })
+ return daily_score
+
+# ------------------------------------------------------------------------------
+LOGGER.info("---------------------------------------")
+LOGGER.info("Look for results for %s", ci_version)
+url = BASE_URL + ci_version
+months = get_months(url)
+# NOTE the 2: has been set to exclude old results for which we do not have the
+# json. Once applied, the number shall be 6 to consider the last 6 months
+filtered_months = months[-3:]
+
+LOGGER.info(filtered_months)
+data_scores = []
+for month in filtered_months:
+ for day in get_days(url + "/" + month):
+ if get_results_of_a_day(url, month, day) != {}:
+ data_scores.append(
+ get_results_of_a_day(url, month, day))
+
+# check if local results daily-scores.json can be found
+# if a result already exists for this day do nothing, else add it
+if os.path.isfile('./daily-scores.json'):
+ my_day = datetime.datetime.today()
+ local_day = (str(my_day.year) + "-" + str(my_day.month) + "-" +
+ str(my_day.day))
+ LOGGER.info("Local results found")
+ with open('./daily-scores.json') as json_file:
+ local_res = json.load(json_file)
+ daily_score = {'date': local_day}
+ for res in local_res:
+ daily_score[res['tier'].replace(" ","-")] = res['score']
+ data_scores.append(daily_score)
+
+LOGGER.info("---------------------------------------")
+LOGGER.info("Generate the page %s", ci_version)
+
+TEMPLATELOADER = jinja2.FileSystemLoader(".")
+TEMPLATEENV = jinja2.Environment(
+ loader=TEMPLATELOADER, autoescape=True)
+TEMPLATE_FILE = ("./template/index-stability-tmpl.html")
+TEMPLATE = TEMPLATEENV.get_template(TEMPLATE_FILE)
+OUTPUT_TEXT = TEMPLATE.render(
+ data=data_scores,
+ lab_owner=ci_version[:-1],
+ lab_version=ARGS.onap_version)
+FILENAME = "./index-stability.html"
+with open(FILENAME, "w+") as fh:
+ fh.write(OUTPUT_TEXT)
diff --git a/doc/generate_status.py b/doc/generate_status.py
new file mode 100644
index 0000000..e749e64
--- /dev/null
+++ b/doc/generate_status.py
@@ -0,0 +1,457 @@
+#!/usr/bin/python
+#
+# This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+""" Module to generate Functest reporting for gitlab pages """
+
+import argparse
+import datetime
+import logging
+import os
+
+import jinja2
+import json
+import requests
+
+from prettytable import PrettyTable
+
+# Logger
+logging.basicConfig()
+LOGGER = logging.getLogger("Xtesting-ONAP-Status")
+LOGGER.setLevel("INFO")
+# LOGGER.setLevel("DEBUG")
+
+PROXY = {}
+# PROXY = {'http': 'socks5h://127.0.0.1:8080',
+# 'https': 'socks5h://127.0.0.1:8080'}
+
+# Initialization
+URL_PRIVATE_BASE = "http://onap.api.testresults.opnfv.fr/api/v1/results"
+URL_BASE = "http://testresults.opnfv.org/onap/api/v1/results"
+URL_BASE_PODS = "http://testresults.opnfv.org/onap/api/v1/pods"
+REPORTINGDATE = datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
+
+# init just connection_check to get the list of scenarios
+# as all the scenarios run connection_check
+# the following tests are the default daily tests
+INFRA_HEALTHCHECK = {'name': 'infrastructure-healthcheck',
+ 'tests': {'onap-k8s', 'onap-helm',
+ 'onap-k8s-teardown'}}
+# 'onap-k8s-teardown','internal_check_certs'}}
+HEALTHCHECK = {'name': 'healthcheck',
+ 'tests': {'core', 'full',
+ 'healthdist', 'postinstall',
+ 'hv-ves', 'ves-collector',
+ 'basic_onboard', 'dcaemod',
+ 'cps-healthcheck', 'cps-dmi-plugin-healthcheck',
+ 'cps-temporal-healthcheck'}}
+# SMOKE_USECASES = {'name': 'smoke usecases',
+# 'tests': {'basic_vm', 'freeradius_nbi', 'clearwater_ims',
+# 'pnf-registrate', '5gbulkpm', 'hv-ves'}}
+SMOKE_USECASES = {'name': 'smoke usecases',
+ 'tests': {'basic_vm', 'basic_network', 'basic_cnf', 'cmpv2',
+ 'pnf-registrate', '5gbulkpm', 'basic_clamp',
+ 'basic_vm_macro', 'pnf_macro', 'cds_resource_resolution',
+ 'basic_cnf_macro'}}
+
+SECURITY_USECASES = {'name': 'security',
+ 'tests': {'root_pods', 'unlimitted_pods',
+ 'nonssl_endpoints', 'nodeport_check_certs',
+ 'kube_hunter'}}
+
+TIERS = [INFRA_HEALTHCHECK, HEALTHCHECK, SMOKE_USECASES, SECURITY_USECASES]
+TRENDS = [INFRA_HEALTHCHECK, HEALTHCHECK, SMOKE_USECASES, SECURITY_USECASES]
+
+# list of tests with dedicated reporting page to be referenced
+RESULT_URLS_LEGACY = {
+ 'core': './xtesting-healthcheck/core/core/report.html',
+ 'small': './xtesting-healthcheck/small/small/report.html',
+ 'medium': './xtesting-healthcheck/medium/medium/report.html',
+ 'full': './xtesting-healthcheck/full/full/report.html',
+ 'postinstall': './xtesting-healthcheck/postinstall/postinstall/report.html',
+ 'healthdist': './xtesting-healthcheck/healthdist/healthdist/report.html',
+ 'onap-k8s': './infrastructure-healthcheck/k8s/kubernetes-status/index.html',
+ 'onap-k8s-teardown': './infrastructure-healthcheck/k8s-teardown/kubernetes-status/index.html',
+ 'onap-helm': './infrastructure-healthcheck/k8s/onap-helm/helm.html',
+ 'nodeport_check_certs': './infrastructure-healthcheck/k8s/nodeport_check_certs/certificates.html',
+ 'internal_check_certs': './infrastructure-healthcheck/internal_check_certs/internal_check_certs/certificates.html',
+ 'basic_vm': './smoke-usecases/basic_vm/basic_vm/reporting.html',
+ 'basic_vm_macro': './smoke-usecases/basic_vm_macro/basic_vm_macro/reporting.html',
+ 'basic_network': './smoke-usecases/basic_network/basic_network/reporting.html',
+ 'basic_cnf': './smoke-usecases/basic_cnf/basic_cnf/reporting.html',
+ 'basic_cds': './smoke-usecases/basic_cds/basic_cds/reporting.html',
+ 'basic_onboard': './smoke-usecases/basic_onboard/basic_onboard/reporting.html',
+ 'basic_clamp': './smoke-usecases/basic_clamp/basic_clamp/reporting.html',
+ 'pnf_macro': './smoke-usecases/pnf_macro/pnf_macro/reporting.html',
+ 'pnf-registrate': './xtesting-smoke-usecases-robot/pnf-registrate/pnf-registrate/report.html',
+ '5gbulkpm': './xtesting-smoke-usecases-robot/5gbulkpm/5gbulkpm/report.html',
+ 'hv-ves': './xtesting-smoke-usecases-robot/hv-ves/hv-ves/report.html',
+ 'cmpv2': './xtesting-smoke-usecases-robot/cmpv2/cmpv2/report.html',
+ 'dcaemod': './xtesting-smoke-usecases-robot/dcaemod/dcaemod/report.html',
+ 'ves-collector': './xtesting-smoke-usecases-robot/ves-collector/ves-collector/report.html',
+ 'root_pods': './security/root_pods/root_pods/root_pods.log',
+ 'unlimitted_pods': './security/unlimitted_pods/unlimitted_pods/unlimitted_pods.log',
+ 'cis_kubernetes': './security/cis_kubernetes/cis_kubernetes/cis_kubernetes.log',
+ 'nonssl_endpoints': './security/nonssl_endpoints/nonssl_endpoints/nonssl_endpoints.log',
+ 'jdpw_ports': './security/jdpw_ports/jdpw_ports/jdpw_ports.log',
+ 'kube_hunter': './security/kube_hunter/kube_hunter/kube_hunter.log',
+ 'versions': './security/versions/versions.html',
+ 'cps-healthcheck': './xtesting-healthcheck/cps-healthcheck/cps-healthcheck/report.html',
+ 'cds_resource_resolution': './smoke-usecases/cds_resource_resolution/cds_resource_resolution/reporting.html',
+ 'basic_cnf_macro':'./smoke-usecases/basic_cnf_macro/basic_cnf_macro/reporting.html',
+ 'cps-dmi-plugin-healthcheck':'./xtesting-healthcheck/cps-dmi-plugin-healthcheck/cps-dmi-plugin-healthcheck/report.html',
+ 'cps-temporal-healthcheck':'./xtesting-healthcheck/cps-temporal-healthcheck/cps-temporal-healthcheck/report.html'
+ }
+
+# list of tests with dedicated reporting page to be referenced
+RESULT_URLS_S3 = {
+ 'core': './core/core/report.html',
+ 'full': './full/full/report.html',
+ 'postinstall': './postinstall/postinstall/report.html',
+ 'healthdist': './healthdist/healthdist/report.html',
+ 'onap-k8s': './k8s/k8s/kubernetes-status/index.html',
+ 'onap-k8s-teardown': './k8s-teardown/k8s-teardown/kubernetes-status/index.html',
+ 'onap-helm': './k8s/k8s/onap-helm/helm.html',
+ 'nodeport_check_certs': './k8s/k8s/nodeport_check_certs/certificates.html',
+ 'internal_check_certs': './infrastructure-healthcheck/internal_check_certs/internal_check_certs/certificates.html',
+ 'basic_vm': './basic_vm/basic_vm/reporting.html',
+ 'basic_vm_macro': './basic_vm_macro/basic_vm_macro/reporting.html',
+ 'basic_network': './basic_network/basic_network/reporting.html',
+ 'basic_cnf': './basic_cnf/basic_cnf/reporting.html',
+ 'basic_cds': './basic_cds/basic_cds/reporting.html',
+ 'basic_onboard': './basic_onboard/basic_onboard/reporting.html',
+ 'basic_clamp': './basic_clamp/basic_clamp/reporting.html',
+ 'pnf_macro': './pnf_macro/pnf_macro/reporting.html',
+ 'pnf-registrate': './pnf-registrate/pnf-registrate/report.html',
+ '5gbulkpm': './5gbulkpm/5gbulkpm/report.html',
+ 'hv-ves': './hv-ves/hv-ves/report.html',
+ 'cmpv2': './cmpv2/cmpv2/report.html',
+ 'dcaemod': './dcaemod/dcaemod/report.html',
+ 'ves-collector': './ves-collector/ves-collector/report.html',
+ 'root_pods': './root_pods/root_pods/root_pods.log',
+ 'unlimitted_pods': './unlimitted_pods/unlimitted_pods/unlimitted_pods.log',
+ 'cis_kubernetes': './cis_kubernetes/cis_kubernetes/cis_kubernetes.log',
+ 'nonssl_endpoints': './nonssl_endpoints/nonssl_endpoints/nonssl_endpoints.log',
+ 'jdpw_ports': './jdpw_ports/jdpw_ports/jdpw_ports.log',
+ 'kube_hunter': './kube_hunter/kube_hunter/kube_hunter.log',
+ 'versions': './security/versions/versions.html',
+ 'cps-healthcheck': './cps-healthcheck/cps-healthcheck/report.html',
+ 'cds_resource_resolution': './cds_resource_resolution/cds_resource_resolution/reporting.html',
+ 'basic_cnf_macro':'./basic_cnf_macro/basic_cnf_macro/reporting.html',
+ 'cps-dmi-plugin-healthcheck':'./cps-dmi-plugin-healthcheck/cps-dmi-plugin-healthcheck/report.html',
+ 'cps-temporal-healthcheck':'./cps-temporal-healthcheck/cps-temporal-healthcheck/report.html'
+ }
+
+def get_lab_owner(pod_name):
+ url = (URL_BASE_PODS + "?name=" + pod_name)
+ response = requests.get(url, proxies=PROXY)
+ response_json = response.json()
+ try:
+ lab_owner = response_json['pods'][0]['creator']
+ except KeyError:
+ lab_owner = "unknown"
+ except IndexError:
+ lab_owner = "unknown"
+ return lab_owner
+
+# Retrieve the Functest configuration to detect which tests are relevant
+# according to the pod, scenario
+PERIOD = 1
+
+LOGGER.info("generate Xtesting reporting page")
+
+PARSER = argparse.ArgumentParser()
+PARSER.add_argument('-p', '--pod', help='Pod name')
+PARSER.add_argument('-d', '--db', help='Test DB URL')
+PARSER.add_argument('-t', '--build_tag', help='Build_tag')
+PARSER.add_argument('-m', '--mode', help='result retrieval mode', choices=['legacy', 's3'], default='legacy')
+ARGS = PARSER.parse_args()
+
+PODS = ['onap_xtesting_openlab-OPNFV-oom',
+ 'onap_oom_gating_pod4_1-ONAP-oom',
+ 'onap_oom_gating_pod4_2-ONAP-oom',
+ 'onap_oom_gating_pod4_3-ONAP-oom',
+ 'onap_oom_gating_pod4_4-ONAP-oom',
+ 'onap_oom_gating_azure_1-OPNFV-oom',
+ 'onap_oom_gating_azure_2-OPNFV-oom',
+ 'onap_oom_gating_azure_3-OPNFV-oom',
+ 'onap_oom_gating_azure_4-OPNFV-oom',
+ 'onap_daily_pod4_master-ONAP-oom',
+ 'onap_daily_pod4_istanbul-ONAP-oom',
+ 'onap_daily_pod4_jakarta-ONAP-oom']
+
+if ARGS.pod is not None:
+ PODS = [ARGS.pod]
+
+ # adapt tests according to the typ of tests: daily/weekly/gating
+ if "weekly" in ARGS.pod:
+ # Complete the list with weekly tests
+ SECURITY_USECASES['tests'].add('versions')
+ SECURITY_USECASES['tests'].add('jdpw_ports')
+ INFRA_HEALTHCHECK['tests'].add('internal_check_certs')
+ PERIOD = 7
+ if "gating" in ARGS.pod:
+ SECURITY_USECASES['tests'].remove('kube_hunter')
+
+ # adapt test according to the version: guilin / honolulu / master
+ if "guilin" in ARGS.pod:
+ HEALTHCHECK['tests'].remove('dcaemod')
+ HEALTHCHECK['tests'].remove('cps-healthcheck')
+ HEALTHCHECK['tests'].remove('cps-dmi-plugin-healthcheck')
+ HEALTHCHECK['tests'].remove('cps-temporal-healthcheck')
+ SMOKE_USECASES['tests'].remove('basic_clamp')
+ SMOKE_USECASES['tests'].remove('cds_resource_resolution')
+ SMOKE_USECASES['tests'].remove('basic_cnf_macro')
+ if "honolulu" in ARGS.pod:
+ HEALTHCHECK['tests'].remove('cps-healthcheck')
+ HEALTHCHECK['tests'].remove('cps-dmi-plugin-healthcheck')
+ HEALTHCHECK['tests'].remove('cps-temporal-healthcheck')
+ SMOKE_USECASES['tests'].remove('cds_resource_resolution')
+ SMOKE_USECASES['tests'].remove('basic_cnf_macro')
+ if "istanbul" in ARGS.pod:
+ HEALTHCHECK['tests'].remove('cps-dmi-plugin-healthcheck')
+ HEALTHCHECK['tests'].remove('cps-temporal-healthcheck')
+ SMOKE_USECASES['tests'].remove('cds_resource_resolution')
+ SMOKE_USECASES['tests'].remove('basic_cnf_macro')
+ # Exclude Cloudify based use cases in Master (after istanbul)
+ # TO BE updated as it is possible to perform gating on old versions
+ # We should exclude cases according to the version not the pod name
+ if "master" in ARGS.pod or "gating" in ARGS.pod or "jakarta" in ARGS.pod:
+ SMOKE_USECASES['tests'].remove('basic_clamp')
+ SMOKE_USECASES['tests'].remove('cmpv2')
+
+RESULT_URLS = RESULT_URLS_LEGACY
+LOGGER.info("init core result_url: %s", RESULT_URLS['core'])
+if ARGS.mode == "s3":
+ LOGGER.info("use s3 mode for file retrieval")
+ LOGGER.info("intended core result_url: %s", RESULT_URLS_S3['core'])
+ RESULT_URLS = RESULT_URLS_S3
+ LOGGER.info("s3 core result_url: %s", RESULT_URLS['core'])
+
+LOGGER.info("final core result_url: %s", RESULT_URLS['core'])
+LOGGER.info("List of PODS: %s", PODS)
+for pod in PODS:
+ LOGGER.info("POD: %s", pod)
+
+ # Get the version
+ lab_version = "unknown"
+ lab_owner = get_lab_owner(pod)
+ LOGGER.info("Lab owner: %s", lab_owner)
+
+ TREND_LINE = ""
+ SCORE = 0
+
+ # Trend
+ # *****
+ # calculation of the TREND
+ SCORE_TREND = 0
+ if ARGS.db is not None:
+ URL_BASE = str([ARGS.db][0])
+ LOGGER.info("Database: %s", URL_BASE)
+
+ for tier_trend in TRENDS:
+ tier_results = []
+ nb_tests = 0
+ nb_pass = 0
+ nb_fail = 0
+ score = 0
+
+ for test in tier_trend['tests']:
+ project = 'integration'
+ # Security tests affected to security project
+ if tier_trend['name'] == 'security':
+ project = 'security'
+ url = (URL_BASE + "?project_name=" + project + "&case=" + test +
+ "&pod_name=" + pod + "&last=5")
+ response = requests.get(url, proxies=PROXY)
+ response_json = response.json()
+ # Note the 'u' must be used in python 2.7
+ # str(response_json).count("criteria': 'uFAIL")
+ # it shall be removed if using python3
+ nb_fail = nb_fail + str(response_json).count("criteria': 'FAIL")
+ nb_pass = nb_pass + str(response_json).count("criteria': 'PASS")
+ try:
+ score_trend = round(100 * nb_pass / (nb_pass + nb_fail))
+ except ZeroDivisionError:
+ score_trend = 0
+ LOGGER.debug("Score Trend %s: %s", tier_trend, score_trend)
+ tier_trend['score'] = score_trend
+
+ # calculation of the overall SCORE for TREND
+ NB_TIERS = 0
+ for tier_trend in TRENDS:
+ NB_TIERS += 1
+ SCORE_TREND = SCORE_TREND + tier_trend['score']
+ SCORE_TREND = round(SCORE_TREND / NB_TIERS)
+
+ LOGGER.info("Score Trend: %s", str(SCORE_TREND))
+
+ # calculation of the overall SCORE
+ for tier in TIERS:
+ tier_results = []
+ nb_tests = 0
+ nb_pass = 0
+ score = 0
+ for test in tier['tests']:
+ # for Gating we consider the build_tag to retrieve the results
+ # For daily runs, we do not. A build_tag is created based on
+ # gitlab CI id and is different for each CI stage
+ param_build_tag = ""
+ if "gating" in pod and ARGS.build_tag is not None:
+ param_build_tag = "&build_tag=" + str([ARGS.build_tag][0])
+ project = 'integration'
+ # Security tests affected to security project
+ if tier['name'] == 'security':
+ project = 'security'
+
+ # onap-k8s and onap-k8s-teardown are the same test
+ # BUT
+ # onap-k8s is executed after the installation (fresh installation)
+ # onap-k8s-teardown after the tests
+ # in case of tests executed in onap namespace, a test may trigger
+ # an error status even it was OK at the end of the installation
+ # a special uggly processing is then needed to avoid false negative
+ search_test = test
+ if test == "onap-k8s-teardown":
+ search_test = "onap-k8s"
+
+ nb_test_max = 5
+
+ url = (URL_BASE + "?project_name=" + project +
+ "&case=" + search_test +
+ "&period=" + str(PERIOD) +
+ "&pod_name=" + pod + "&last=" + str(nb_test_max) +
+ param_build_tag)
+ LOGGER.debug("url: %s", url)
+ response = requests.get(url, proxies=PROXY)
+ response_json = response.json()
+ response_url = ""
+
+ if test in RESULT_URLS:
+ response_url = RESULT_URLS[test]
+ LOGGER.debug("response_json: %s", response_json)
+ req_result = ""
+
+ nb_results_found = len(response_json['results'])
+
+ try:
+ if test == "onap-k8s":
+ # We run that test twice (it's failing due to nodeport checks)
+ # so to get the latest result of onap-k8s test (running on startup)
+ # we need to get the 3rd result
+ req_result = response_json['results'][2]['criteria']
+ else:
+ req_result = response_json['results'][0]['criteria']
+
+ if lab_version == "unknown":
+ lab_version = response_json['results'][0]['version']
+
+ except IndexError:
+ req_result = None
+
+ result = {'name': test,
+ 'result': req_result,
+ 'url': response_url}
+ LOGGER.debug("result: %s", result)
+
+ nb_tests += 1
+ if req_result == "PASS":
+ nb_pass += 1
+ LOGGER.debug("nb_pass: %s", nb_pass)
+ LOGGER.debug("nb_tests: %s", nb_tests)
+ score = round(100 * nb_pass / nb_tests)
+ LOGGER.debug("score: %s", score)
+ tier_results.append(result)
+
+ tier['score'] = score
+ tier['results'] = tier_results
+
+ # calculation of the overall SCORE
+ NB_TIERS = 0
+ for tier in TIERS:
+ NB_TIERS += 1
+ LOGGER.debug("Score %s", tier)
+ SCORE = SCORE + tier['score']
+ SCORE = round(SCORE / NB_TIERS)
+ LOGGER.info("Score: %s", str(SCORE))
+
+ # calculation of the evolution score versus trend
+ if SCORE > 1.05*SCORE_TREND:
+ # increasing
+ TREND_LINE = "long arrow alternate up icon"
+ LOGGER.info("Better status")
+ elif SCORE < 0.95*SCORE_TREND:
+ # decreasing
+ TREND_LINE = "long arrow alternate down icon"
+ LOGGER.info("Worst status")
+ else:
+ # stable
+ TREND_LINE = "long arrow alternate right icon"
+ LOGGER.info("stable status")
+
+ TEMPLATELOADER = jinja2.FileSystemLoader(".")
+ TEMPLATEENV = jinja2.Environment(
+ loader=TEMPLATELOADER, autoescape=True)
+ TEMPLATE_FILE = ("./template/index-tmpl.html")
+ TEMPLATE = TEMPLATEENV.get_template(TEMPLATE_FILE)
+ OUTPUT_TEXT = TEMPLATE.render(
+ tiers=TIERS,
+ pod=pod,
+ period=PERIOD,
+ date=REPORTINGDATE,
+ score=SCORE,
+ trend=TREND_LINE,
+ lab_version=lab_version,
+ lab_owner=lab_owner)
+
+ FILENAME = "./index.html"
+
+ with open(FILENAME, "w+") as fh:
+ fh.write(OUTPUT_TEXT)
+
+ # Generate txt reporting with my pretty Table
+ vote=2
+ score_daily = []
+ dashboard_table = PrettyTable()
+ dashboard_table.field_names = ["Test Name", "Category", "Status"]
+ dashboard_table._max_width = {"Test Name" : 30, "Category": 40,"Status" : 10}
+ #print(TIERS)
+ for tier in TIERS:
+ tier_score = {'tier': tier['name'],
+ 'score': tier['score']}
+ score_daily.append(tier_score)
+ for test in tier['results']:
+ if tier['name'] == "infrastructure-healthcheck":
+ if test['name'] == "onap-k8s" or test['name'] == "onap-helm":
+ if test['result'] == "FAIL" or test['result'] == None:
+ vote-=2
+ if tier['name'] == "healthcheck" or tier['name'] == "smoke usecases":
+ if test['result'] == "FAIL" or test['result'] == None:
+ vote-=1
+ dashboard_table.add_row([test['name'],tier['name'], test['result']])
+ if vote < -2:
+ vote = -2
+
+ LOGGER.info(dashboard_table)
+ LOGGER.info("If I could, I would vote " + str(vote))
+ with open("./daily-status.txt", "w") as write_file:
+ write_file.write(str(dashboard_table))
+ write_file.write("\n")
+ write_file.write("**********************\n")
+ write_file.write("* Automated vote: "+ str(vote) +"\n")
+ write_file.write("**********************\n")
+ write_file.close()
+ # Gating vote
+ # Infra HC onap-helm and onap-K8S MUST be OK
+ # HC > 90 only 1 error OK in Full if not critical component
+ # Smoke 1
+
+ # Generate heatlth json to build a time view odf the daily dashboard_table
+ # create a json file for version tracking
+
+ with open("./daily-scores.json", "w") as write_file:
+ json.dump(score_daily, write_file)
diff --git a/doc/requirements.txt b/doc/requirements.txt
new file mode 100644
index 0000000..f6c5d07
--- /dev/null
+++ b/doc/requirements.txt
@@ -0,0 +1,7 @@
+jinja2
+requests
+prettytable
+anytree
+deepdiff
+lxml
+bs4
diff --git a/doc/stability_results.json b/doc/stability_results.json
new file mode 100644
index 0000000..4bd6f17
--- /dev/null
+++ b/doc/stability_results.json
@@ -0,0 +1,54 @@
+{
+ "daily":
+ [
+ {
+ "onap_daily_pod4_honolulu":
+ [
+ {
+ "date": "2021-04-06",
+ "infra": 25,
+ "healthcheck":88,
+ "smoke":42,
+ "security": 50
+
+ },
+ {
+ "date": "2021-04-09",
+ "infra": 25,
+ "healthcheck":77,
+ "smoke":14,
+ "security": 50
+
+ },
+ {
+ "date": "2021-04-10",
+ "infra": 25,
+ "healthcheck":88,
+ "smoke":75,
+ "security": 50
+
+ },
+ {
+ "date": "2021-04-11",
+ "infra": 25,
+ "healthcheck":100,
+ "smoke":37,
+ "security": 50
+
+ },
+ {
+ "date": "2021-04-12",
+ "infra": 25,
+ "healthcheck":88,
+ "smoke":37,
+ "security": 50
+
+ }
+
+
+ ]
+ }
+ ]
+
+
+} \ No newline at end of file
diff --git a/doc/template/docker-version-tmpl.html b/doc/template/docker-version-tmpl.html
new file mode 100644
index 0000000..e783f9f
--- /dev/null
+++ b/doc/template/docker-version-tmpl.html
@@ -0,0 +1,409 @@
+<!DOCTYPE html>
+<html>
+<meta charset="UTF-8">
+
+<head>
+ <title>Docker version</title>
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.min.css">
+
+</head>
+
+<body>
+ <div class='ui inverted vertical masthead center aligned segment'>
+
+ <div class="ui text container">
+ <h1 class="ui inverted header">
+ Docker version evolution
+ </h1>
+ </div>
+
+ </div>
+
+ <div class='ui vertical stripe segment'>
+ <div class='ui grid container'>
+ <div class="row">
+ <div class="column">
+ <h1 class="ui header">
+ <i class="warehouse icon"></i>
+
+ </h1>
+ <div class="sub header">
+
+ <!-- <div class="ui olive statistic">
+
+ <div class="value">20%</div>
+ <div class="label">last check</div>
+ </div> -->
+ <!-- <div class="ui olive statistic">
+ <div class="value">
+ <i class=""></i>
+ </div>
+ <div class="label">trend</div>
+ </div> -->
+ <div class="ui tiny grey statistic">
+ <div class="value"></div>
+ <div class="label">ONAP Version</div>
+ </div>
+ <div class="ui tiny grey statistic">
+ <div class="value"></div>
+ <div class="label">Lab owner</div>
+ </div>
+ </div>
+ <div class="ui segment">
+ <div class="ui two column very relaxed grid middle aligned">
+ <div class="column">
+ <div class="ui list">
+ <div class="item">
+ <i class=" green big square full icon"></i>
+ <div style="vertical-align: middle" class="content">
+ New version
+ </div>
+ </div>
+ <div class="item">
+ <i class=" yellow big square full icon"></i>
+ <div style="vertical-align: middle" class="content">
+ No version change since last official release
+ </div>
+ </div>
+ <div class="item">
+ <i class=" blue big square full icon"></i>
+ <div style="vertical-align: middle" class="content">
+ New component
+ </div>
+ </div>
+ <div class="item">
+ <i class=" grey big square full icon"></i>
+ <div style="vertical-align: middle" class="content">
+ No version change since at least two official releases
+ </div>
+ </div>
+ <div class="item">
+ <i class=" black big square outline icon"></i>
+ <div style="vertical-align: middle" class="content">
+ Component deleted
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="center aligned column">
+
+ <div class="row" style="margin-bottom: 15px;">
+ <button id="green" class="ui green button">.</button>
+ <button id="yellow" class="ui yellow button">.</button>
+ <button id="blue" class="ui blue button">.</button>
+ <button id="grey" class="ui grey button">.</button>
+ <button id="black" class="ui black basic button">.</button>
+ <button id="all" class="ui basic button"> all </button>
+ </div>
+ <div class="row">
+ <div class="ui input focus">
+ <input type="text" id="search_input" onkeyup="search()" placeholder="Search...">
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="ui vertical divider">
+ Filter
+ </div>
+ </div>
+ <table id="version_table" class="ui celled table">
+ <thead>
+ <tr>
+ <th>Component</th>
+ <th>Container</th>
+ <th>Image</th>
+ <th>Current version</th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
+ </div>
+ <script>
+
+ /*
+ get ONAPS versions
+ add as many columns as versions
+ fill the table by adding rows
+
+ */
+ let DATA = [{% for data_item in data %}
+ {
+ "component": "{{ data_item.component }}",
+ "container": "{{ data_item.container }}",
+ "image": "{{ data_item.image }}",
+ "current_version": "{{ data_item.current_version }}",
+ "other_version": {{ data_item.other_version | safe }},
+ "status": "{{ data_item.status }}"
+ },
+ {% endfor %}]
+ // [
+ // {
+ // "component": "aaf-cass",
+ // "container": "aaf-cass",
+ // "image": "nexus3.onap.org:10001/onap/aaf/aaf_cass",
+ // "current_version": "2.1.23",
+ // "other_version": { "honolulu": "2.1.18" },
+ // "status" : 1
+ // },
+ // {
+ // "component": "aai",
+ // "container": " aai",
+ // "image": "docker.nexus.azure.onap.eu/aaionap/haproxy",
+ // "current_version": "1.4.2",
+ // "other_version": { "honolulu": "1.4.2" },
+ // "status" : 0
+ // },
+ // {
+ // "component": "cassandra",
+ // "container": "cassandra",
+ // "image": "docker.nexus.azure.onap.eu/cassandra",
+ // "current_version": "1.0",
+ // "other_version": {},
+ // "status" : 2
+ // },
+ // {
+ // "component": "sdnc",
+ // "container": "sdnc",
+ // "image": "",
+ // "current_version": "",
+ // "other_version": { "honolulu": "2.2" },
+ // "status" : 3
+ // },
+ // {
+ // "component": "onap-awx",
+ // "container": "awx-web",
+ // "image": "docker.nexus.azure.onap.eu/ansible/awx_web",
+ // "current_version": "9.0.1",
+ // "other_version": {
+ // "honolulu": "2.2",
+ // "guilin": "8.2.3",
+ // },
+ // "status" : ""
+ // }
+
+ // ]
+
+
+ const TABLE = document.getElementById("version_table");
+
+ function is_empty(object) {
+ return object && Object.keys(object).length === 0 && object.constructor === Object
+ }
+
+ function add_column_to_table(column_title) {
+ //create a th for title
+ let table = document.querySelector(" #version_table>thead>tr");
+ let new_column = document.createElement("th");
+ let new_title = document.createTextNode(column_title);
+
+ table.appendChild(new_column);
+ new_column.appendChild(new_title);
+
+ //create matching td
+ /* let columns = document.getElementsByTagName("th");
+ let last_column = columns[colums.length - 1];*/
+ }
+
+ let COMPONENTS = [];
+ let CONTAINERS = [];
+ let IMAGES = [];
+ let C_VERSIONS = []; //current versions
+ let O_VERSIONS = []; //other versions
+
+ DATA.forEach(element => {
+ //sort data
+ COMPONENTS.push(element.component);
+ CONTAINERS.push(element.container);
+ IMAGES.push(element.image);
+ C_VERSIONS.push(element.current_version);
+ O_VERSIONS.push(element.other_version)
+
+
+ });
+
+ let columns_to_add = [];
+ O_VERSIONS.forEach(element => {
+
+ if (!(is_empty(element))) {
+
+ // if there are other version
+
+ // console.log(Object.keys(element).length)
+
+ for (let i = 0; i < Object.keys(element).length; i++) {
+
+ columns_to_add.push(Object.keys(element)[i])
+
+ }
+
+
+ }
+
+ })
+ versions = [...new Set(columns_to_add)]; // turn the array into a set and thus remove duplicates
+ //console.log(versions)
+
+ //construct table
+ versions.forEach(element => {
+ add_column_to_table(element)
+ })
+
+ const columns = document.getElementsByTagName("th")
+
+
+ DATA.forEach(element => {
+ //create a row for each element
+ let new_row = TABLE.insertRow(-1);
+ new_row.style.color = "white"
+ switch (element.status) {
+ case "0":
+ new_row.style.backgroundColor = "#FBBD08";
+ break;
+ case "1":
+ new_row.style.backgroundColor = "#21BA45";
+ break;
+ case "2":
+ new_row.style.backgroundColor = "#2185D0";
+ break;
+ case "3":
+ new_row.style.backgroundColor = "grey";
+ break;
+ case "4":
+ new_row.style.color = "black"
+ break;
+ }
+ for (let i = 0; i <= columns.length - 1; i++) {
+
+ // for each row create 4 base cells
+ let cell = new_row.insertCell(-1);
+
+ cell.setAttribute("class", "cell" + i);
+ if (cell.className == "cell0") {
+ let fill = document.createTextNode(element.component)
+ cell.append(fill)
+ } else if (cell.className == "cell1") {
+ let fill = document.createTextNode(element.container)
+ cell.append(fill)
+ } else if (cell.className == "cell2") {
+ let fill = document.createTextNode(element.image)
+ cell.append(fill)
+ } else if (cell.className == "cell" + 3) {
+ let fill = document.createTextNode(element.current_version)
+ cell.append(fill)
+ }
+
+ // add as many cells as versions after the base cells
+ for (let j = 3 + versions.length; j > 3; j--) {
+ let version_item = j - (columns.length - versions.length)
+ if (cell.className == "cell" + j) {
+
+ console.log(version_item)
+ let txt = element.other_version[versions[version_item]];
+ let fill = document.createTextNode(txt)
+ cell.append(fill)
+ version_item++;
+ }
+
+
+ }
+
+ }
+
+ })
+ function filter(color) {
+ console.log(color + ": cliqué")
+ let table = document.getElementById("version_table");
+ let tr = table.getElementsByTagName("tr");
+ for (let i = 1; i < tr.length; i++) {
+ tr[i].style.display = "none";
+ switch (color) {
+ case "green":
+ if (tr[i].style.backgroundColor == "rgb(33, 186, 69)") {
+ tr[i].style.display = "";
+ }
+ break;
+
+ case "yellow":
+
+ if (tr[i].style.backgroundColor == "rgb(251, 189, 8)") {
+ tr[i].style.display = "";
+ }
+ break;
+
+ case "blue":
+
+ if (tr[i].style.backgroundColor == "rgb(33, 133, 208)") {
+ tr[i].style.display = "";
+ }
+ break;
+
+ case "grey":
+
+ if (tr[i].style.backgroundColor == "grey") {
+ tr[i].style.display = "";
+ }
+ break;
+
+ case "black":
+
+ if (tr[i].style.backgroundColor == "") {
+ tr[i].style.display = "";
+ }
+ break;
+
+ case "all":
+ tr[i].style.display = "";
+
+ break;
+ }
+
+ }
+ }
+ let green_button = document.getElementById("green")
+ let yellow_button = document.getElementById("yellow")
+ let blue_button = document.getElementById("blue")
+ let grey_button = document.getElementById("grey")
+ let black_button = document.getElementById("black")
+ let all_button = document.getElementById("all")
+
+
+
+ green_button.addEventListener("click", function () { filter("green") })
+ yellow_button.addEventListener("click", function () { filter("yellow") })
+ blue_button.addEventListener("click", function () { filter("blue") })
+ grey_button.addEventListener("click", function () { filter("grey") })
+ black_button.addEventListener("click", function () { filter("black") })
+ all_button.addEventListener("click", function () { filter("all") })
+
+ function search() {
+
+ var input, filter, table, tr, td, i, txtValue;
+ input = document.getElementById("search_input");
+ filter = input.value.toUpperCase();
+ table = document.getElementById("version_table");
+ tr = table.getElementsByTagName("tr");
+
+ // Loop through all table rows, and hide those who don't match the search query
+ for (i = 0; i < tr.length; i++) {
+ td = tr[i].getElementsByTagName("td")[0];
+ if (td) {
+ txtValue = td.textContent || td.innerText;
+ if (txtValue.toUpperCase().indexOf(filter) > -1) {
+ tr[i].style.display = "";
+ } else {
+ tr[i].style.display = "none";
+ }
+ }
+ }
+ }
+
+ </script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/doc/template/index-gating-tmpl.html b/doc/template/index-gating-tmpl.html
new file mode 100644
index 0000000..0b0f650
--- /dev/null
+++ b/doc/template/index-gating-tmpl.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="UTF-8">
+ <head>
+ <title>Xtesting ONAP Results</title>
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/header.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/icon.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/card.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/container.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/step.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/statistic.min.css">
+ <script
+ src="https://code.jquery.com/jquery-3.1.1.min.js"
+ integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
+ crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.js"></script>
+ <script>$(function(){
+ $('.ui.accordion').accordion();});
+ </script>
+ </head>
+
+ <body>
+ <div class='ui inverted vertical masthead center aligned segment'>
+
+ <div class="ui text container">
+ <i class="large gitlab icon"></i>
+ <h1 class="ui inverted header">
+ OOM Gating: list of patchset
+ </h1>
+ <div class="meta">{{ date }}</div>
+ </div>
+ </div>
+
+ <div class="ui equal width center aligned padded grid">
+ <div class="row">
+ <div class="white column"></div>
+ </div>
+ </div>
+
+ <div class='ui vertical stripe segment'>
+ <div class='ui middle aligned stackable grid container'>
+ <div class="row">
+ <div class="column">
+ <h1 class="ui header">
+ <div class="sub header">
+
+ <div class="ui list center aligned segment">
+ {% for patch in patchsets -%}
+ <div class="item center aligned segment">
+ <div class="content">
+ <a class="link"><a href={{ patch }}/index.html><h2>{{ patch }}</h2></a></a>
+ </div>
+ </div>
+ {%- endfor %}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/template/index-infra.html b/doc/template/index-infra.html
new file mode 100644
index 0000000..a613ac9
--- /dev/null
+++ b/doc/template/index-infra.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="UTF-8">
+ <head>
+ <title>Xtesting ONAP Results</title>
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/header.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/icon.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/card.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/container.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/step.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/statistic.min.css">
+ <script
+ src="https://code.jquery.com/jquery-3.1.1.min.js"
+ integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
+ crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.js"></script>
+ <script>$(function(){
+ $('.ui.accordion').accordion();});
+ </script>
+ </head>
+
+<body>
+ <div class='ui inverted vertical masthead center aligned segment'>
+
+ <div class="ui text container">
+ <h1 class="ui inverted header">
+ ONAP Xtesting Results
+ </h1>
+ </div>
+ </div>
+ <center>
+ <div class="ui main text container">
+ <h2 class="ui icon header">
+ <i class="gitlab icon"></i>
+ <div class="content">
+ <a tabindex="0" class="big ui orange basic button" href="./onap_xtesting_openlab/index.html">Openlab</a>
+ <a tabindex="0" class="big ui blue basic button" href="./onap_master_daily_pod4/index.html">Daily Master</a>
+ <a tabindex="0" class="big ui green basic button" href="./onap_casablanca_daily_pod4/index.html">Daily Casablanca</a>
+ </div>
+ </h2>
+ </div>
+ </center>
+</body>
+
+</html>
diff --git a/doc/template/index-stability-tmpl.html b/doc/template/index-stability-tmpl.html
new file mode 100644
index 0000000..073ff26
--- /dev/null
+++ b/doc/template/index-stability-tmpl.html
@@ -0,0 +1,391 @@
+<!DOCTYPE html>
+<html>
+<meta charset="UTF-8">
+
+<head>
+ <title>Xtesting ONAP Results</title>
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.2.13/semantic.min.css">
+ <style>
+ canvas{
+ margin-bottom: 30px;
+ }
+ </style>
+</head>
+
+<body>
+ <div class='ui inverted vertical masthead center aligned segment'>
+
+ <div class="ui text container">
+ <h1 class="ui inverted header">
+ Stability testing results evolution
+ </h1>
+ </div>
+
+ </div>
+
+ <div class='ui vertical stripe segment'>
+ <div class='ui grid container'>
+ <div class="row">
+ <div class="column">
+ <h1 class="ui header">
+ <i class="warehouse icon"></i>
+
+ </h1>
+ <div class="sub header">
+
+ <!-- <div class="ui olive statistic">
+
+ <div class="value">20%</div>
+ <div class="label">last check</div>
+ </div> -->
+ <!-- <div class="ui olive statistic">
+ <div class="value">
+ <i class="{{ trend }}"></i>
+ </div>
+ <div class="label">trend</div>
+ </div> -->
+ <div class="ui tiny grey statistic">
+ <div class="value">{{ lab_version }}</div>
+ <div class="label">ONAP Version</div>
+ </div>
+ <div class="ui tiny grey statistic">
+ <div class="value">{{ lab_owner }}</div>
+ <div class="label">Lab owner</div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+ <div class="ui vertical segment">
+ <div class="ui middle aligned stackable grid container">
+ <div class="row">
+ <div class="eight wide column">
+ <h3 class="ui header center aligned">Infra test results</h3>
+ <div class=" column" style=" height:300px">
+ <canvas id="canvas_infra"></canvas>
+ </div>
+ </div>
+ <div class="eight wide column">
+ <h3 class="ui header center aligned">Healthcheck test results</h3>
+ <div class=" column" style=" height:300px">
+ <canvas id="canvas_healthcheck"></canvas>
+ </div>
+ </div>
+ <div class="eight wide column">
+ <h3 class="ui header center aligned">Smoke test results</h3>
+ <div class=" column" style=" height:300px">
+ <canvas id="canvas_smoke"></canvas>
+ </div>
+ </div>
+ <div class="eight wide column">
+ <h3 class="ui header center aligned">Security test results</h3>
+ <div class=" column" style=" height:300px">
+ <canvas id="canvas_security"></canvas>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.3.2/chart.min.js"></script>
+ <script>
+
+ let DATA = {{ data |safe }}
+ let TEST_NAMES= ["infrastructure-healthcheck", "healthcheck","smoke-usecases", "security"]
+
+ function get_dates(data) {
+ let dates = []
+ for (const date of data){
+ dates.push(date["date"])
+ }
+ // data.forEach(element => {
+ // dates.push(element.date)
+ // });
+ return dates
+ }
+
+ function get_tests_results(data,test_name){
+ let results = []
+
+ for (const item of data){
+ console.log(item[test_name])
+ results.push(item[test_name])
+
+ }
+
+ return results
+ }
+
+ function trendlineEq(X, Y) {
+ // X : all x coordinates
+ // Y: all y coordinate
+ var x_sum = 0
+ var y_sum = 0
+
+ var N = 0;
+ var A = 0;
+ var B = 0;
+ var C = 0;
+ var D = 0;
+ var E = 0;
+ var F = 0;
+ var m = 0;
+ var b = 0;
+
+ if (X.length == Y.length) {
+
+ var N = X.length
+ console.log("N : " + N)
+
+ } else {
+
+ return console.log(" X and Y must be of the same size")
+ }
+
+ for (let i = 0; i <= N - 1; i++) {
+
+ A = A + (X[i] * Y[i])
+
+
+
+ x_sum = x_sum + X[i]
+ y_sum = y_sum + Y[i]
+
+ C = C + Math.pow(X[i], 2)
+
+ }
+ A = N * A;
+ console.log("A : " + A)
+
+ B = x_sum * y_sum
+ console.log("B : " + B)
+
+ C = N * C
+ console.log("C : " + C)
+
+ D = Math.pow(x_sum, 2)
+ console.log("D : " + D)
+
+ m = (A - B) / (C - D)
+ console.log("m : " + m)
+
+ E = y_sum
+ console.log("E : " + E)
+
+ F = m * x_sum
+ console.log("F : " + F)
+
+ b = (E - F) / N
+ console.log("b : " + b)
+
+ return [m, b]
+ }
+
+ function get_trend_line_data(X, params) {
+ let trend_line_data = []
+ for (let i = 0; i <= X.length - 1; i++) {
+ let y_param = (params[0] * X[i]) + params[1]
+ let coordinates = {
+ x: X[i],
+ y: y_param
+ }
+ trend_line_data.push(coordinates)
+ }
+ return trend_line_data
+ }
+
+ var x_coord = 0
+ var X_COORDS = []
+
+ DATA.forEach(element => {
+ X_COORDS.push(x_coord);
+ x_coord++
+
+ });
+
+ function generate_target_array(data, target) {
+ let target_array = []
+ for (const item of data){
+ target_array.push(target)
+ }
+ // data.forEach(element => {
+ // target_array.push(target)
+ // });
+ return target_array
+ }
+
+ const results_infra = get_tests_results(DATA,TEST_NAMES[0])
+ const results_healthcheck = get_tests_results(DATA,TEST_NAMES[1])
+ const results_smoke = get_tests_results(DATA,TEST_NAMES[2])
+ const results_security = get_tests_results(DATA,TEST_NAMES[3])
+
+ const target_infra = generate_target_array(DATA, 75)
+ const target_healthcheck = generate_target_array(DATA, 100)
+ const target_smoke = generate_target_array(DATA, 100)
+ const target_security = generate_target_array(DATA, 100)
+
+ const params_infra = trendlineEq(X_COORDS, results_infra)
+ const params_healthcheck = trendlineEq(X_COORDS, results_healthcheck)
+ const params_smoke = trendlineEq(X_COORDS, results_smoke)
+ const params_security = trendlineEq(X_COORDS, results_security)
+
+ const trend_line_infra = get_trend_line_data(X_COORDS, params_infra)
+ const trend_line_healthcheck = get_trend_line_data(X_COORDS, params_healthcheck)
+ const trend_line_smoke = get_trend_line_data(X_COORDS, params_smoke)
+ const trend_line_security = get_trend_line_data(X_COORDS, params_security)
+
+ const labels = get_dates(DATA)
+
+ const data_infra = {
+ labels: labels,
+ datasets: [{
+ label: 'Infra results',
+ borderColor: 'rgb(255, 99, 132)',
+ data: results_infra
+ }, {
+ type: 'line',
+ label: 'Target',
+ borderColor: 'rgb(99, 255, 132)',
+ data: target_infra,
+ }, {
+ type: 'line',
+ label: 'trend',
+ borderColor: 'rgb(66, 191, 245)',
+ data: trend_line_infra,
+ }
+ ]
+
+ };
+
+ const data_healthcheck = {
+ labels: labels,
+ datasets: [{
+ label: 'healthcheck results',
+ borderColor: 'rgb(255, 99, 132)',
+ data: results_healthcheck
+ }, {
+ type: 'line',
+ label: 'Target',
+ borderColor: 'rgb(99, 255, 132)',
+ data: target_healthcheck,
+ },{
+ type: 'line',
+ label: 'trend',
+ borderColor: 'rgb(66, 191, 245)',
+ data: trend_line_healthcheck,
+ }
+ ]
+ };
+
+ const data_smoke = {
+ labels: labels,
+ datasets: [{
+ label: 'smoke results',
+ borderColor: 'rgb(255, 99, 132)',
+ data: results_smoke
+ }, {
+ type: 'line',
+ label: 'Target',
+ borderColor: 'rgb(99, 255, 132)',
+ data: target_smoke,
+ },{
+ type: 'line',
+ label: 'trend',
+ borderColor: 'rgb(66, 191, 245)',
+ data: trend_line_smoke,
+ }
+ ]
+ };
+
+ const data_security = {
+ labels: labels,
+ datasets: [{
+ label: 'security results',
+ borderColor: 'rgb(255, 99, 132)',
+ data: results_security
+ }, {
+ type: 'line',
+ label: 'Target',
+ borderColor: 'rgb(99, 255, 132)',
+ data: target_security,
+ },{
+ type: 'line',
+ label: 'trend',
+ borderColor: 'rgb(66, 191, 245)',
+ data: trend_line_security,
+ }
+ ]
+ };
+
+ var options = {
+ responsive: true,
+ maintainAspectRatio: false,
+ scales: {
+ y: {
+ title: {
+ display: true,
+ text: 'Value'
+ },
+ min: 0,
+ max: 100,
+ ticks: {
+ stepSize: 10
+ }
+ }
+ }
+ }
+
+ const config_infra = {
+ type: 'line',
+ data: data_infra,
+ options: options,
+ };
+ const config_healthcheck = {
+ type: 'line',
+ data: data_healthcheck,
+ options: options
+ };
+ const config_smoke = {
+ type: 'line',
+ data: data_smoke,
+ options: options
+ };
+ const config_security = {
+ type: 'line',
+ data: data_security,
+ options: options
+ };
+
+ //charts rendering
+
+
+ var chart_infra = new Chart(
+ document.getElementById('canvas_infra'),
+ config_infra
+ );
+
+
+ var chart_healthcheck = new Chart(
+ document.getElementById('canvas_healthcheck'),
+ config_healthcheck
+ );
+
+ var chart_smoke = new Chart(
+ document.getElementById('canvas_smoke'),
+ config_smoke
+ );
+
+ var chart_security = new Chart(
+ document.getElementById('canvas_security'),
+ config_security
+ );
+
+</script>
+</body>
+
+</html>
diff --git a/doc/template/index-tmpl.html b/doc/template/index-tmpl.html
new file mode 100644
index 0000000..b8918c7
--- /dev/null
+++ b/doc/template/index-tmpl.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="UTF-8">
+ <head>
+ <title>Xtesting ONAP Results</title>
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/header.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/icon.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/card.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/container.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/step.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/statistic.min.css">
+ <script
+ src="https://code.jquery.com/jquery-3.1.1.min.js"
+ integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
+ crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.js"></script>
+ <script>$(function(){
+ $('.ui.accordion').accordion();});
+ </script>
+ </head>
+
+ <body>
+
+ <div class='ui vertical stripe segment'>
+ <div class='ui middle aligned stackable grid container'>
+ <div class="row">
+ <div class="column">
+ <h1 class="ui header">
+ <i class="warehouse icon"></i>
+ <div class="content">ONAP Xtesting results</div>
+ <div class="sub header">
+ {% if score > 99 -%}
+ <div class="ui olive statistic">
+ {%- elif score > 75 -%}
+ <div class="ui orange statistic">
+ {%- else -%}
+ <div class="ui red statistic">
+ {%- endif %}
+ <div class="value">{{ score }}%</div>
+ <div class="label">last check</div>
+ </div>
+ <div class="ui olive statistic">
+ <div class="value">
+ <i class="{{ trend }}"></i>
+ </div>
+ <div class="label">trend</div>
+ </div>
+ <div class="ui tiny grey statistic">
+ <div class="value">{{ lab_version }}</div>
+ <div class="label">ONAP Version</div>
+ </div>
+ <div class="ui tiny grey statistic">
+ <div class="value">{{ lab_owner }}</div>
+ <div class="label">Lab owner</div>
+ </div>
+
+ {% if "daily" in pod -%}
+ <div class="ui tiny grey statistic">
+ <a href="./index-versions.html" target="_blank">
+ <i class="tasks icon"></i>
+ <div class="label">Docker Versions</div>
+ </a>
+ </div>
+ <div class="ui tiny grey statistic">
+ <a href="./index-stability.html" target="_blank">
+ <i class="chart line icon"></i>
+ <div class="label">Stability charts</div>
+ </a>
+ </div>
+ </div>
+ </div>
+
+ {%- endif %}
+
+ </div>
+ </div>
+ </h1>
+ <div class="ui cards">
+ {% for tier in tiers -%}
+ <div class="ui card">
+ <div class="content">
+ <div class="header">{{ tier.name }}</div>
+ <div class="meta">{{ date }}</div>
+ <div class="center aligned description">
+ {% if tier.score > 99 -%}
+ <div class="ui green statistic">
+ {%- elif tier.score > 75 -%}
+ <div class="ui orange statistic">
+ {%- else -%}
+ <div class="ui red statistic">
+ {%- endif %}
+ <div class="value">{{ tier.score }}%</div>
+ <div class="label">last check</div>
+ </div>
+ <div class="ui fluid accordion">
+ <div class="title">
+ <div class="dropdown icon"></div>
+ Full results
+ </div>
+ <div class="content">
+ <div class="ui mini vertical steps">
+ {% for result in tier.results -%}
+ <div class="step">
+ {% if 'PASS' == result.result -%}
+ <i class="inverted green check icon"></i>
+ {%- else -%}
+ <i class="inverted red x icon"></i>
+ {%- endif %}
+ <div class="content">
+ {% if result.url != '' -%}
+ <div class="center aligned header"><a href="{{result.url}}">{{result.name}}</a></div>
+ {%- else -%}
+ <div class="center aligned header">{{result.name}}</div>
+ {%- endif %}
+ </div>
+ </div>
+ {%- endfor %}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ {%- endfor %}
+ {% if "weekly" in pod -%}
+ <div class="ui card">
+ <div class="content">
+ <div class="header">stability</div>
+ <div class="meta">Note: results may be uploaded after several days, be patient..</div>
+ <div class="step">
+ <br>
+ <div class="ui fluid accordion">
+ <div class="title">
+ <div class="dropdown icon"></div>
+ Stability results
+ </div>
+ <div class="content">
+ <div class="ui mini vertical steps">
+ <div class="step">
+ <div class="center aligned header"><a href="./stability/results_instantiation_10_24h//onaptests_bench.html">10 // basic_vm - 24h</a></div>
+ </div>
+ <div class="step">
+ <div class="center aligned header"><a href="./stability/results_sdc_5_24h/onaptests_bench.html">5 // basic_onboard - 24h</a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="ui card">
+ <div class="content">
+ <div class="header">resiliency</div>
+ <div class="meta">Note: results may be uploaded after several days, be patient..</div>
+ <div class="step">
+ <br>
+ <div class="ui fluid accordion">
+ <div class="title">
+ <div class="dropdown icon"></div>
+ Resiliency results
+ </div>
+ <div class="content">
+ <div class="ui mini vertical steps">
+ <div class="step">
+ <div class="center aligned header"><a href="./resiliency/reporting_chaos.html">Resiliency page</a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="ui card">
+ <div class="content">
+ <div class="header">info only</div>
+ <div class="meta">Note: results may be uploaded a day after the page is created, be patient..</div>
+ <div class="step">
+ <br>
+ <div class="ui fluid accordion">
+ <div class="title">
+ <div class="dropdown icon"></div>
+ Results
+ </div>
+ <div class="content">
+ <div class="ui mini vertical steps">
+ <div class="step">
+ <div class="center aligned header"><a href="./legal/tern/index.html">tern - Docker SBoMs</a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ {%- endif %}
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </body>
+</html>
diff --git a/doc/template/k8s.html b/doc/template/k8s.html
new file mode 100644
index 0000000..130553f
--- /dev/null
+++ b/doc/template/k8s.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html>
+ <meta charset="UTF-8">
+ <head>
+ <title>Xtesting ONAP Results</title>
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/header.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/icon.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/card.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/container.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/step.min.css">
+ <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/statistic.min.css">
+ <script
+ src="https://code.jquery.com/jquery-3.1.1.min.js"
+ integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
+ crossorigin="anonymous"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/components/accordion.min.js"></script>
+ <script>$(function(){
+ $('.ui.accordion').accordion();});
+ </script>
+ </head>
+
+<body>
+ <div class='ui inverted vertical masthead center aligned segment'>
+ <div class="ui text container">
+ <h1 class="ui inverted header">
+ Xtesting ONAP Results for Kubernetes Deployment
+ </h1>
+ </div>
+ </div>
+
+ <div class='ui vertical stripe segment'>
+ <div class='ui middle aligned stackable grid container'>
+ <div class="row">
+ <div class="column">
+ <h2 class="ui header">
+ Summary
+ </h2>
+ <div class="ui statistics">
+ <div class="statistic">
+ <div class="value">
+ 38M
+ </div>
+ <div class="label">
+ Duration
+ </div>
+ </div>
+ <div class="statistic">
+ <div class="value">
+ 108
+ </div>
+ <div class="label">
+ Total Pods Scheduled
+ </div>
+ </div>
+ <div class="statistic">
+ <div class="value">
+ 3
+ </div>
+ <div class="label">
+ Pods Failing
+ </div>
+ </div>
+ </div>
+
+ <h2 class="ui header">
+ Failing pods
+ </h2>
+ <div class="ui list">
+
+ <div class="item">
+ <i class="large inverted middle aligned red x icon"></i>
+ <div class="content">
+ <div class="header">Pod Name</div>
+ <div class="description">Fail Reason</div>
+ </div>
+ </div>
+ <div class="item">
+ <i class="large inverted middle aligned red x icon"></i>
+ <div class="content">
+ <div class="header">Pod Name</div>
+ <div class="description">Fail Reason</div>
+ </div>
+ </div>
+ <div class="item">
+ <i class="large inverted middle aligned red x icon"></i>
+ <div class="content">
+ <div class="header">Pod Name</div>
+ <div class="description">Fail Reason</div>
+ </div>
+ </div>
+ </div>
+ <h2 class="ui header">
+ full logs
+ </h2>
+ <a href="">Access to entire logs</a>
+ </div>
+ </div>
+ </div>
+ </div>
+</body>
+
+</html>