Use more nix::Machine
fields
The upstream fields were made to match Hydra, so we can get rid of the
extra fields temporary added in
70e5469303
.
This commit is contained in:
parent
2bdbf51d7d
commit
449eb2d873
|
@ -231,11 +231,11 @@ system_time State::doDispatch()
|
||||||
sort(machinesSorted.begin(), machinesSorted.end(),
|
sort(machinesSorted.begin(), machinesSorted.end(),
|
||||||
[](const MachineInfo & a, const MachineInfo & b) -> bool
|
[](const MachineInfo & a, const MachineInfo & b) -> bool
|
||||||
{
|
{
|
||||||
float ta = std::round(a.currentJobs / a.machine->speedFactorFloat);
|
float ta = std::round(a.currentJobs / a.machine->speedFactor);
|
||||||
float tb = std::round(b.currentJobs / b.machine->speedFactorFloat);
|
float tb = std::round(b.currentJobs / b.machine->speedFactor);
|
||||||
return
|
return
|
||||||
ta != tb ? ta < tb :
|
ta != tb ? ta < tb :
|
||||||
a.machine->speedFactorFloat != b.machine->speedFactorFloat ? a.machine->speedFactorFloat > b.machine->speedFactorFloat :
|
a.machine->speedFactor != b.machine->speedFactor ? a.machine->speedFactor > b.machine->speedFactor :
|
||||||
a.currentJobs > b.currentJobs;
|
a.currentJobs > b.currentJobs;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -155,16 +155,16 @@ void State::parseMachines(const std::string & contents)
|
||||||
auto machine = std::make_shared<::Machine>(nix::Machine {
|
auto machine = std::make_shared<::Machine>(nix::Machine {
|
||||||
// `storeUri`, not yet used
|
// `storeUri`, not yet used
|
||||||
"",
|
"",
|
||||||
// `systemTypes`, not yet used
|
// `systemTypes`
|
||||||
{},
|
tokenizeString<StringSet>(tokens[1], ","),
|
||||||
// `sshKey`
|
// `sshKey`
|
||||||
tokens[2] == "-" ? "" : tokens[2],
|
tokens[2] == "-" ? "" : tokens[2],
|
||||||
// `maxJobs`
|
// `maxJobs`
|
||||||
tokens[3] != ""
|
tokens[3] != ""
|
||||||
? string2Int<MaxJobs>(tokens[3]).value()
|
? string2Int<MaxJobs>(tokens[3]).value()
|
||||||
: 1,
|
: 1,
|
||||||
// `speedFactor`, not yet used
|
// `speedFactor`
|
||||||
1,
|
atof(tokens[4].c_str()),
|
||||||
// `supportedFeatures`
|
// `supportedFeatures`
|
||||||
std::move(supportedFeatures),
|
std::move(supportedFeatures),
|
||||||
// `mandatoryFeatures`
|
// `mandatoryFeatures`
|
||||||
|
@ -176,8 +176,6 @@ void State::parseMachines(const std::string & contents)
|
||||||
});
|
});
|
||||||
|
|
||||||
machine->sshName = tokens[0];
|
machine->sshName = tokens[0];
|
||||||
machine->systemTypesSet = tokenizeString<StringSet>(tokens[1], ",");
|
|
||||||
machine->speedFactorFloat = atof(tokens[4].c_str());
|
|
||||||
|
|
||||||
/* Re-use the State object of the previous machine with the
|
/* Re-use the State object of the previous machine with the
|
||||||
same name. */
|
same name. */
|
||||||
|
@ -638,7 +636,7 @@ void State::dumpStatus(Connection & conn)
|
||||||
|
|
||||||
json machine = {
|
json machine = {
|
||||||
{"enabled", m->enabled},
|
{"enabled", m->enabled},
|
||||||
{"systemTypes", m->systemTypesSet},
|
{"systemTypes", m->systemTypes},
|
||||||
{"supportedFeatures", m->supportedFeatures},
|
{"supportedFeatures", m->supportedFeatures},
|
||||||
{"mandatoryFeatures", m->mandatoryFeatures},
|
{"mandatoryFeatures", m->mandatoryFeatures},
|
||||||
{"nrStepsDone", s->nrStepsDone.load()},
|
{"nrStepsDone", s->nrStepsDone.load()},
|
||||||
|
|
|
@ -244,14 +244,6 @@ struct Machine : nix::Machine
|
||||||
we are not yet used to, but once we are, we don't need this. */
|
we are not yet used to, but once we are, we don't need this. */
|
||||||
std::string sshName;
|
std::string sshName;
|
||||||
|
|
||||||
/* TODO Get rid once `nix::Machine::systemTypes` is a set not
|
|
||||||
vector. */
|
|
||||||
std::set<std::string> systemTypesSet;
|
|
||||||
|
|
||||||
/* TODO Get rid once `nix::Machine::systemTypes` is a `float` not
|
|
||||||
an `int`. */
|
|
||||||
float speedFactorFloat = 1.0;
|
|
||||||
|
|
||||||
struct State {
|
struct State {
|
||||||
typedef std::shared_ptr<State> ptr;
|
typedef std::shared_ptr<State> ptr;
|
||||||
counter currentJobs{0};
|
counter currentJobs{0};
|
||||||
|
@ -278,7 +270,7 @@ struct Machine : nix::Machine
|
||||||
{
|
{
|
||||||
/* Check that this machine is of the type required by the
|
/* Check that this machine is of the type required by the
|
||||||
step. */
|
step. */
|
||||||
if (!systemTypesSet.count(step->drv->platform == "builtin" ? nix::settings.thisSystem : step->drv->platform))
|
if (!systemTypes.count(step->drv->platform == "builtin" ? nix::settings.thisSystem : step->drv->platform))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* Check that the step requires all mandatory features of this
|
/* Check that the step requires all mandatory features of this
|
||||||
|
|
Loading…
Reference in a new issue