{% extends 'bridge/base.html' %} {% comment "License" %} % Copyright (c) 2019 ISP RAS (http://www.ispras.ru) % Ivannikov Institute for System Programming of the Russian Academy of Sciences % % Licensed under the Apache License, Version 2.0 (the "License"); % you may not use this file except in compliance with the License. % You may obtain a copy of the License at % % http://www.apache.org/licenses/LICENSE-2.0 % % Unless required by applicable law or agreed to in writing, software % distributed under the License is distributed on an "AS IS" BASIS, % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. % See the License for the specific language governing permissions and % limitations under the License. {% endcomment %} {% load i18n %} {% load static %} {% load compress %} {% block title %}{% trans 'Schedulers' %}{% endblock %} {% block head_block %} {% compress js file service %} {% endcompress %} {% compress css file service %} {% endcompress %} {% endblock %} {% block body_block %}
{% for sch in schedulers %} {% endfor %}

{% trans 'Scheduler' %}

{% trans 'Status' %}

{{ sch.get_type_display }}

{% if sch.status == 'HEALTHY' %}

{% trans 'Healthy' %}

{% elif sch.status == 'AILING' %}

{% trans 'Ailing' %}

{% elif sch.status == 'DISCONNECTED' %}

{% trans 'Disconnected' %}

{% endif %}
{% for sch in schedulers %} {% endfor %}

{% trans 'Configurations and statistics of Klever scheduler nodes' %}

{% for conf in data.configs %} {% endfor %}
{% trans 'Node configurations' %} {% trans 'Number of CPU cores' %}* {% trans 'Memory size' %}** {% trans 'Disk memory size' %}** {% trans 'Number of solving jobs' %} {% trans 'Number of solving tasks' %}

{{ conf.cnt }}

{{ conf.cpu_number.0 }}/{{ conf.cpu_number.1 }} {{ conf.ram_memory.0 }}/{{ conf.ram_memory.1 }} {{ conf.disk_memory.0 }}/{{ conf.disk_memory.1 }} {{ conf.jobs }} {{ conf.tasks }}

{% trans 'Total' %}

{{ data.totals.cpu_number.0 }}/{{ data.totals.cpu_number.1 }} {{ data.totals.ram_memory.0 }}/{{ data.totals.ram_memory.1 }} {{ data.totals.disk_memory.0 }}/{{ data.totals.disk_memory.1 }} {{ data.totals.jobs }} {{ data.totals.tasks }}
{% for conf in data.configs %} {% endfor %}
{% if nodes|length > 0 %}

{% trans 'Klever scheduler nodes' %}

{% for node in nodes %} {% endfor %}
{% trans 'Hostname' %} {% trans 'Status' %} {% trans 'CPU model' %} {% trans 'Number of CPU cores' %}* {% trans 'Memory size' %}** {% trans 'Disk memory size' %}** {% trans 'Number of solving tasks' %} {% trans 'Number of solving jobs' %} {% trans 'Available for solving tasks' %} {% trans 'Available for solving jobs' %}
{{ node.hostname }} {{ node.get_status_display }} {{ node.config.cpu_model }} {% if node.workload %}{{ node.workload.reserved_cpu_number }}{% else %}-{% endif %}/{{ node.config.cpu_number }} {% if node.workload %}{{ node.workload.reserved_ram_memory }}{% else %}-{% endif %}/{{ node.config.ram_memory }} {% if node.workload %}{{ node.workload.reserved_disk_memory }}{% else %}-{% endif %}/{{ node.config.disk_memory }} {% if node.workload %}{{ node.workload.running_verification_tasks }}{% else %}-{% endif %} {% if node.workload %}{{ node.workload.running_verification_jobs }}{% else %}-{% endif %} {% if node.workload %} {% if node.workload.available_for_tasks %} {% else %} {% endif %} {% else %} - {% endif %} {% if node.workload %} {% if node.workload.available_for_jobs %} {% else %} {% endif %} {% else %} - {% endif %}
{% else %}

{% trans "Klever scheduler doesn't have nodes" %}

{% endif %} *{% trans 'Reserved' %}/{% trans 'Available' %}
**{% trans 'Reserved' %}/{% trans 'Available' %}, {% trans 'GB' %} {% endblock %}