{% extends "resources/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}IP Pool - {{ pool.name }} - Pychestrate Resources{% endblock %} {% block content %} {% set typed = form_data or {} %}
IP pool details and allocations
| ID | {{ pool.id }} |
|---|---|
| Name | {{ pool.name }} |
| CIDR | {{ pool.cidr }} |
| IP Version | {{ pool.ip_version }} |
| Gateway | {{ pool.gateway or '—' }} |
| DNS Servers | {{ pool.dns_servers | join(', ') if pool.dns_servers else '-' }} |
| Reserved Addresses |
{#- Never handed out: the gateway and in-range DNS
servers (reserved automatically), then the
pool's reserved list. #}
{% for address, role in pool.infrastructure_ips.items() %}
{{ address }} ({{ role }}){{ address }} |
| Description | {{ pool.description or '—' }} |
| IP Address | Held by | Job ID | Reason | Check Out Time | Actions |
|---|---|---|---|---|---|
{{ alloc.ip_address }} |
{{ alloc.username or 'Unknown' }}{% if (alloc.user_id | string) == (current_user_id | string) %} (you){% endif %} | {{ alloc.job_id or '—' }} | {{ alloc.reason or '—' }} | {{ alloc.checkout_time | format_datetime('%Y-%m-%d %H:%M', '—') }} | {% if (alloc.user_id | string) == (current_user_id | string) %} {% elif can_manage %} {% endif %} |
No active allocations
{% endif %}{{ ip }}
{% endfor %}
{% if pool.available_count > 10 %}
... and {{ (pool.available_count - 10) | humanize_count }} more
{% endif %}
This pool is at capacity: every usable address is reserved or checked out. Check an address back in{% if can_manage %}, or create another pool{% else %}, or ask a lab manager to add another pool{% endif %}, to make room. A pool's range cannot be changed once it is made.