{% load i18n %} {% load django_bootstrap5 %} {% load bootstrap_icons %} {% load operations %}
{% if instance.status != 5 %}

{% trans "While the VM runs, most settings here apply at its next start." %}

{% endif %}
{% if instance.guest_agent_ready %} {% include 'instances/info_tab.html' %} {% endif %} {% if request.user.is_superuser %}

{% trans "Startup settings" %}

{% csrf_token %}

{% trans "Start this VM when the host starts." %}

{% csrf_token %}

{% trans "Show a device chooser when the VM starts." %}

{% trans "Boot order" %}

{% trans "Checked devices boot from top to bottom. Up and Down move all checked devices." %}

{% if instance.config_boot_order and not instance.config_boot_devices.0.checked %}

{% trans "The VM now boots by device type:" %} {% for b in instance.config_boot_order.values %}{{ b.target }}{% if not forloop.last %}, {% endif %}{% endfor %}. {% trans "Checking devices replaces this order." %}

{% endif %}
{% csrf_token %}
{% for device in instance.config_boot_devices %} {% endfor %}
{# its CD-ROM drives, then its disks as cards; the forms are those of the actions #} {% if instance.status != 5 %}

{% bs_icon 'lock' %} {% trans "The VM is running: CD-ROM drives added now use the SCSI bus. Shut it down to detach other CD-ROM drives, or to detach or delete disks." %}

{% endif %}

{% trans "Removable media" %}

{% csrf_token %}
{% for cd in instance.media %}
{% csrf_token %}
{% trans "CD-ROM" %} {{ forloop.counter }}
{{ cd.dev }} · {{ cd.bus }} · {% if cd.image %}{{ cd.image }}{% else %}{% trans "No media" %}{% endif %}
{% if not cd.image %} {% endif %}
{% if cd.image %} {% else %}
{% endif %}
{% empty %}

{% trans "The VM has no CD-ROM drive." %}

{% endfor %}

{% trans "Disks" %} · {{ instance.config_disks|length }}

{% include 'add_instance_volume.html' %}
{% for disk in instance.config_disks %}

{% bs_icon 'device-hdd' %} {{ disk.dev }}

{{ disk.bus }} · {{ disk.format }}
{% if disk.storage is None %}
{% trans "Error getting disk info" %}
{% else %}
{% trans "Capacity" %}

{{ disk.size|filesizeformat }}

{% blocktrans with used=disk.used|filesizeformat %}{{ used }} used{% endblocktrans %}

{% trans "Storage pool" %} {{ disk.storage }}
{% trans "Source" %}

{{ disk.path }}

{% endif %}
{% trans "Device details" %}
{% trans "Cache" %}
{{ disk.cache }}
{% trans "IO mode" %}
{{ disk.io }}
{% trans "Discard" %}
{{ disk.discard }}
{% trans "Detect zeroes" %}
{{ disk.detect_zeroes }}
{% trans "Serial" %}
{{ disk.serial|default:"—" }}
{% trans "Read-only" %}
{{ disk.readonly|yesno }}
{% trans "Shareable" %}
{{ disk.shareable|yesno }}
{% endfor %}
{# a card per NIC, the only one across the row; its QoS limits fold out like its device details #}

{% trans "Network devices" %} · {{ instance.config_networks|length }}

{% include 'add_instance_network_block.html' %}
{% for network in instance.config_networks %}

{% bs_icon 'ethernet' %} eth{{ forloop.counter0 }} · {{ network.target|default:_("no target") }}

{% csrf_token %}

{% trans "Source" %} {{ network.nic|default:"—" }}

{% trans "IPv4" %} {{ network.ipv4|join:", "|default:_("unknown") }}

{% trans "Device details" %}
{% trans "Type" %}
{{ network.type }}
{% trans "MAC" %}
{{ network.mac }}
{% trans "Model" %}
{{ network.model|default:"—" }}
{% trans "NWFilter" %}
{{ network.filterref|default:_("None") }}
{% trans "IPv6" %}
{{ network.ipv6|join:", "|default:_("unknown") }}
{% trans "QoS limits" %} · {% if network.inbound and network.outbound %}{% trans "inbound, outbound" %}{% elif network.inbound %}{% trans "inbound" %}{% elif network.outbound %}{% trans "outbound" %}{% else %}{% trans "none" %}{% endif %} {% if network.inbound %}{% include 'instances/nic_qos_form.html' with nic=forloop.counter0 direction="inbound" limit=network.inbound %}{% endif %} {% if network.outbound %}{% include 'instances/nic_qos_form.html' with nic=forloop.counter0 direction="outbound" limit=network.outbound %}{% endif %}

{% trans "Average and peak are in KiB/s, burst in KiB. A running VM gets a change after it is powered off and on." %}

{% if network.type == 'direct' %}

{% bs_icon 'info-circle' %} {% trans "In most configurations, macvtap does not work for host to guest network communication" %}

{% endif %}
{% if network.type != "hostdev" %}
{% csrf_token %}
{% endif %}
{% csrf_token %} {% include 'add_network_qos.html' with id=forloop.counter0 %}
{% empty %}

{% trans "The VM has no network device." %}

{% endfor %}
{% if show_hostdevs %}

{% trans "Devices of the host given to the VM. The VM starts only on a host that has them; it is not migrated while it has them, and its clones get none." %}

{% if request.user.is_superuser %} {# the add forms come when the tab opens: their choices scan every VM of the host #}
{% trans "Reading the host's devices…" %}
{% endif %} {% if usb_hostdevs %}
{% if request.user.is_superuser %}{% endif %} {% for device in usb_hostdevs %} {% if request.user.is_superuser %} {% endif %} {% endfor %}
{% trans "USB device" %} {% trans "Chosen by" %} {% trans "Running VM" %} {% trans "Next start" %}{% trans "Actions" %}
{{ device.name|default:"–" }} {{ device.vendor|slice:"2:" }}:{{ device.product|slice:"2:" }} {% if device.address %}{% blocktrans with bus=device.address.0 device=device.address.1 %}Its address {{ bus }}/{{ device }}{% endblocktrans %}{% else %}{% trans "Its model: any device of it" %}{% endif %} {% if device.now %}{% blocktrans with bus=device.now.0 device=device.now.1 %}Has {{ bus }}/{{ device }}{% endblocktrans %}{% else %}–{% endif %} {% if device.next %}{% trans "Yes" %}{% else %}{% trans "No" %}{% endif %}
{% csrf_token %}
{% endif %} {% if pci_hostdevs %}
{% if request.user.is_superuser %}{% endif %} {% for device in pci_hostdevs %} {% if request.user.is_superuser %} {% endif %} {% endfor %}
{% trans "PCI device" %} {% trans "Running VM" %} {% trans "Next start" %}{% trans "Actions" %}
{{ device.name|default:"–" }} {{ device.address }} {% if device.now %}{% trans "Has it" %}{% else %}–{% endif %} {% if device.next %}{% trans "Yes" %}{% else %}{% trans "No" %}{% endif %}
{% csrf_token %}
{% endif %} {% for device in other_hostdevs %}

{% if device.type == "nic" %}{% trans "Network interface" %}{% else %}{{ device.type|upper }}{% endif %} {{ device.address }} {% if device.now and device.next %}{% trans "running VM and next start" %}{% elif device.now %}{% trans "running VM only" %}{% else %}{% trans "next start only" %}{% endif %}; {% trans "changed in the XML editor" %}

{% endfor %} {% if not usb_hostdevs and not pci_hostdevs and not other_hostdevs %}

{% trans "The VM has no host devices." %}

{% endif %}
{% endif %}

{% trans "For migration both host servers must have equal settings and OS type" %}

{% csrf_token %}{% submission_key %}
{% if computes_count != 1 %} {% else %} {% endif %}
{% if instance.status != 5 %}

{% trans "This is the definition for the VM's next start; a saved change applies then." %}

{% endif %}
{% csrf_token %}
{% trans "Instance owners" %} {% include 'add_instance_owner_block.html' %}
{% for userinstance in userinstances %} {% endfor %}
{{ userinstance.user }} {% bs_icon 'trash' %}
{% endif %} {% if can_manage_console %}
{% csrf_token %} {% if instance.status != 5 %}
{% trans "To change console settings, shutdown the instance." %}
{% endif %} {% bootstrap_form console_form layout='horizontal' %}
{% if instance.status != 5 %} {% else %} {% endif %}
{% endif %} {% if can_clone %}

{% trans "Create a clone" %}

{% if usb_hostdevs or pci_hostdevs or other_hostdevs %}

{% trans "The clone gets none of the VM's host devices: one VM holds a device of the host." %}

{% endif %}
{% csrf_token %}{% submission_key %}
{% if request.user.is_superuser %}
{% elif app_settings.CLONE_INSTANCE_AUTO_NAME == 'True'%}
{% else %}
{% endif %}
{% if request.user.is_superuser %} {% for network in instance.config_networks %}
{% endfor %} {% else %} {% for network in instance.config_networks %} {% endfor %} {% endif %} {% if request.user.is_superuser %} {% for disk in instance.config_disks %}
{% if disk.format == 'qcow2' %} {% trans 'Metadata' %}
{% endif %}
{% endfor %} {% else %} {% for disk in instance.disks %} {% endfor %} {% endif %}
{% if instance.status == 1 or instance.status == 3 or instance.status == 5 %} {% else %} {% endif %}
{% endif %} {% if can_change %}

{% trans "To set instance template name description, shutdown the instance." %}

{% csrf_token %}
{% if instance.status == 5 %} {% else %} {% endif %}
{% if request.user.is_superuser %}

{% trans "To set instance video model, shutdown the instance." %}

{% csrf_token %}
{% if instance.status == 5 %} {% else %} {% endif %}

{% trans "To set instance vCPUs hotpluggable" %}

{% csrf_token %}
{% if instance.status == 5 %} {% else %} {% endif %}

{% trans "To Enable/Disable Qemu Guest Agent. Status" %}: {% if instance.status == 1 %} {% if instance.guest_agent_ready %} {% else %} {% endif %}

{% else %} {% endif %}
{% csrf_token %}
{% endif %}
{% endif %}