summaryrefslogtreecommitdiffstats
path: root/config-db/slxconfig
diff options
context:
space:
mode:
Diffstat (limited to 'config-db/slxconfig')
-rwxr-xr-xconfig-db/slxconfig18
1 files changed, 15 insertions, 3 deletions
diff --git a/config-db/slxconfig b/config-db/slxconfig
index 5592e06d..d4656e5e 100755
--- a/config-db/slxconfig
+++ b/config-db/slxconfig
@@ -269,9 +269,13 @@ sub checkGivenStage3Attrs
my $stage3Attrs = shift;
my $vendorOSID = shift;
- my $vendorOS = $openslxDB->fetchVendorOSByID($vendorOSID);
-
- OpenSLX::AttributeRoster->checkValues($stage3Attrs, $vendorOS->{name});
+ if ($vendorOSID) {
+ my $vendorOS = $openslxDB->fetchVendorOSByID($vendorOSID);
+ OpenSLX::AttributeRoster->checkValues($stage3Attrs, $vendorOS->{name});
+ }
+ else {
+ OpenSLX::AttributeRoster->checkValues($stage3Attrs);
+ }
return 1;
}
@@ -711,6 +715,8 @@ sub addClientToConfigDB
);
$clientData->{name} = $clientName;
+ checkGivenStage3Attrs($clientData->{attrs});
+
my @systemIDs;
if (exists $clientData->{systems}) {
@systemIDs = map {
@@ -778,6 +784,8 @@ sub addGroupToConfigDB
);
$groupData->{name} = $groupName;
+ checkGivenStage3Attrs($groupData->{attrs});
+
my @systemIDs;
if (exists $groupData->{systems}) {
@systemIDs = map {
@@ -951,6 +959,8 @@ sub changeClientInConfigDB
$clientName);
}
+ checkGivenStage3Attrs($clientData->{attrs});
+
mergeNonExistingAttributes($clientData, $client);
my @systemIDs;
@@ -1038,6 +1048,8 @@ sub changeGroupInConfigDB
$groupName);
}
+ checkGivenStage3Attrs($groupData->{attrs});
+
mergeNonExistingAttributes($groupData, $group);
my (@systemIDs, @clientIDs);