LAG support.

Also, archive disappeared nodes from device after macsuck.

Squashed commit of the following:

commit 6d16cddaab
Merge: 37d9bda 3fdf780
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 19 15:48:41 2014 +0000

    Merge branch 'master' of ssh://git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit 37d9bda2bb
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 18:50:22 2014 +0000

    release 2.021000_004

commit 3939a2a51c
Merge: cf23636 571d57d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 18:45:14 2014 +0000

    Merge branch 'og-agg' of ssh://olly_g@git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit cf23636ddf
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 18:43:59 2014 +0000

    archive disappeared nodes from device - really important!

commit 571d57dcc7
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 18:20:51 2014 +0000

    release 2.021000_003

commit 444bc1e81d
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 17:51:54 2014 +0000

    protect sprintf from undefined remote_type

commit 5b875c4641
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 17:49:40 2014 +0000

    tidy connected device+node layout

commit c09dddb7d1
Merge: 4f5501c 95fc6b1
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 17:46:39 2014 +0000

    Merge branch 'og-agg' of ssh://olly_g@git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit 4f5501c613
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 17:46:23 2014 +0000

    allow sanity checks on lag member before moving node

commit 95fc6b18dc
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 14:02:19 2014 +0000

    release 2.021000_002

commit 8b809c445f
Merge: 04d486e fe3e8e3
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 13:58:31 2014 +0000

    Merge branch 'og-agg' of ssh://git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit fe3e8e3ef2
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 13:57:31 2014 +0000

    do not set master neigh if master is a slave

commit 04d486e433
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 13:38:45 2014 +0000

    display remote ip if only remote ip

commit 14f9eb01ad
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 13:35:54 2014 +0000

    show all members of lag when searching for lag master

commit 5b2a0a0a4b
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 13:35:16 2014 +0000

    fix copy of remote master to local master remote_port

commit 86a9854f39
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 10:00:13 2014 +0000

    show both link and device type icons

commit 88510552e5
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 09:57:29 2014 +0000

    hide neighbor device ID and add sidebar option to show

commit 29da3097cb
Merge: 8bca30d 9fe92fb
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 09:04:15 2014 +0000

    Merge branch 'og-agg' of ssh://git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit 9fe92fb5e8
Merge: 6620a03 5557811
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 09:03:02 2014 +0000

    Merge branch 'og-agg' of ssh://olly_g@git.code.sf.net/p/netdisco/netdisco-ng into og-agg

commit 6620a03686
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 08:56:13 2014 +0000

    also store master neighbor port

commit 8bca30d085
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 00:41:46 2014 +0000

    release 2.021000_001

commit 5557811aeb
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Mon Jan 13 00:38:18 2014 +0000

    fix icon placement in editable device port cells

commit 25292e1ce8
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 22:20:08 2014 +0000

    fix name of class

commit 99ce56d794
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 22:13:53 2014 +0000

    remove brackets from lag name

commit 27aa80ed93
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 22:12:06 2014 +0000

    rename link agg legend

commit 84ed4c5008
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 22:11:15 2014 +0000

    move lag member icon into port icon column

commit 67c9c783ec
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 21:58:11 2014 +0000

    fix Cisco stack port ignore

commit 4531c61246
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 21:51:41 2014 +0000

    move nodes to lag master port

commit ffc6b9c315
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 20:45:58 2014 +0000

    use group icon for slave and master

commit 68fd345e37
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 20:34:01 2014 +0000

    indicate aggregate master

commit 79c69f5a0f
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 19:14:48 2014 +0000

    show aggreate parent in device ports

commit 3a4beed2f1
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 18:46:25 2014 +0000

    store aggregate port into db

commit fd7bb0cd62
Author: Oliver Gorwits <oliver@cpan.org>
Date:   Sun Jan 12 17:49:39 2014 +0000

    add device_port cols for aggregate links data
This commit is contained in:
Oliver Gorwits
2014-01-19 15:51:47 +00:00
parent 3fdf7802b6
commit 642546fd24
15 changed files with 199 additions and 69 deletions

View File

@@ -17,7 +17,7 @@
</tbody>
[% FOREACH row IN results %]
<tr>
<td class="nd_center-cell">
<td class="nd_center-cell nd_devport-icon">
[% IF row.up_admin != 'up' %]
<i class="icon-remove"></i>
[% ELSIF row.stp == 'blocking' %]
@@ -29,6 +29,15 @@
[% ELSE %]
<i class="icon-angle-up text-success"></i>
[% END %]
[% IF row.slave_of %]<br/>
[% IF row.get_column('agg_master_up_admin') != 'up' %]
<small><i class="icon-group muted"></i></small>
[% ELSIF row.get_column('agg_master_up') == 'up' %]
<small><i class="icon-group text-success"></i></small>
[% ELSE %]
<small><i class="icon-group text-error"></i></small>
[% END %]
[% END %]
</td>
[% FOREACH config IN settings._extra_device_port_cols %]
@@ -66,10 +75,18 @@
[% ELSE %]
<td nowrap>
[% END %]
<a class="nd_linkcell nd_this-port-only" href="[% uri_for('/device',
<a class="nd_this-port-only nd_port-only-first" href="[% uri_for('/device',
self_options) %]&q=[% params.q | uri %]&f=[% row.port | uri %]&prefer=port">
[% row.port | html_entity %]
</a></td>
[% IF row.is_master %]
<small><i class="icon-group muted"></i></small>&nbsp;
[% END %]
[% row.port | html_entity %]</a>
[% IF row.slave_of %]<br/>
<a class="nd_this-port-only" href="[% uri_for('/device',
self_options) %]&q=[% params.q | uri %]&f=[% row.slave_of | uri %]&prefer=port">
[% row.slave_of | html_entity %]</a>
[% END %]
</td>
[% END %]
[% FOREACH config IN settings._extra_device_port_cols %]
@@ -216,27 +233,36 @@
<td>
[% IF params.c_neighbors AND (row.remote_ip OR row.is_uplink) %]
[% IF row.neighbor %]
<i class="icon-link[% ' text-warning' IF row.manual_topo %]"></i>
<a href="[% uri_for('/device',
self_options) %]&q=[% row.neighbor.dns || row.neighbor.ip | uri %]&f=[% row.remote_port | uri %]">
[% row.neighbor.dns.remove(settings.domain_suffix) || row.neighbor.ip | html_entity %]
([% row.remote_port | html_entity %]
[% ' id: '_ row.remote_id IF row.remote_id %]
[% ' type: '_ row.remote_type IF row.remote_type %])</a>
[% ELSIF row.remote_ip AND row.remote_port %]
<i class="icon-link[% ' text-warning' IF row.manual_topo %]"></i>
[% IF row.remote_type AND row.remote_type.match('(?i)ip.phone') %]
<i class="icon-phone"></i>&nbsp;
[% ELSIF row.remote_type AND row.remote_type.match('(cisco\s+AIR-[L|C]?AP|-K9W8-|^AP:\s)') %]
<i class="icon-signal"></i>&nbsp;
[% ELSE %]
<i class="icon-unlink text-error"></i>&nbsp;
[% END %]
<a href="[% search_node %]&q=[% row.remote_ip | uri %]">
[% row.remote_ip | html_entity %] (port: [% row.remote_port | html_entity %]
[% ' id: '_ row.remote_id IF row.remote_id %]
[% ' type: '_ row.remote_type IF row.remote_type %])</a>
<a href="[% uri_for('/device',
self_options) %]&q=[% row.neighbor.dns || row.neighbor.ip | uri %]&f=[% row.remote_port | uri %]">
[% row.neighbor.dns.remove(settings.domain_suffix) || row.neighbor.ip | html_entity %]
[% ' - ' IF row.remote_port %][% row.remote_port | html_entity %]</a><br/>
[% IF params.neigh_id and (row.remote_id or row.remote_type) %]
([% 'id: '_ row.remote_id IF row.remote_id %]
[% ' type: '_ row.remote_type IF row.remote_type %])<br/>
[% END %]
[% ELSIF row.remote_ip %]
<i class="icon-unlink text-error"></i>&nbsp;
[% IF row.remote_type AND row.remote_type.match('(?i)ip.phone') %]
<i class="icon-phone"></i>&nbsp;
[% ELSIF row.remote_type AND row.remote_type.match('(cisco\s+AIR-[L|C]?AP|-K9W8-|^AP:\s)') %]
<i class="icon-signal"></i>&nbsp;
[% END %]
<a href="[% search_node %]&q=[% row.remote_ip | uri %]">
[% row.remote_ip | html_entity %]
[% ' - ' IF row.remote_port %][% row.remote_port | html_entity %]</a><br/>
[% IF params.neigh_id and (row.remote_id or row.remote_type) %]
([% 'id: '_ row.remote_id IF row.remote_id %]
[% ' type: '_ row.remote_type IF row.remote_type %])<br/>
[% END %]
[% ELSE %]
<i class="icon-unlink text-error"></i>&nbsp; (possible uplink)
<i class="icon-unlink text-error"></i>&nbsp; (possible uplink)
[% END %]
[% END %]
[% IF params.c_nodes %]