From 14c7c32e293fffb92b6aab7a81c446eaeb087cde Mon Sep 17 00:00:00 2001 From: "pawel.denst" Date: Thu, 4 May 2023 09:03:17 +0000 Subject: Migration of the healthchecks to gerrit Changes to set default directory for results if None Issue-ID: INT-2226 Signed-off-by: pawel.denst Change-Id: I5337a55f3271ebb5e58298e1fb1aa3b665713909 --- src/onaptests/templates/status/base.html.j2 | 261 ++++++++++++++ .../templates/status/container_log.html.j2 | 104 ++++++ .../templates/status/container_versions.html.j2 | 38 +++ src/onaptests/templates/status/daemonset.html.j2 | 15 + src/onaptests/templates/status/deployment.html.j2 | 15 + src/onaptests/templates/status/index.html.j2 | 376 +++++++++++++++++++++ src/onaptests/templates/status/job.html.j2 | 15 + src/onaptests/templates/status/pod.html.j2 | 101 ++++++ src/onaptests/templates/status/raw_output.txt.j2 | 28 ++ src/onaptests/templates/status/replicaset.html.j2 | 15 + src/onaptests/templates/status/service.html.j2 | 45 +++ src/onaptests/templates/status/statefulset.html.j2 | 15 + src/onaptests/templates/status/version.html.j2 | 28 ++ 13 files changed, 1056 insertions(+) create mode 100644 src/onaptests/templates/status/base.html.j2 create mode 100644 src/onaptests/templates/status/container_log.html.j2 create mode 100644 src/onaptests/templates/status/container_versions.html.j2 create mode 100644 src/onaptests/templates/status/daemonset.html.j2 create mode 100644 src/onaptests/templates/status/deployment.html.j2 create mode 100644 src/onaptests/templates/status/index.html.j2 create mode 100644 src/onaptests/templates/status/job.html.j2 create mode 100644 src/onaptests/templates/status/pod.html.j2 create mode 100644 src/onaptests/templates/status/raw_output.txt.j2 create mode 100644 src/onaptests/templates/status/replicaset.html.j2 create mode 100644 src/onaptests/templates/status/service.html.j2 create mode 100644 src/onaptests/templates/status/statefulset.html.j2 create mode 100644 src/onaptests/templates/status/version.html.j2 (limited to 'src/onaptests/templates') diff --git a/src/onaptests/templates/status/base.html.j2 b/src/onaptests/templates/status/base.html.j2 new file mode 100644 index 0000000..41e55de --- /dev/null +++ b/src/onaptests/templates/status/base.html.j2 @@ -0,0 +1,261 @@ +{% macro color(failing, total) %} +{% if failing == 0 %} +is-success +{% else %} +{% if (failing / total) <= 0.1 %} +is-warning +{% else %} +is-danger +{% endif %} +{% endif %} +{% endmacro %} + +{% macro percentage(failing, total) %} +{{ ((total - failing) / total) | round }} +{% endmacro %} + +{% macro statistic(resource_name, failing, total) %} +{% set success = total - failing %} +
+
+

{{ resource_name | capitalize }}

+

{{ success }}/{{ total }}

+ {{ percentage(failing, total) }} +
+
+{% endmacro %} + +{% macro pods_table(pods) %} +
+ + + + + + + + + + + + {% for pod in pods %} + + + {% if pod.init_done %} + + {% else %} + + {% endif %} + + + {% if pod.init_done %} + + {% else %} + + {% endif %} + + {% endfor %} + +
NameReadyStatusReasonRestarts
{{ pod.k8s.metadata.name }}{{ pod.running_containers }}/{{ (pod.containers | length) }}Init:{{ pod.runned_init_containers }}/{{ (pod.init_containers | length) }}{{ pod.k8s.status.phase }}{{ pod.k8s.status.reason }}{{ pod.restart_count }}{{ pod.init_restart_count }}
+
+{% endmacro %} + +{% macro key_value_description_list(title, dict) %} +
{{ title | capitalize }}:
+
+ {% if dict %} + {% for key, value in dict.items() %} + {% if loop.first %} +
+ {% endif %} +
{{ key }}:
+
{{ value }}
+ {% if loop.last %} +
+ {% endif %} + {% endfor %} + {% endif %} +
+{% endmacro %} + +{% macro description(k8s) %} +
+

Description

+
+
+ {% if k8s.spec.type %} +
Type:
+
{{ k8s.spec.type }}
+ {% if (k8s.spec.type | lower) == "clusterip" %} +
Headless:
+
{% if (k8s.spec.cluster_ip | lower) == "none" %}Yes{% else %}No{% endif %}
+ {% endif %} + {% endif %} + {{ key_value_description_list('Labels', k8s.metadata.labels) | indent(width=6) }} + {{ key_value_description_list('Annotations', k8s.metadata.annotations) | indent(width=6) }} + {% if k8s.spec.selector %} + {% if k8s.spec.selector.match_labels %} + {{ key_value_description_list('Selector', k8s.spec.selector.match_labels) | indent(width=6) }} + {% else %} + {{ key_value_description_list('Selector', k8s.spec.selector) | indent(width=6) }} + {% endif %} + {% endif %} + {% if k8s.phase %} +
Status:
+
{{ k8s.phase }}
+ {% endif %} + {% if k8s.metadata.owner_references %} +
Controlled By:
+
{{ k8s.metadata.owner_references[0].kind }}/{{ k8s.metadata.owner_references[0].name }}
+ {% endif %} +
+
+
+{% endmacro %} + +{% macro pods_container(pods, parent, has_title=True) %} +
+ {% if has_title %} +

Pods

+ {% endif %} + {% if (pods | length) > 0 %} + {{ pods_table(pods) | indent(width=2) }} + {% else %} +
{{ parent }} has no pods!
+ {% endif %} +
+{% endmacro %} + +{% macro two_level_breadcrumb(title, name) %} +
+ +
+{% endmacro %} + +{% macro pod_parent_summary(title, name, failed_pods, pods) %} +{{ summary(title, name, [{'title': 'Pod', 'failing': failed_pods, 'total': (pods | length)}]) }} +{% endmacro %} + +{% macro number_ok(number, none_value, total=None) %} +{% if number %} +{% if total and number < total %} +{{ number }} +{% else %} +{{ number }} +{% endif %} +{% else %} +{{ none_value }} +{% endif %} +{% endmacro %} + +{% macro summary(title, name, statistics) %} +
+
+
+

+ {{ title | capitalize }} {{ name }} Summary +

+ +
+
+
+{% endmacro %} + +{% macro events(events) %} +{% if events %} +
+

Events

+
+ + + + + + + + + + + {% for event in events %} + + + + + + + {% endfor %} + +
TypeCountReasonMessage
{{ event.type }}{{ event.count }}{{ event.reason }}{{ event.message }}
+
+
+{% endif %} +{% endmacro %} + + + + + + + Tests results - {% block title %}{% endblock %} + + + {% block more_head %}{% endblock %} + + + + + {% block content %}{% endblock %} + + + + diff --git a/src/onaptests/templates/status/container_log.html.j2 b/src/onaptests/templates/status/container_log.html.j2 new file mode 100644 index 0000000..454dee7 --- /dev/null +++ b/src/onaptests/templates/status/container_log.html.j2 @@ -0,0 +1,104 @@ +{% extends "base.html.j2" %} +{% block title %}Container {{ container.name }} from pod {{ pod_name }} logs{% endblock %} +{% block content %} +
+ +
+
+
+

+ Results +

+

+ By type +

+
+
    +
  • Logs
  • + {% if old_logs %} +
  • Previous Logs
  • + {% endif %} + {% if log_files %} + {% for file in log_files %} +
  • {{ file }}
  • + {% endfor %} + {% endif %} +
+
+
+
+
+ +
+
+          {{ logs }}
+        
+      
+ {% if old_logs %} +
+
+ +
+
+          {{ old_logs }}
+        
+      
+ {% endif %} + {% if log_files %} + {% for file in log_files %} +
+
+ +
+
+          {{ log_files[file] }}
+        
+      
+ {% endfor %} + {% endif %} +
+{% endblock %} + +{% block more_head %} + +{% endblock %} diff --git a/src/onaptests/templates/status/container_versions.html.j2 b/src/onaptests/templates/status/container_versions.html.j2 new file mode 100644 index 0000000..d3d283d --- /dev/null +++ b/src/onaptests/templates/status/container_versions.html.j2 @@ -0,0 +1,38 @@ + +{% extends "base.html.j2" %} +{% block title %}ONAP Docker Versions{% endblock %} + +{% block content %} +
+
+

ONAP Docker versions

+ + + + + + + + + + + {% for container in containers.keys()|sort %} + + + {% for version in containers[container]['versions'].keys()|sort %} + + + {% for component in containers[container]['versions'][version]['components']|sort %} + {% if not loop.first %} + + {% endif %} + + + {% endfor %} + {% endfor %} + {% endfor %} + +
ContainerVersionRepositoriesComponents using it
{{ container }}{{ version }}{% for repository in containers[container]['versions'][version]['repositories'] %}{{ repository }}{% if not loop.last %}, {% endif %}{% endfor %}
{{ component }}
+
+
+{% endblock %} diff --git a/src/onaptests/templates/status/daemonset.html.j2 b/src/onaptests/templates/status/daemonset.html.j2 new file mode 100644 index 0000000..2d76280 --- /dev/null +++ b/src/onaptests/templates/status/daemonset.html.j2 @@ -0,0 +1,15 @@ +{% extends "base.html.j2" %} +{% block title %}DaemonSet {{ daemonset.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('DaemonSet', daemonset.name) | indent(width=4) }} + + {{ pod_parent_summary('DaemonSet', daemonset.name, daemonset.failed_pods, daemonset.pods) }} + +
+ {{ description(daemonset.k8s) | indent(width=6) }} + + {{ pods_container(daemonset.pods, "DaemonSet") | indent(width=6) }} + + {{ events(daemonset.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/deployment.html.j2 b/src/onaptests/templates/status/deployment.html.j2 new file mode 100644 index 0000000..53a0bbb --- /dev/null +++ b/src/onaptests/templates/status/deployment.html.j2 @@ -0,0 +1,15 @@ +{% extends "base.html.j2" %} +{% block title %}Deployment {{ deployment.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('Deployment', deployment.name) | indent(width=4) }} + + {{ pod_parent_summary('Deployment', deployment.name, deployment.failed_pods, deployment.pods) }} + +
+ {{ description(deployment.k8s) | indent(width=6) }} + + {{ pods_container(deployment.pods, "Deployment") | indent(width=6) }} + + {{ events(deployment.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/index.html.j2 b/src/onaptests/templates/status/index.html.j2 new file mode 100644 index 0000000..fe49abf --- /dev/null +++ b/src/onaptests/templates/status/index.html.j2 @@ -0,0 +1,376 @@ +{% extends "base.html.j2" %} +{% block title %}Summary{% endblock %} +{% block content %} +
+
+ +
+
+ + {{ summary('Results', "", [ + { 'title': 'Jobs', 'failing': (ns.failing_jobs | length), 'total': (ns.jobs | length)}, + { 'title': 'Deployments', 'failing': (ns.failing_deployments | length), 'total': (ns.deployments | length)}, + { 'title': 'Replicasets', 'failing': (ns.failing_replicasets | length), 'total': (ns.replicasets | length)}, + { 'title': 'StatefulSets', 'failing': (ns.failing_statefulsets | length), 'total': (ns.statefulsets | length)}, + { 'title': 'DaemonSets', 'failing': (ns.failing_daemonsets | length), 'total': (ns.daemonsets | length)}, + { 'title': 'Persistent Volume Claims', 'failing': (ns.failing_pvcs | length), 'total': (ns.pvcs | length)}]) + }} + +
+
+

+ Results +

+

+ By type +

+
+
    +
  • Pods
  • +
  • Services
  • + {% if (ns.jobs | length) > 0 %} +
  • Jobs
  • + {% endif %} + {% if (ns.deployments | length) > 0 %} +
  • Deployments
  • + {% endif %} + {% if (ns.replicasets | length) > 0 %} +
  • Replicasets
  • + {% endif %} + {% if (ns.statefulsets | length) > 0 %} +
  • StatefulSets
  • + {% endif %} + {% if (ns.daemonsets | length) > 0 %} +
  • DaemonSets
  • + {% endif %} + {% if (ns.pvcs | length) > 0 %} +
  • Persistent Volume Claims
  • + {% endif %} + {% if (ns.configmaps | length) > 0 %} +
  • Config Maps
  • + {% endif %} + {% if (ns.secrets | length) > 0 %} +
  • Secrets
  • + {% endif %} + {% if (ns.ingresses | length) > 0 %} +
  • Ingresses
  • + {% endif %} +
+
+ + + {{ pods_container(ns.pods, "Namespace", has_title=False) | indent(width=6) }} + + +
+ + + + + + + + + + + {% for service in ns.services %} + + + + + + + {% endfor %} + +
NameTypePortsPods selected
{{ service.name }}{{ service.type }} + {% if service.k8s.spec.ports %} + {% for port in service.k8s.spec.ports %} + {{ port.port }}{% if port.node_port %}:{{ port.node_port }}{% endif %}/{{ port.protocol }}{% if not loop.last %},{% endif %} + {% endfor %} + {% else %} + No Ports! + {% endif %} + {% if (service.pods | length) > 0 %}{{ service.pods | length }}{% else %}0{% endif %}
+
+ + {% if (ns.jobs | length) > 0 %} + +
+ + + + + + + + + + {% for job in ns.jobs %} + + + + + + {% endfor %} + +
NameCompletionsDuration
{{ job.name }}{% if job.k8s.status.succeeded %}{{ job.k8s.status.succeeded }}{% else %}0{% endif %}/{{ job.k8s.spec.completions }}{% if job.k8s.status.completion_time %}{{ delta(job.k8s.status.completion_time, job.k8s.status.start_time)[0] }}{% else %}N/A{% endif %}
+
+ {% endif %} + + {% if (ns.deployments | length) > 0 %} + +
+ + + + + + + + + + + {% for deployment in ns.deployments %} + + + + + + + {% endfor %} + +
NameReadyUp to DateAvailable
{{ deployment.name }}{% if deployment.k8s.status.ready_replicas %}{{ deployment.k8s.status.ready_replicas }}{% else %}0{% endif %}/{{ deployment.k8s.spec.replicas }}{{ number_ok(deployment.k8s.status.updated_replicas, '0', total=deployment.k8s.spec.replicas) }}{{ number_ok(deployment.k8s.status.available_replicas, '0', total=deployment.k8s.spec.replicas) }}
+
+ {% endif %} + + {% if (ns.replicasets | length) > 0 %} + +
+ + + + + + + + + + {% for rs in ns.replicasets %} + + + + + + {% endfor %} + +
NameReadyAvailable
{{ rs.name }}{% if rs.k8s.status.ready_replicas %}{{ rs.k8s.status.ready_replicas }}{% else %}0{% endif %}/{{ rs.k8s.spec.replicas }}{{ number_ok(rs.k8s.status.available_replicas, '0', total=rs.k8s.spec.replicas) }}
+
+ {% endif %} + + {% if (ns.statefulsets | length) > 0 %} + +
+ + + + + + + + + + {% for sts in ns.statefulsets %} + + + + + + {% endfor %} + +
NameReadyUp to Date
{{ sts.name }}{% if sts.k8s.status.ready_replicas %}{{ sts.k8s.status.ready_replicas }}{% else %}0{% endif %}/{{ sts.k8s.spec.replicas }}{{ number_ok(sts.k8s.status.updated_replicas, '0', total=sts.k8s.spec.replicas) }}
+
+ {% endif %} + + {% if (ns.daemonsets | length) > 0 %} + +
+ + + + + + + + + + + + + {% for ds in ns.daemonsets %} + + + + + + + + + {% endfor %} + +
NameDesiredCurrentReadyUp to DateAvailable
{{ ds.name }}{{ sts.k8s.status.desired_number_scheduled }}{{ number_ok(sts.k8s.status.current_number_scheduled, '0', total=sts.k8s.spec.desired_number_scheduled) }}{{ number_ok(sts.k8s.status.number_ready, '0', total=sts.k8s.spec.desired_number_scheduled) }}{{ number_ok(sts.k8s.status.updated_number_scheduled, '0', total=sts.k8s.spec.desired_number_scheduled) }}{{ number_ok(sts.k8s.status.number_available, '0', total=sts.k8s.spec.desired_number_scheduled) }}
+
+ {% endif %} + + {% if (ns.pvcs | length) > 0 %} + +
+ + + + + + + + + + + + + {% for pvc in ns.pvcs %} + + + + + + + + + {% endfor %} + +
NameStatusVolumeCapacityAccess ModesStorage Class
{{ pvc.name }}{% if (pvc.k8s.status.phase | lower) == "bound" %}{{ pvc.k8s.status.phase }}{% else %}{{ pvc.k8s.status.phase }}{% endif %}{% if pvc.k8s.spec.volume_name %}{{ pvc.k8s.spec.volume_name }}{% endif %}{% if pvc.k8s.status.capacity %}{{ pvc.k8s.status.capacity.storage }}{% endif %}{% if pvc.k8s.status.access_modes %}{{ pvc.k8s.status.capacity.access_modes | join(', ') }}{% endif %}{% if pvc.k8s.spec.storage_class_name %}{{ pvc.k8s.spec.storage_class_name }}{% endif %}
+
+ {% endif %} + + {% if (ns.configmaps | length) > 0 %} + +
+ + + + + + + + {% for cm in ns.configmaps %} + + + + {% endfor %} + +
Name
{{ cm.name }}
+
+ {% endif %} + + {% if (ns.secrets | length) > 0 %} + +
+ + + + + + + + {% for secret in ns.secrets %} + + + + {% endfor %} + +
Name
{{ secret.name }}
+
+ {% endif %} + + {% if (ns.ingresses | length) > 0 %} +
+ {% endif %} + +
+{% endblock %} + +{% block more_head %} + +{% endblock %} diff --git a/src/onaptests/templates/status/job.html.j2 b/src/onaptests/templates/status/job.html.j2 new file mode 100644 index 0000000..7915ff2 --- /dev/null +++ b/src/onaptests/templates/status/job.html.j2 @@ -0,0 +1,15 @@ +{% extends "base.html.j2" %} +{% block title %}Job {{ job.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('Job', job.name) | indent(width=4) }} + + {{ pod_parent_summary('Job', job.name, job.failed_pods, job.pods) }} + +
+ {{ description(job.k8s) | indent(width=6) }} + + {{ pods_container(job.pods, "Job") | indent(width=6) }} + + {{ events(job.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/pod.html.j2 b/src/onaptests/templates/status/pod.html.j2 new file mode 100644 index 0000000..d922206 --- /dev/null +++ b/src/onaptests/templates/status/pod.html.j2 @@ -0,0 +1,101 @@ +{% macro container_table(title, containers_list) %} +
+

{{ title }}

+
+ + + + + + + + + + + {% for container in containers_list %} + + + + + + + + {% endfor %} + +
NameImageStateReadyRestart Count
{{ container.name }}{{ container.image }}{{ container.status }}{{ container.ready }}{{ container.restart_count }}
+
+
+{% endmacro %} + +{% extends "base.html.j2" %} +{% block title %}Pod {{ pod.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('Pod', pod.name) | indent(width=4) }} + + {{ summary('Pod', pod.name, [ + { + 'title': 'Init containers', + 'failing': ((pod.init_containers | length) - pod.runned_init_containers), + 'total': (pod.init_containers | length) + }, + { + 'title': 'Containers', + 'failing': ((pod.containers | length) - pod.running_containers), + 'total': (pod.containers | length) + }]) + }} + +
+ {{ description(pod.k8s) | indent(width=6) }} + + {% if (pod.init_containers | length) > 0 %} + {{ container_table("Init Containers", pod.init_containers) | indent(width=6) }} + {% endif %} + + + {% if (pod.containers | length) > 0 %} + {{ container_table("Containers", pod.containers) | indent(width=8) }} + {% endif %} + + {% if pod.k8s.spec.volumes %} +
+

Volumes

+
+ + + + + + + + + + {% for volume_name, volume in pod.volumes.items() %} + {% for volume_type, details in volume.items() %} + + + + + + {% endfor %} + {% endfor %} + +
NameTypeProperties
{{ volume_name }}{{ volume_type }} + + + {% for key, value in details.items() %} + + + + + {% endfor %} + +
{{ key }}{{ value }}
+
+
+
+ {% endif %} + + {{ events(pod.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/raw_output.txt.j2 b/src/onaptests/templates/status/raw_output.txt.j2 new file mode 100644 index 0000000..1c52531 --- /dev/null +++ b/src/onaptests/templates/status/raw_output.txt.j2 @@ -0,0 +1,28 @@ +{%- macro statistic(resource_name, failing, total, failing_list) %} +>>> Nb {{ resource_name }}: {{ total }} +>>> Nb Failed {{ resource_name }}: {{ failing }} +{%- if failing > 0 %} +>>> List of Failed {{ resource_name }}: [{{ failing_list | map(attribute='name') | join(", ") }}] +{%- endif %} +{%- endmacro %} +------------------------------------------------ +------- {{ namespace }} kubernetes tests ------------------ +------------------------------------------------ +{%- if (ns.jobs | length) > 0 %} +{{ statistic("Jobs", (ns.failing_jobs | length), (ns.jobs | length), ns.failing_jobs) }} +{%- endif %} +{%- if (ns.deployments | length) > 0 %} +{{ statistic("Deployments", (ns.failing_deployments | length), (ns.deployments | length), ns.failing_deployments) }} +{%- endif %} +{%- if (ns.statefulsets | length) > 0 %} +{{ statistic("StatefulSets", (ns.failing_statefulsets | length), (ns.statefulsets | length), ns.failing_statefulsets) }} +{%- endif %} +{%- if (ns.daemonsets | length) > 0 %} +{{ statistic("DaemonSets", (ns.failing_daemonsets | length), (ns.daemonsets | length), ns.failing_daemonsets) }} +{%- endif %} +{%- if (ns.pvcs | length) > 0 %} +{{ statistic("Persistent Volume Claims", (ns.failing_pvcs | length), (ns.pvcs | length), ns.failing_pvcs) }} +{%- endif %} +------------------------------------------------ +------------------------------------------------ +------------------------------------------------ diff --git a/src/onaptests/templates/status/replicaset.html.j2 b/src/onaptests/templates/status/replicaset.html.j2 new file mode 100644 index 0000000..f26f2fd --- /dev/null +++ b/src/onaptests/templates/status/replicaset.html.j2 @@ -0,0 +1,15 @@ +{% extends "base.html.j2" %} +{% block title %}ReplicaSet {{ replicaset.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('ReplicaSet', replicaset.name) | indent(width=4) }} + + {{ pod_parent_summary('ReplicaSet', replicaset.name, replicaset.failed_pods, replicaset.pods) }} + +
+ {{ description(replicaset.k8s) | indent(width=6) }} + + {{ pods_container(replicaset.pods, "ReplicaSet") | indent(width=6) }} + + {{ events(replicaset.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/service.html.j2 b/src/onaptests/templates/status/service.html.j2 new file mode 100644 index 0000000..31b239a --- /dev/null +++ b/src/onaptests/templates/status/service.html.j2 @@ -0,0 +1,45 @@ +{% extends "base.html.j2" %} +{% block title %}Service {{ service.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('Service', service.name) | indent(width=4) }} + + {{ pod_parent_summary('Service', service.name, service.failed_pods, service.pods) }} + +
+ {{ description(service.k8s) | indent(width=6) }} + + {{ pods_container(service.pods, "Service") | indent(width=6) }} + +
+

Ports

+ {% if service.k8s.spec.ports %} +
+ + + + + + + + + + + + {% for port in service.k8s.spec.ports %} + + + + + + + + {% endfor %} + +
NamePortNode PortTarget PortProtocol
{{ port.name }}{{ port.port }}{{ port.node_port }}{{ port.target_port }}{{ port.protocol }}
+
+ {% else %} +
Service has no ports!
+ {% endif %} +
+
+{% endblock %} diff --git a/src/onaptests/templates/status/statefulset.html.j2 b/src/onaptests/templates/status/statefulset.html.j2 new file mode 100644 index 0000000..1aac8eb --- /dev/null +++ b/src/onaptests/templates/status/statefulset.html.j2 @@ -0,0 +1,15 @@ +{% extends "base.html.j2" %} +{% block title %}StatefulSet {{ statefulset.name }}{% endblock %} +{% block content %} + {{ two_level_breadcrumb('StatefulSet', statefulset.name) | indent(width=4) }} + + {{ pod_parent_summary('StatefulSet', statefulset.name, statefulset.failed_pods, statefulset.pods) }} + +
+ {{ description(statefulset.k8s) | indent(width=6) }} + + {{ pods_container(statefulset.pods, "StatefulSet") | indent(width=6) }} + + {{ events(statefulset.events) }} +
+{% endblock %} diff --git a/src/onaptests/templates/status/version.html.j2 b/src/onaptests/templates/status/version.html.j2 new file mode 100644 index 0000000..40348a4 --- /dev/null +++ b/src/onaptests/templates/status/version.html.j2 @@ -0,0 +1,28 @@ + +{% extends "base.html.j2" %} +{% block title %}ONAP Docker Versions{% endblock %} + +{% block content %} +

ONAP Docker versions

+ + + + + + + + + + + + {% for pod in pod_versions %} + + + + + + + {% endfor %} + +
ComponentContainerImageVersion
{{ pod.component }}{{ pod.container }}{{ pod.image }}{{ pod.version }}
+{% endblock %} -- cgit 1.2.3-korg