Skip to content
Snippets Groups Projects
Commit c7efd3d0 authored by Benjamin Bertrand's avatar Benjamin Bertrand
Browse files

Add broadcast address to network view

JIRA INFRA-1291 #action In Progress
parent a465e910
No related branches found
No related tags found
No related merge requests found
......@@ -868,6 +868,10 @@ class Network(CreatedMixin, db.Model):
def netmask(self):
return self.network_ip.netmask
@property
def broadcast(self):
return self.network_ip.broadcast_address
@property
def first(self):
return ipaddress.ip_address(self.first_ip)
......@@ -961,6 +965,7 @@ class Network(CreatedMixin, db.Model):
"vlan_id": self.vlan_id,
"address": self.address,
"netmask": str(self.netmask),
"broadcast": str(self.broadcast),
"first_ip": self.first_ip,
"last_ip": self.last_ip,
"gateway": self.gateway,
......
......@@ -4,42 +4,44 @@
{% block title %}View Ansible network - CSEntry{% endblock %}
{% block networks_nav %}
<li class="nav-item">
<a class="nav-link active" href="{{ url_for('network.view_network', vlan_name=network.vlan_name) }}">View network</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="{{ url_for('network.view_network', vlan_name=network.vlan_name) }}">View network</a>
</li>
{% endblock %}
{% block networks_main %}
<div class="row">
<div class="col-sm-9">
<dl class="row">
<dt class="col-sm-3">Vlan name</dt>
<dd class="col-sm-9">{{ network.vlan_name }}</dd>
<dt class="col-sm-3">Vlan id</dt>
<dd class="col-sm-9">{{ network.vlan_id }}</dd>
<dt class="col-sm-3">Description</dt>
<dd class="col-sm-9">{{ network.description | safe }}</dd>
<dt class="col-sm-3">Address</dt>
<dd class="col-sm-9">{{ network.address }}</dd>
<dt class="col-sm-3">First IP</dt>
<dd class="col-sm-9">{{ network.first_ip }}</dd>
<dt class="col-sm-3">Last IP</dt>
<dd class="col-sm-9">{{ network.last_ip }}</dd>
<dt class="col-sm-3">Gateway</dt>
<dd class="col-sm-9">{{ network.gateway }}</dd>
<dt class="col-sm-3">Network Scope</dt>
<dd class="col-sm-9">{{ network.scope }}</dd>
<dt class="col-sm-3">Domain</dt>
<dd class="col-sm-9">{{ network.domain }}</dd>
<dt class="col-sm-3">Admin only</dt>
<dd class="col-sm-9">{{ network.admin_only }}</dd>
<dt class="col-sm-3">Hosts</dt>
<dd class="col-sm-9">{{ link_to_interfaces_host(network.interfaces) }}</dd>
<dt class="col-sm-3">Created by</dt>
<dd class="col-sm-9">{{ network.user }}</dd>
<dt class="col-sm-3">Created at</dt>
<dd class="col-sm-9">{{ network.created_at }}</dd>
</dl>
</div>
<div class="row">
<div class="col-sm-9">
<dl class="row">
<dt class="col-sm-3">Vlan name</dt>
<dd class="col-sm-9">{{ network.vlan_name }}</dd>
<dt class="col-sm-3">Vlan id</dt>
<dd class="col-sm-9">{{ network.vlan_id }}</dd>
<dt class="col-sm-3">Description</dt>
<dd class="col-sm-9">{{ network.description | safe }}</dd>
<dt class="col-sm-3">Address</dt>
<dd class="col-sm-9">{{ network.address }}</dd>
<dt class="col-sm-3">First IP</dt>
<dd class="col-sm-9">{{ network.first_ip }}</dd>
<dt class="col-sm-3">Last IP</dt>
<dd class="col-sm-9">{{ network.last_ip }}</dd>
<dt class="col-sm-3">Gateway</dt>
<dd class="col-sm-9">{{ network.gateway }}</dd>
<dt class="col-sm-3">Broadcast</dt>
<dd class="col-sm-9">{{ network.broadcast }}</dd>
<dt class="col-sm-3">Network Scope</dt>
<dd class="col-sm-9">{{ network.scope }}</dd>
<dt class="col-sm-3">Domain</dt>
<dd class="col-sm-9">{{ network.domain }}</dd>
<dt class="col-sm-3">Admin only</dt>
<dd class="col-sm-9">{{ network.admin_only }}</dd>
<dt class="col-sm-3">Hosts</dt>
<dd class="col-sm-9">{{ link_to_interfaces_host(network.interfaces) }}</dd>
<dt class="col-sm-3">Created by</dt>
<dd class="col-sm-9">{{ network.user }}</dd>
<dt class="col-sm-3">Created at</dt>
<dd class="col-sm-9">{{ network.created_at }}</dd>
</dl>
</div>
{%- endblock %}
</div>
{%- endblock %}
\ No newline at end of file
......@@ -723,6 +723,7 @@ def test_create_network(client, admin_token, network_scope_factory):
"vlan_id",
"address",
"netmask",
"broadcast",
"first_ip",
"last_ip",
"gateway",
......@@ -742,6 +743,7 @@ def test_create_network(client, admin_token, network_scope_factory):
assert response.get_json()["last_ip"] == "172.16.1.250"
assert response.get_json()["gateway"] == "172.16.1.254"
assert response.get_json()["netmask"] == "255.255.255.0"
assert response.get_json()["broadcast"] == "172.16.1.255"
# Check that address and name shall be unique
response = post(client, f"{API_URL}/network/networks", data=data, token=admin_token)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment