Inventory: migrate failure test message
This commit is contained in:
@@ -121,7 +121,7 @@ in
|
||||
pkgsForSystem
|
||||
meta
|
||||
;
|
||||
inventory = (lib.traceValSeq cfg.inventory);
|
||||
inventory = (lib.traceValSeq cfg.inventory);
|
||||
};
|
||||
};
|
||||
_file = __curPos.file;
|
||||
|
||||
@@ -7,7 +7,14 @@ let
|
||||
|
||||
resolveTags =
|
||||
# Inventory, { machines :: [string], tags :: [string] }
|
||||
{ serviceName, instanceName, roleName, inventory, members}: {
|
||||
{
|
||||
serviceName,
|
||||
instanceName,
|
||||
roleName,
|
||||
inventory,
|
||||
members,
|
||||
}:
|
||||
{
|
||||
machines =
|
||||
members.machines or [ ]
|
||||
++ (builtins.foldl' (
|
||||
@@ -25,7 +32,7 @@ let
|
||||
in
|
||||
if tagMembers == [ ] then
|
||||
throw ''
|
||||
inventory.services.${serviceName}.${instanceName}: - ${roleName} tags: no machine with '${tag}' found.
|
||||
inventory.services.${serviceName}.${instanceName}: - ${roleName} tags: no machine with tag '${tag}' found.
|
||||
Available tags: ${builtins.toJSON (lib.unique availableTags)}
|
||||
''
|
||||
else
|
||||
@@ -54,8 +61,15 @@ let
|
||||
acc2: instanceName: serviceConfig:
|
||||
let
|
||||
resolvedRoles = builtins.mapAttrs (
|
||||
roleName: members: resolveTags {
|
||||
inherit serviceName instanceName roleName inventory members;
|
||||
roleName: members:
|
||||
resolveTags {
|
||||
inherit
|
||||
serviceName
|
||||
instanceName
|
||||
roleName
|
||||
inventory
|
||||
members
|
||||
;
|
||||
}
|
||||
) serviceConfig.roles;
|
||||
|
||||
|
||||
@@ -14,13 +14,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
machineRef = lib.mkOptionType {
|
||||
name = "str";
|
||||
description = "Machine :: [${builtins.concatStringsSep " | " (builtins.attrNames config.machines)}]";
|
||||
check = v: lib.isString v && builtins.elem v (builtins.attrNames config.machines);
|
||||
merge = lib.mergeEqualOption;
|
||||
};
|
||||
|
||||
moduleConfig = lib.mkOption {
|
||||
default = { };
|
||||
type = types.attrsOf types.anything;
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
expr = configs;
|
||||
expectedError = {
|
||||
type = "ThrownError";
|
||||
msg = "Tag: '\\w+' not found";
|
||||
msg = "no machine with tag '\\w+' found";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user