Send Netdot-devel mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        https://osl.uoregon.edu/mailman/listinfo/netdot-devel
or, via email, send a message with subject or body 'help' to
        [email protected]

You can reach the person managing the list at
        [email protected]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Netdot-devel digest..."


Today's Topics:

   1. [SCM] Netdot branch master updated.       netdot-1.0.6-28-gc40122d
      ([email protected])
   2. [SCM] Netdot branch master updated.       netdot-1.0.6-37-gd04f06d
      ([email protected])
   3. [SCM] Netdot branch netdot-1.0 updated.
      netdot-1.0.6-37-gd04f06d ([email protected])
   4. [Netdot - Bug #1765] (Resolved) Cisco Nexus 5k    discovery
      ([email protected])
   5. [SCM] Netdot branch master updated.       netdot-1.0.6-39-g47e9b76
      ([email protected])


----------------------------------------------------------------------

Message: 1
Date: Wed, 9 Jul 2014 13:46:44 -0700
From: [email protected]
Subject: [Netdot-devel] [SCM] Netdot branch master updated.
        netdot-1.0.6-28-gc40122d
To: [email protected]
Message-ID: <[email protected]>

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot".

The branch, master has been updated
       via  c40122d1247e94bf6aac7efb4cf3beb36f2d492c (commit)
       via  a40d5856e3393521a695e05584fd7fca3c6a4731 (commit)
       via  25130aa01e53cc4be7153de7c096ced3338d0226 (commit)
       via  c0f4d299b3718a6bc375fb24d4c30d74fdf52d98 (commit)
      from  2c3925ce8fce1880c2a718e661380665a5332484 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit c40122d1247e94bf6aac7efb4cf3beb36f2d492c
Merge: 25130aa a40d585
Author: Carlos Vicente <[email protected]>
Date:   Wed Jul 9 16:42:39 2014 -0400

    Merge remote-tracking branch '42wim/fix-1765' into fix-1790


commit a40d5856e3393521a695e05584fd7fca3c6a4731
Author: Wim <[email protected]>
Date:   Mon Jul 7 16:40:01 2014 +0200

    fix for 1765

diff --git a/lib/Netdot/Model/Device.pm b/lib/Netdot/Model/Device.pm
index 700d6dd..a44bf94 100644
--- a/lib/Netdot/Model/Device.pm
+++ b/lib/Netdot/Model/Device.pm
@@ -69,7 +69,7 @@ my %MFIELDS = (
 my @SMETHODS = qw( 
    hasCDP e_descr i_type i_alias i_speed i_up 
    i_up_admin i_duplex i_duplex_admin 
-   ip_index ip_netmask i_mac
+   ip_index ip_netmask i_mac ip_table
    i_vlan_membership qb_v_name v_name v_state
 );
 
@@ -1133,7 +1133,16 @@ sub get_snmp_info {
     if ( !defined($hashes{'ip_index'}) || !(keys %{ $hashes{'ip_index'} }) ){
        $hashes{'ip_index'} = $sinfo->ip_index();
     }
-    while ( my($ip,$iid) = each %{ $hashes{'ip_index'} } ){
+    if ( !defined($hashes{'ip_table'}) || !(keys %{ $hashes{'ip_table'} }) ){
+          $hashes{'ip_table'} = $sinfo->ip_table();
+    }
+    while ( my($ipt,$iid) = each %{ $hashes{'ip_index'} } ){
+        my $ip;
+        if ($iid > 150000000) { #nx-os has id > 150000000
+            $ip=$hashes{'ip_table'}{$ipt};
+        } else {
+            $ip=$ipt;
+        }
        next unless (defined $dev{interface}{$iid});
        next if &_check_if_status_down(\%dev, $iid);
        next if Ipblock->is_loopback($ip);
@@ -4901,7 +4910,7 @@ sub _get_arp_from_snmp {
     # atPhysAddress is used.
     my $use_shortcut = 1;
     my @paddr_keys = keys %$at_paddr;
-    if ( $paddr_keys[0] && $paddr_keys[0] =~ /^(\d+)(\.1)?\.($IPV4)$/ ){
+    if ( $paddr_keys[0] && $paddr_keys[0] =~ /^(\d+)(\.1|\.4)?\.($IPV4)$/ ){
        my $idx = $1;
        if ( !exists $devints{$idx} ){
            $use_shortcut = 0;
@@ -4914,7 +4923,7 @@ sub _get_arp_from_snmp {
        my ($ip, $idx, $mac);
        $mac = $at_paddr->{$key};
        if ( $use_shortcut ){
-           if ( $key =~ /^(\d+)(\.1)?\.($IPV4)$/ ){
+           if ( $key =~ /^(\d+)(\.1|\.4)?\.($IPV4)$/ ){
                $idx = $1;
                $ip  = $3;
            }else{

-----------------------------------------------------------------------

Summary of changes:
 htdocs/management/device.html |  8 ++++++--
 lib/Netdot/Model/Device.pm    | 23 +++++++++++++++++------
 2 files changed, 23 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
Netdot


------------------------------

Message: 2
Date: Wed, 9 Jul 2014 13:47:51 -0700
From: [email protected]
Subject: [Netdot-devel] [SCM] Netdot branch master updated.
        netdot-1.0.6-37-gd04f06d
To: [email protected]
Message-ID: <[email protected]>

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot".

The branch, master has been updated
       via  d04f06daefa2a291fd999794d3fa71129dc9ea6d (commit)
       via  47d6d054ac08de62b75033ee26a0a6d0410298d4 (commit)
       via  7ac2508ae3280930e31ece0d68a7211497a44805 (commit)
       via  8793bc7c5b6c6bbf03afe29c3888483fa56ef8ce (commit)
       via  5ef3ebd924d12f1a8ba1ddd0c2e3f94d1529427e (commit)
       via  d97ec6df44e0d6c64feffe2b83461560f4d9de74 (commit)
       via  2b78429f446290eeb7bb9911accb62eef8e3356d (commit)
       via  da17ef5d5310f446cb4a8bb709892f66f919d271 (commit)
       via  73c0f1310ee8f8617208c48f944defe776a94473 (commit)
      from  c40122d1247e94bf6aac7efb4cf3beb36f2d492c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit d04f06daefa2a291fd999794d3fa71129dc9ea6d
Merge: c40122d 47d6d05
Author: Carlos Vicente <[email protected]>
Date:   Wed Jul 9 16:47:26 2014 -0400

    Merge branch 'master' of github.com:cvicente/Netdot into netdot-1.0


commit 47d6d054ac08de62b75033ee26a0a6d0410298d4
Merge: 8793bc7 7ac2508
Author: Carlos Vicente <[email protected]>
Date:   Wed Jul 9 08:03:38 2014 -0400

    Merge pull request #22 from candlerb/candlerb/1827
    
    Assignment of colors to VLANs


commit 7ac2508ae3280930e31ece0d68a7211497a44805
Author: Brian Candler <[email protected]>
Date:   Mon Jun 30 22:12:35 2014 +0100

    Assignment of colors to VLANs
    
    * Don't include arbitrary (database id=1) VLAN in topo display
    * Assign vlan color from VLAN vid algorithmically
    
    Fixes redmine #1827

diff --git a/lib/Netdot/UI.pm b/lib/Netdot/UI.pm
index b14a88e..27fa2f5 100644
--- a/lib/Netdot/UI.pm
+++ b/lib/Netdot/UI.pm
@@ -1835,8 +1835,20 @@ sub build_device_topology_graph {
     # Tried to be fancy and add lots of port information.  EPIC FAIL.  There's 
no
     # good way to do it.  A nice tarpit for others to avoid.
 
-    sub _randomcolor {
-        return sprintf("#%02X%02X%02X", rand(128), rand(128), rand(128));
+    # Assign color to VLAN. Do it algorithmically so that VLAN colors are
+    # consistent. Put the low-order bits at the top so that numerically
+    # adjacent vids have contrasting colors, and arrange that vid=1 is black.
+    #
+    # Perhaps the color would be better stored in the vlan table so that
+    # the user could change it to their liking
+    
+    sub _vlancolor {
+        my ($vid) = @_;
+        my @b = reverse(split('', sprintf "%012b", 4097-$vid));
+        return sprintf("#%02X%02X%02X",
+            oct("0b$b[0]$b[3]$b[6]$b[9]000"),
+            oct("0b$b[1]$b[4]$b[7]$b[10]000"),
+            oct("0b$b[2]$b[5]$b[8]$b[11]000"));
     }
 
     sub _dfs { # DEPTH FIRST SEARCH - recursive
@@ -1889,7 +1901,7 @@ sub build_device_topology_graph {
                        my $style = 'solid';
                        my $vname = $vlan->vlan->name || $vlan->vlan->vid;
                        if (!exists $vlans->{$vname}) {
-                           $vlans->{$vname} = { color=>&_randomcolor, 
vlan=>$vlan->vlan->id };
+                           $vlans->{$vname} = { 
color=>&_vlancolor($vlan->vlan->vid), vlan=>$vlan->vlan->id };
                        }
                        $color = $vlans->{$vname}{'color'};
                        
@@ -2035,7 +2047,7 @@ sub build_device_topology_graph_html {
     my $netdot_path   = Netdot->config->get('NETDOT_PATH');
     $argv{filename}   = "$netdot_path/htdocs/" . $graph_path;
 
-    my $vlans    = { 1=>{color=>'#000000', vlan=>Vlan->search(id=>1)->first} };
+    my $vlans = {};
     $argv{vlans} = $vlans;
 
     my $g = $self->build_device_topology_graph(%argv);

commit 8793bc7c5b6c6bbf03afe29c3888483fa56ef8ce
Merge: 5ef3ebd d97ec6d
Author: Carlos Vicente <[email protected]>
Date:   Fri Jun 27 13:19:57 2014 -0400

    Merge pull request #21 from candlerb/candlerb/1822bis
    
    Swap head/tail on "up" links


commit 5ef3ebd924d12f1a8ba1ddd0c2e3f94d1529427e
Merge: 22ddc22 2b78429
Author: Carlos Vicente <[email protected]>
Date:   Fri Jun 27 13:19:32 2014 -0400

    Merge pull request #20 from candlerb/candlerb/1821
    
    Improvements to topology graphs


commit d97ec6df44e0d6c64feffe2b83461560f4d9de74
Author: Brian Candler <[email protected]>
Date:   Fri Jun 27 17:29:20 2014 +0100

    Swap head/tail on "up" links
    
    Previous change for #1824 ended up with head/tail labels on the wrong ends

diff --git a/lib/Netdot/UI.pm b/lib/Netdot/UI.pm
index 760b607..fced94e 100644
--- a/lib/Netdot/UI.pm
+++ b/lib/Netdot/UI.pm
@@ -1854,12 +1854,12 @@ sub build_device_topology_graph {
            my $neighbor_name = ($show_names ? $neighbor->name : 
$neighbor->number) || $neighbor->number;
            
             my $nd = $neighbor->device || next;
-            my ($n1, $n2, $constraint) = ($device->id, $nd->id, 1);
+            my ($from, $to, $head, $tail, $constraint) = ("from", "to", 
"head", "tail", 1);
 
            if ( exists($spp->{$device->id}->{$nd->id}) ){
                # Neighbor is closer to root
                $dir = "up";
-               ($n1, $n2) = ($n2, $n1);
+               ($from, $to, $head, $tail) = ("to", "from", "tail", "head");
            }elsif ( exists($spp->{$nd->id}->{$device->id}) ){
                # The opposite
                $dir = "down";
@@ -1895,29 +1895,31 @@ sub build_device_topology_graph {
                            $style='dashed';
                        }   
                        
-                       $g->add_edge($n1                 => $n2,
-                                    constraint          => $constraint,
-                                    tailURL             => 
"view.html?table=Interface&id=".$iface->id,
-                                    taillabel           => 
((defined($specific_vlan) && $specific_vlan != 0)?$name:$vname),
-                                    headURL             => 
"view.html?table=Interface&id=".$neighbor->id, 
-                                    headlabel           => $neighbor_name,
-                                    color               => $color,
-                                    style               => $style,
-                           );
+                       $g->add_edge({$from              => $device->id,
+                                     $to                => $nd->id,
+                                     constraint         => $constraint,
+                                     "${tail}URL"       => 
"view.html?table=Interface&id=".$iface->id,
+                                     "${tail}label"     => 
((defined($specific_vlan) && $specific_vlan != 0)?$name:$vname),
+                                     "${head}URL"       => 
"view.html?table=Interface&id=".$neighbor->id, 
+                                     "${head}label"     => $neighbor_name,
+                                     color              => $color,
+                                     style              => $style,
+                           });
                        $add_node = 1;
                        $cont = 1;
                    }
                 }
             } else {
                if ( !defined($specific_vlan) || defined($specific_vlan) && 
$specific_vlan == 0 ) {
-                   $g->add_edge($n1                 => $n2,
-                                constraint          => $constraint,
-                                tailURL             => 
"view.html?table=Interface&id=".$iface->id,
-                                taillabel           => $name,
-                                headURL             => 
"view.html?table=Interface&id=".$neighbor->id, 
-                                headlabel           => $neighbor_name,
-                                color               => 'black',
-                       );
+                   $g->add_edge({$from              => $device->id,
+                                 $to                => $nd->id,
+                                 constraint         => $constraint,
+                                 "${tail}URL"       => 
"view.html?table=Interface&id=".$iface->id,
+                                 "${tail}label"     => $name,
+                                 "${head}URL"       => 
"view.html?table=Interface&id=".$neighbor->id, 
+                                 "${head}label"     => $neighbor_name,
+                                 color              => 'black',
+                       });
                    $add_node = 1;
                    $cont = 1;
                }

commit 2b78429f446290eeb7bb9911accb62eef8e3356d
Author: Brian Candler <[email protected]>
Date:   Fri Jun 27 11:12:06 2014 +0100

    Options for rebuilding whole topo graphs
    
    Add options 'Show Interface Names' and 'Line Length' when rebuilding the
    whole topo graphs in the GUI
    
    Fixes redmine #1821

diff --git a/htdocs/reports/topology_graph.html 
b/htdocs/reports/topology_graph.html
index 43ae31b..4342639 100644
--- a/htdocs/reports/topology_graph.html
+++ b/htdocs/reports/topology_graph.html
@@ -7,9 +7,11 @@ title   => 'Network Topology Graph'
 </%attr>
 
 <%args>
-$root      => undef
-$regen     => undef
-$graph     => undef
+$root       => undef
+$graph1     => undef
+$graph2     => undef
+$show_names => 0
+$minlen     => 1
 </%args>
 
 <%init>
@@ -39,19 +41,20 @@ my $device_obj = Device->search(name=>$root)->first
 
 my $id = $device_obj->id;
 
-if ( $regen && $graph ){
+if ( $graph1 || $graph2 ){
     # Build args
     my %bargs = (
        id         => $id, 
        depth      => $depth,
-       show_names => 0,
+       show_names => $show_names,
+       minlen     => $minlen,
        );
 
-    if ( $graph == 1 ){
+    if ( $graph1 ){
        $bargs{show_vlans} = 0;
        $bargs{filename}   = $abs_img_path1;
        
-    }elsif ( $graph == 2 ){
+    }elsif ( $graph2 ){
        $bargs{show_vlans} = 1;
        $bargs{filename}   = $abs_img_path2;
     }
@@ -71,6 +74,7 @@ if ( $regen && $graph ){
       <br><strong>Please use cautiously!</strong>
     </div>
 
+<form name="topo_graph_form" action="topology_graph.html" method="POST">
 <h4>Network Graph without VLANs</h4>
 <ul>
 %if ( -r $abs_img_path1 ){
@@ -84,10 +88,7 @@ if ( $regen && $graph ){
     <li> Graph has not been generated yet
 %}
 <br>
-<form name="topo_graph_form" action="topology_graph.html" method="POST">
-    <input type="hidden" name="graph" value="1">
-    Regenerate: <input type="submit" name="regen" value="Go">
-</form>
+    Regenerate: <input type="submit" name="graph1" value="Go">
 </ul>
 
 <h4>Network Graph with VLANs</h4>
@@ -104,12 +105,24 @@ if ( $regen && $graph ){
     <li> Graph has not been generated yet
 %}
 <br>
-<form name="topo_graph_form" action="topology_graph.html" method="POST">
-    <input type="hidden" name="graph" value="2">
-    Regenerate: <input type="submit" name="regen" value="Go">
-</form>
+    Regenerate: <input type="submit" name="graph2" value="Go">
 </ul>
 
+<label>Show Interface Names
+<input type="checkbox" name="show_names" value="1"  <% ($show_names ? 
"checked" : "") %>>
+</label>
+<label>Line Length
+<select name="minlen">
+%       for (my $i=1; $i <= 3; $i++) {
+%           if ( $minlen == $i ){
+                <option value="<% $i %>" SELECTED><% $i %></option>
+%           }else{
+                <option value="<% $i %>"><% $i %></option>
+%           }
+%       }
+</select>
+</label>
+</form>
 
     </div>
   </div>

commit da17ef5d5310f446cb4a8bb709892f66f919d271
Author: Brian Candler <[email protected]>
Date:   Fri Jun 27 10:35:20 2014 +0100

    Add line length setting in device topo view
    
    Makes it easier to see interface names if "Show Interface Names?" has
    been selected

diff --git a/htdocs/management/device.html b/htdocs/management/device.html
index 5f068fd..86b0ebc 100644
--- a/htdocs/management/device.html
+++ b/htdocs/management/device.html
@@ -53,6 +53,7 @@ $topodepth_up    => 1
 $topodepth_down  => 1
 $topovlans  => 0
 $toponames  => 0
+$topominlen => 0
 $specific_vlan  => 0
 $stp_number     => undef
 $state_digest   => undef
@@ -1468,6 +1469,7 @@ if ( $ipeers ){
       <th>Show Vlans?</th>
       <th>Show this Vlan only?</th>
       <th>Show Interface Names?</th>
+      <th>Line length</th>
       <th>Depth up</th>
       <th>Depth down</th>
       <th>Reference Point</th>
@@ -1490,6 +1492,15 @@ if ( $ipeers ){
 %       }
         </select></td>
       <td><input type="checkbox" name="toponames" value="1"  <% ($toponames ? 
"checked" : "") %>></td>
+      <td><select name="topominlen">
+%       for (my $minlen=1; $minlen <= 3; $minlen++) {
+%           if ( $topominlen == $minlen ){
+                <option value="<% $minlen %>" SELECTED><% $minlen %></option>  
   
+%           }else{
+                <option value="<% $minlen %>"><% $minlen %></option>     
+%           }
+%       }
+        </select></td>
       <td><input type="text" name="topodepth_up" size=2 value="<% 
$topodepth_up %>"></td>
       <td><input type="text" name="topodepth_down" size=2 value="<% 
$topodepth_down %>"></td>
       <td><input type="text" name="toporoot" size=20 value="<% $toporoot 
%>"></td>
@@ -1512,7 +1523,7 @@ if ( $ipeers ){
 %                                                   depth_up=>$topodepth_up, 
depth_down=>$topodepth_down,
 %                                                   
web_path=>$r->dir_config('NetdotPath'), 
 %                                                   show_vlans=>$topovlans, 
show_names=>$toponames, 
-%                                                   
specific_vlan=>$specific_vlan);
+%                                                   
specific_vlan=>$specific_vlan, minlen=>$topominlen);
     </center>
     </div>
 </div>

commit 73c0f1310ee8f8617208c48f944defe776a94473
Author: Brian Candler <[email protected]>
Date:   Fri Jun 27 10:09:01 2014 +0100

    Add 'minlen' option for topo graphs
    
    Running build_topo_graph.pl with -m 2 increases the spacing between the
    nodes and makes it less likely for the interface names to overlap.
    
    Fixes redmine #1821 if you update your topo crontab entries to add -n -m 2

diff --git a/bin/build_topo_graph.pl b/bin/build_topo_graph.pl
index 00f2310..f3c8881 100755
--- a/bin/build_topo_graph.pl
+++ b/bin/build_topo_graph.pl
@@ -10,7 +10,7 @@ use Getopt::Long qw(:config no_ignore_case bundling);
 
 # Default parameters
 my $nms = Netdot->config->get('NMS_DEVICE');
-my %self = ( root=>$nms, start=>$nms, vlans=>0, names=>0, depth=>99999 );
+my %self = ( root=>$nms, start=>$nms, vlans=>0, names=>0, depth=>99999, 
minlen=>undef );
 
 my $USAGE = <<EOF;
  
@@ -20,6 +20,7 @@ my $USAGE = <<EOF;
            [-u|--depth-up <integer>] [-o|--depth-down <integer>]
            [-V|--specificvlan <vlanid>] [-v|--vlans] [-n|names] 
            [-F|--format] [-D|--direction <up_down|left_right>]
+           [-m|--minlen <integer>]
            -f|--filename <name>
 
     Argument Detail: 
@@ -34,6 +35,7 @@ my $USAGE = <<EOF;
     -V, --specificvlan <vlanid>          The vlan ID of the specific vlan to 
display
     -v, --vlans                          Show vlans with lines in different 
colors
     -n, --names                          Show interface names instead of index 
numbers
+    -m, --minlen <integer>               Minimum length of edges
 
 EOF
     
@@ -49,6 +51,7 @@ my $result = GetOptions( "r|root=s"         => \$self{root},
                         "V|specificvlan=s" => \$self{specific},
                         "v|vlans"          => \$self{vlans},
                         "n|names"          => \$self{names},
+                        "m|minlen=s"       => \$self{minlen},
                         "h|help"           => \$self{help},
     );
 
@@ -83,6 +86,7 @@ $ui->build_device_topology_graph(
     show_vlans    => $self{vlans}, 
     specific_vlan => $self{specific}, 
     show_names    => $self{names},
+    minlen        => $self{minlen},
     filename      => $self{filename},
     format        => $self{format},
     direction     => $self{direction},
diff --git a/lib/Netdot/UI.pm b/lib/Netdot/UI.pm
index 760b607..b5688b0 100644
--- a/lib/Netdot/UI.pm
+++ b/lib/Netdot/UI.pm
@@ -1779,6 +1779,7 @@ sub build_ip_tree_graph_html {
     show_vlans   Boolean. Whether to show colored arrows for each VLAN
     vlans        
     show_names   Boolean. Whether to show interface names
+    minlen       Integer. Minimum edge length.
     filename     File name for the graph
     format       (canon|text|ps|hpgl|gd|gd2|gif|jpeg|png|svg)
     direction    (up_down|left_right)
@@ -1792,9 +1793,9 @@ sub build_ip_tree_graph_html {
 sub build_device_topology_graph {
     my ($self, %argv) = @_;
     my ($id, $root, $depth, $depth_up, $depth_down, $view, $show_vlans, 
$show_names, 
-       $filename, $vlans, $format, $direction, $specific_vlan) = 
+       $filename, $vlans, $format, $direction, $specific_vlan, $minlen) = 
            @argv{'id', 'root', 'depth', 'depth_up', 'depth_down', 'view', 
'show_vlans', 'show_names', 
-                 'filename', 'vlans', 'format', 'direction', 'specific_vlan'};
+                 'filename', 'vlans', 'format', 'direction', 'specific_vlan', 
'minlen'};
     
     # Guard against malicious input
     $depth      = (int($depth)      > 0) ? int($depth)      : 0;
@@ -1802,6 +1803,7 @@ sub build_device_topology_graph {
     $depth_down = (int($depth_down) > 0) ? int($depth_down) : 0;
     $show_vlans = ($show_vlans == 1)     ? 1 : 0;
     $show_names = ($show_names == 1)     ? 1 : 0;
+    $minlen     ||= 1;
 
     $root ||= $id;
 
@@ -1957,7 +1959,8 @@ sub build_device_topology_graph {
     my %args = (layout=>'dot', truecolor=>1, bgcolor=>"#ffffff00",ranksep=>2.0,
                node=>{shape=>'record', fillcolor=>'#ffffff88', 
style=>'filled', 
                       fontsize=>10, height=>.25},
-               edge=>{dir=>'none', labelfontsize=>8}, rankdir=>$direction );
+               edge=>{dir=>'none', labelfontsize=>8, minlen=>$minlen},
+               rankdir=>$direction );
 
     # Actually do the searching
     my $g = GraphViz->new(%args);

-----------------------------------------------------------------------

Summary of changes:
 bin/build_topo_graph.pl            |  6 +++-
 htdocs/management/device.html      | 13 ++++++-
 htdocs/reports/topology_graph.html | 43 +++++++++++++++---------
 lib/Netdot/UI.pm                   | 69 ++++++++++++++++++++++++--------------
 4 files changed, 88 insertions(+), 43 deletions(-)


hooks/post-receive
-- 
Netdot


------------------------------

Message: 3
Date: Wed, 9 Jul 2014 13:48:07 -0700
From: [email protected]
Subject: [Netdot-devel] [SCM] Netdot branch netdot-1.0 updated.
        netdot-1.0.6-37-gd04f06d
To: [email protected]
Message-ID: <[email protected]>

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot".

The branch, netdot-1.0 has been updated
       via  d04f06daefa2a291fd999794d3fa71129dc9ea6d (commit)
       via  c40122d1247e94bf6aac7efb4cf3beb36f2d492c (commit)
       via  a40d5856e3393521a695e05584fd7fca3c6a4731 (commit)
       via  47d6d054ac08de62b75033ee26a0a6d0410298d4 (commit)
       via  7ac2508ae3280930e31ece0d68a7211497a44805 (commit)
       via  8793bc7c5b6c6bbf03afe29c3888483fa56ef8ce (commit)
       via  5ef3ebd924d12f1a8ba1ddd0c2e3f94d1529427e (commit)
       via  d97ec6df44e0d6c64feffe2b83461560f4d9de74 (commit)
       via  2b78429f446290eeb7bb9911accb62eef8e3356d (commit)
       via  da17ef5d5310f446cb4a8bb709892f66f919d271 (commit)
       via  73c0f1310ee8f8617208c48f944defe776a94473 (commit)
      from  25130aa01e53cc4be7153de7c096ced3338d0226 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 bin/build_topo_graph.pl            |  6 +++-
 htdocs/management/device.html      | 13 ++++++-
 htdocs/reports/topology_graph.html | 43 +++++++++++++++---------
 lib/Netdot/Model/Device.pm         | 17 +++++++---
 lib/Netdot/UI.pm                   | 69 ++++++++++++++++++++++++--------------
 5 files changed, 101 insertions(+), 47 deletions(-)


hooks/post-receive
-- 
Netdot


------------------------------

Message: 4
Date: Wed, 9 Jul 2014 13:49:04 -0700
From: [email protected]
Subject: [Netdot-devel] [Netdot - Bug #1765] (Resolved) Cisco Nexus 5k
        discovery
To: [email protected], [email protected]
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=utf-8


Issue #1765 has been updated by Carlos Vicente.

Category set to DeviceManagement
Status changed from New to Resolved
Assignee set to Carlos Vicente
Target version set to 1.0.7
Resolution set to fixed

Wim Vandersmissen wrote:
> Carlos, could you look at the PR on github for this bug ? The less I need to 
> maintain myself locally the better :-)

Merged. Thank you Wim!
----------------------------------------
Bug #1765: Cisco Nexus 5k discovery
https://osl.uoregon.edu/redmine/issues/1765#change-3235

Author: Hermano Pereira
Status: Resolved
Priority: Normal
Assignee: Carlos Vicente
Category: DeviceManagement
Target version: 1.0.7
Resolution: fixed


The discovery of Cisco Nexus 5k (Fabric [VPC domain:10], Cisco NX-OS(tm) n5000, 
Software (n5000-uk9), Version 5.2(1)N1(3))outputs the error:

updatedevice.html produced the following error:

Invalid IP: 4.10.3.7.253




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://osl.uoregon.edu/redmine/my/account


------------------------------

Message: 5
Date: Wed, 9 Jul 2014 13:56:23 -0700
From: [email protected]
Subject: [Netdot-devel] [SCM] Netdot branch master updated.
        netdot-1.0.6-39-g47e9b76
To: [email protected]
Message-ID: <[email protected]>

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Netdot".

The branch, master has been updated
       via  47e9b763c4162ecfb4f0bec68b0c7d61beb2ad23 (commit)
       via  eabdcbcbc0fc7fdbec55501c4b60df802c8b9333 (commit)
      from  d04f06daefa2a291fd999794d3fa71129dc9ea6d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 47e9b763c4162ecfb4f0bec68b0c7d61beb2ad23
Merge: d04f06d eabdcbc
Author: Carlos Vicente <[email protected]>
Date:   Wed Jul 9 16:52:28 2014 -0400

    Merge remote-tracking branch '42wim/fix-1790' into fix-1790


commit eabdcbcbc0fc7fdbec55501c4b60df802c8b9333
Author: Wim <[email protected]>
Date:   Fri Jun 27 16:01:38 2014 +0200

    fix #1790 by using base64 encoding

diff --git a/lib/Netdot/Model/Ipblock.pm b/lib/Netdot/Model/Ipblock.pm
index f8d2b4b..74a1831 100644
--- a/lib/Netdot/Model/Ipblock.pm
+++ b/lib/Netdot/Model/Ipblock.pm
@@ -3509,6 +3509,7 @@ sub _tree_save {
     unless ( $cache = DataCache->find_or_create({name=>$name}) ){
        $class->throw_fatal("Could not find or create cache entry for IP tree: 
$name");
     }
+    $frozen= APR::Base64::encode($frozen);
     $cache->update({data=>$frozen, tstamp=>time});
     $logger->debug("Ipblock::_tree_save: Saved $name");
     return 1;
@@ -3543,7 +3544,8 @@ sub _tree_get {
     for ( 1..2 ){
        my $cache = DataCache->search(name=>$name)->first;
        if ( defined $cache && (time - $cache->tstamp) < $TTL ){ 
-           $tree = thaw $cache->data;
+           my $data = APR::Base64::decode($cache->data); 
+           $tree = thaw $data;
            $logger->debug("Ipblock::_tree_get: $name thawed from cache");
            my $tree_class = ref($tree);
            if ( $tree_class =~ /^Net::Patricia/o ){

-----------------------------------------------------------------------

Summary of changes:
 lib/Netdot/Model/Ipblock.pm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
Netdot


------------------------------

_______________________________________________
Netdot-devel mailing list
[email protected]
https://osl.uoregon.edu/mailman/listinfo/netdot-devel


End of Netdot-devel Digest, Vol 88, Issue 7
*******************************************

Reply via email to