Inventory: migrate failure test message

This commit is contained in:
Johannes Kirschbauer
2024-07-16 10:33:24 +02:00
parent d9932b3b81
commit 5ec952d29d
4 changed files with 20 additions and 13 deletions

View File

@@ -121,7 +121,7 @@ in
pkgsForSystem
meta
;
inventory = (lib.traceValSeq cfg.inventory);
inventory = (lib.traceValSeq cfg.inventory);
};
};
_file = __curPos.file;

View 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;

View File

@@ -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;

View File

@@ -167,7 +167,7 @@
expr = configs;
expectedError = {
type = "ThrownError";
msg = "Tag: '\\w+' not found";
msg = "no machine with tag '\\w+' found";
};
};
}