Home · About · Download · Documentation · Getting Help · Google+

Changeset 1567 for branches


Ignore:
Timestamp:
02/11/2014 11:41:18 AM (4 years ago)
Author:
gmk
Message:

Update 3.5 branch with latest sort and file origin fixes.

Location:
branches
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/common/3.5

  • branches/common/3.5/lib/Warewulf/File.pm

    r1018 r1567  
    269269                    push(@neworigins, $1); 
    270270                } else { 
    271                     &eprint("Invalid characters to set $key += '$string'\n"); 
     271                    &eprint("Invalid characters to set $key = '$string'\n"); 
    272272                } 
    273                 $self->set($key, @neworigins); 
    274             } 
     273            } 
     274            $self->set($key, @neworigins); 
    275275        } else { 
    276276            $self->del($key); 
  • branches/common/3.5/lib/Warewulf/Module/Cli/File.pm

    r1442 r1567  
    480480 
    481481        } elsif ($command eq "sync" or $command eq "resync") { 
    482             foreach my $obj ($objSet->get_list()) { 
     482            foreach my $obj ($objSet->get_list("name")) { 
    483483                my $orig = $obj->origin() || "UNDEF"; 
    484484                if ($orig eq "UNDEF" && $obj->name() ne "dynamic_hosts") { 
     
    492492            &iprintf("%-16s  %10s %s %-16s %9s %s\n", 
    493493                     "NAME", "PERMS", "O", "USER GROUP", "SIZE", "DEST"); 
    494             foreach my $obj ($objSet->get_list()) { 
     494            foreach my $obj ($objSet->get_list("name")) { 
    495495                my $perms = "-"; 
    496496                my $user_group = getpwuid($obj->uid() || 0) . ' ' . getgrgid($obj->gid() || 0); 
     
    507507            } 
    508508        } elsif ($command eq "print") { 
    509             foreach my $obj ($objSet->get_list()) { 
     509            foreach my $obj ($objSet->get_list("name")) { 
    510510                my $name = $obj->get("name") || "UNDEF"; 
    511511                &nprintf("#### %s %s#\n", $name, '#' x (72 - length($name))); 
     
    546546            $val = undef; 
    547547        } elsif ($field eq "origin") { 
    548             @{$val} = split(',', $val); 
     548            my @tmp = split(',', $val); 
     549            $val = \@tmp; 
    549550        } elsif ($field eq "mode") { 
    550551            $val = oct($val); 
  • branches/common/3.5/lib/Warewulf/Module/Cli/Node.pm

    r1522 r1567  
    282282        my @changes; 
    283283 
    284         @changes = map { sprintf("%8s: %s %s", "DEL", "NODE", $_->name()); } $objSet->get_list(); 
     284        @changes = map { sprintf("%8s: %s %s", "DEL", "NODE", $_->name()); } $objSet->get_list("fqdn", "domain", "cluster", "name"); 
    285285        if ($self->confirm_changes($term, $object_count, "node(s)", @changes)) { 
    286286            $return_count = $db->del_object($objSet); 
     
    295295        ); 
    296296        &nprint("================================================================================\n"); 
    297         foreach my $o ($objSet->get_list()) { 
     297        foreach my $o ($objSet->get_list("fqdn", "domain", "cluster", "name")) { 
    298298            printf("%-19s %-19s %-19s %-19s\n", 
    299299                &ellipsis(19, ($o->name() || "UNDEF"), "end"), 
     
    305305        } 
    306306    } elsif ($command eq "print") { 
    307         foreach my $o ($objSet->get_list()) { 
     307        foreach my $o ($objSet->get_list("fqdn", "domain", "cluster", "name")) { 
    308308            my $nodename = $o->name() || "UNDEF"; 
    309309 
     
    411411                    my $ip_serialized = Warewulf::Network->ip_serialize($1); 
    412412                    my $show_changes; 
    413                     foreach my $o (sort {$a->name() cmp $b->name()} $objSet->get_list()) { 
     413                    foreach my $o ($objSet->get_list("fqdn", "domain", "cluster", "name")) { 
    414414                        my $nodename = $o->name(); 
    415415                        if (! $opt_netdev) { 
  • branches/common/3.5/lib/Warewulf/ObjectSet.pm

    r1051 r1567  
    210210} 
    211211 
     212# This is a private method for sorting objects for get_list() 
     213sub _objectsortby() 
     214{ 
     215    foreach my $s (@_) { 
     216        my $testa = $a->get($s); 
     217        my $testb = $b->get($s); 
     218        if ($testa and $testb) { 
     219            if ($testa gt $testb) { 
     220                return 1; 
     221            } elsif ($testa lt $testb) { 
     222                return -1; 
     223            } 
     224        } 
     225    } 
     226    return 0; 
     227} 
     228 
    212229=item get_list() 
    213230 
     
    219236get_list() 
    220237{ 
    221     my ($self) = @_; 
     238    my $self = shift; 
    222239 
    223240    if (exists($self->{"ARRAY"})) { 
    224241        if (wantarray()) { 
    225             return @{$self->{"ARRAY"}}; 
     242            return sort _objectsortby @{$self->{"ARRAY"}}; 
    226243        } else { 
    227244            my $aref; 
  • branches/provision/3.5

  • branches/provision/3.5/lib/Warewulf/Module/Cli/Bootstrap.pm

    r1096 r1567  
    291291            } elsif ($command eq "list" or $command eq "print") { 
    292292                &nprint("BOOTSTRAP NAME            SIZE (M)\n"); 
    293                 foreach my $obj ($objSet->get_list()) { 
     293                foreach my $obj ($objSet->get_list("name")) { 
    294294                    printf("%-25s %-8.1f\n", 
    295295                        $obj->name() || "UNDEF", 
     
    299299                } 
    300300            } elsif ($command eq "rebuild" or $command eq "build") { 
    301                 foreach my $o ($objSet->get_list()) { 
     301                foreach my $o ($objSet->get_list("name")) { 
    302302                    &dprint("Calling build_local_bootstrap()\n"); 
    303303                    $o->build_local_bootstrap(); 
  • branches/provision/3.5/lib/Warewulf/Module/Cli/Provision.pm

    r1528 r1567  
    498498 
    499499    } elsif ($command eq "print") { 
    500         foreach my $o ($objSet->get_list()) { 
     500        foreach my $o ($objSet->get_list("fqdn", "domain", "cluster", "name")) { 
    501501            my @files; 
    502502            my $fileObjSet; 
     
    508508            } 
    509509            if ($fileObjSet) { 
    510                 foreach my $f ($fileObjSet->get_list()) { 
     510                foreach my $f ($fileObjSet->get_list("name")) { 
    511511                    push(@files, $f->name()); 
    512512                } 
     
    551551        &nprintf("%-19s %-15s %-21s %-21s\n", "NODE", "VNFS", "BOOTSTRAP", "FILES"); 
    552552        &nprint("================================================================================\n"); 
    553         foreach my $o ($objSet->get_list()) { 
     553        foreach my $o ($objSet->get_list("fqdn", "domain", "cluster", "name")) { 
    554554            my $fileObjSet; 
    555555            my @files; 
     
    561561            } 
    562562            if ($fileObjSet) { 
    563                 foreach my $f ($fileObjSet->get_list()) { 
     563                foreach my $f ($fileObjSet->get_list("name")) { 
    564564                    push(@files, $f->name()); 
    565565                } 
  • branches/provision/3.5/lib/Warewulf/Module/Cli/Vnfs.pm

    r1205 r1567  
    344344        } elsif ($command eq "list" or $command eq "print") { 
    345345            &nprint("VNFS NAME            SIZE (M) CHROOT LOCATION\n"); 
    346             foreach my $obj ($objSet->get_list()) { 
     346            foreach my $obj ($objSet->get_list("name")) { 
    347347                printf("%-20s %-8.1f %s\n", 
    348348                    $obj->name() || "UNDEF", 
  • branches/provision/3.5/lib/Warewulf/Provision/Dhcp/Isc.pm

    r1496 r1567  
    217217    &dprint("Iterating through nodes\n"); 
    218218 
    219     foreach my $n ($datastore->get_objects("node")->get_list()) { 
     219    foreach my $n ($datastore->get_objects("node")->get_list("fqdn", "domain", "cluster", "name")) { 
    220220        my $hostname = $n->nodename() || "undef"; 
    221221        my $nodename = $n->name() || "undef"; 
  • branches/provision/3.5/lib/Warewulf/Provision/HostsFile.pm

    r1247 r1567  
    121121    $hosts .= "# See provision.conf for configuration paramaters\n\n"; 
    122122 
    123     foreach my $n ($datastore->get_objects("node")->get_list()) { 
     123    foreach my $n ($datastore->get_objects("node")->get_list("fqdn", "domain", "cluster", "name")) { 
    124124        my $nodeid = $n->id(); 
    125125        my $name = $n->name(); 
Note: See TracChangeset for help on using the changeset viewer.