Keep track of requiredSystemFeatures in the machine stats
For example, steps that require the "kvm" feature may require a different kind of machine to be provisioned. This can also be used to require performance-sensitive tests to run on a particular kind of machine, e.g., by setting requiredSystemFeatures to something like "ec2-i2.8xlarge".
This commit is contained in:
@ -158,7 +158,7 @@ system_time State::doDispatch()
|
||||
|
||||
++i;
|
||||
|
||||
runnablePerType[step->drv.platform]++;
|
||||
runnablePerType[step->systemType]++;
|
||||
|
||||
/* Skip previously failed steps that aren't ready
|
||||
to be retried. */
|
||||
@ -219,8 +219,8 @@ system_time State::doDispatch()
|
||||
break;
|
||||
} else ++i;
|
||||
assert(removed);
|
||||
assert(runnablePerType[step->drv.platform]);
|
||||
runnablePerType[step->drv.platform]--;
|
||||
assert(runnablePerType[step->systemType]);
|
||||
runnablePerType[step->systemType]--;
|
||||
}
|
||||
|
||||
/* Make a slot reservation and start a thread to
|
||||
@ -291,7 +291,7 @@ State::MachineReservation::MachineReservation(State & state, Step::ptr step, Mac
|
||||
|
||||
{
|
||||
auto machineTypes_(state.machineTypes.lock());
|
||||
(*machineTypes_)[step->drv.platform].running++;
|
||||
(*machineTypes_)[step->systemType].running++;
|
||||
}
|
||||
}
|
||||
|
||||
@ -305,7 +305,7 @@ State::MachineReservation::~MachineReservation()
|
||||
|
||||
{
|
||||
auto machineTypes_(state.machineTypes.lock());
|
||||
auto & machineType = (*machineTypes_)[step->drv.platform];
|
||||
auto & machineType = (*machineTypes_)[step->systemType];
|
||||
assert(machineType.running);
|
||||
machineType.running--;
|
||||
if (machineType.running == 0)
|
||||
|
Reference in New Issue
Block a user