diff --git a/perl-xCAT/xCAT/ServiceNodeUtils.pm b/perl-xCAT/xCAT/ServiceNodeUtils.pm index c89fcfe31..6cf783de6 100755 --- a/perl-xCAT/xCAT/ServiceNodeUtils.pm +++ b/perl-xCAT/xCAT/ServiceNodeUtils.pm @@ -555,6 +555,10 @@ sub get_ServiceNode { push @{ $snhash{$master} }, $node; } + else + { + xCAT::MsgUtils->message('SW', "Unknown master for node: $node, neither noderes.servicenode nor site.master is set\n"); + } } } diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index 71aa7bc75..e640240a1 100755 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -2283,6 +2283,10 @@ sub dispatch_request { $SIG{CHLD} = 'DEFAULT'; xCAT::MsgUtils->trace(0, "D", "xcatd: handle request '$req->{command}->[0]' by plugin '$modname''s preprocess_request"); $reqs = ${ "xCAT_plugin::" . $modname . "::" }{preprocess_request}->($req, $dispatch_cb, \&do_request); + if (not(scalar @$reqs) and not(defined xCAT::TableUtils->get_site_attribute('master'))) { + $dispatch_cb->({ error => ['No site.master set, please check'], errorcode => [1] }); + return; + } } else { # otherwise, pass it in without hierarchy support $reqs = [$req]; }