package xCAT::Scope; use xCAT::Utils; use xCAT::Table; sub get_broadcast_scope { my $req = shift; if ($req =~ /xCAT::Scope/) { $req = shift; } $callback = shift; if ($req->{_xcatdest}) { return [$req]; } #Exit if the packet has been preprocessed in its history my @requests = ({%$req}); #Start with a straight copy to reflect local instance my $sitetab = xCAT::Table->new('site'); (my $ent) = $sitetab->getAttribs({key=>'xcatservers'},'value'); $sitetab->close; if ($ent and $ent->{value}) { foreach (split /,/,$ent->{value}) { if (xCAT::Utils->thishostisnot($_)) { my $reqcopy = {%$req}; $reqcopy->{'_xcatdest'} = $_; push @requests,$reqcopy; } } } return \@requests; } 1;