Search in sources :

Example 81 with VM

use of org.btrplace.model.VM in project scheduler by btrplace.

the class ActionTest method testBasics.

@Test
public void testBasics() {
    Action a1 = new MockAction(new VM(1), 1, 3);
    Assert.assertEquals(1, a1.getStart());
    Assert.assertEquals(3, a1.getEnd());
    Assert.assertTrue(a1.getEvents(Action.Hook.PRE).isEmpty());
    Assert.assertTrue(a1.getEvents(Action.Hook.POST).isEmpty());
}
Also used : Action(org.btrplace.plan.event.Action) VM(org.btrplace.model.VM) Test(org.testng.annotations.Test)

Example 82 with VM

use of org.btrplace.model.VM in project scheduler by btrplace.

the class AmongChecker method endsWith.

@Override
public boolean endsWith(Model i) {
    Mapping map = i.getMapping();
    Collection<Node> grp = null;
    for (VM vm : getVMs()) {
        if (map.isRunning(vm)) {
            Collection<Node> nodes = getConstraint().getAssociatedPGroup(map.getVMLocation(vm));
            if (nodes.isEmpty()) {
                return false;
            } else if (grp == null) {
                grp = nodes;
            } else if (!grp.equals(nodes)) {
                return false;
            }
        }
    }
    return true;
}
Also used : Node(org.btrplace.model.Node) VM(org.btrplace.model.VM) Mapping(org.btrplace.model.Mapping)

Example 83 with VM

use of org.btrplace.model.VM in project scheduler by btrplace.

the class GatherChecker method endsWith.

@Override
public boolean endsWith(Model mo) {
    Node used = null;
    Mapping map = mo.getMapping();
    for (VM vm : getVMs()) {
        if (map.isRunning(vm)) {
            if (used == null) {
                used = map.getVMLocation(vm);
            } else if (used != map.getVMLocation(vm)) {
                return false;
            }
        }
    }
    return true;
}
Also used : Node(org.btrplace.model.Node) VM(org.btrplace.model.VM) Mapping(org.btrplace.model.Mapping)

Example 84 with VM

use of org.btrplace.model.VM in project scheduler by btrplace.

the class LonelyChecker method discreteCheck.

private boolean discreteCheck(Model mo) {
    Mapping map = mo.getMapping();
    for (VM vm : getVMs()) {
        if (map.isRunning(vm)) {
            Node host = map.getVMLocation(vm);
            Set<VM> on = map.getRunningVMs(host);
            // it's a violation
            for (VM vm2 : on) {
                if (!vm2.equals(vm) && !getVMs().contains(vm2)) {
                    return false;
                }
            }
        }
    }
    return true;
}
Also used : VM(org.btrplace.model.VM) Node(org.btrplace.model.Node) BootNode(org.btrplace.plan.event.BootNode) Mapping(org.btrplace.model.Mapping)

Example 85 with VM

use of org.btrplace.model.VM in project scheduler by btrplace.

the class OverbookChecker method endsWith.

@Override
public boolean endsWith(Model i) {
    Mapping cfg = i.getMapping();
    ShareableResource rc = ShareableResource.get(i, id);
    if (rc == null) {
        return false;
    }
    for (Node nId : getNodes()) {
        if (cfg.isOnline(nId)) {
            // Server capacity with the ratio
            double c = rc.getCapacity(nId) * ratio;
            // Minus the VMs usage
            for (VM vmId : cfg.getRunningVMs(nId)) {
                c -= rc.getConsumption(vmId);
                if (c < 0) {
                    return false;
                }
            }
        }
    }
    return true;
}
Also used : Node(org.btrplace.model.Node) VM(org.btrplace.model.VM) Mapping(org.btrplace.model.Mapping) ShareableResource(org.btrplace.model.view.ShareableResource)

Aggregations

VM (org.btrplace.model.VM)192 Node (org.btrplace.model.Node)110 Model (org.btrplace.model.Model)92 DefaultModel (org.btrplace.model.DefaultModel)91 Test (org.testng.annotations.Test)91 Mapping (org.btrplace.model.Mapping)64 HashSet (java.util.HashSet)58 ArrayList (java.util.ArrayList)43 SatConstraint (org.btrplace.model.constraint.SatConstraint)40 ReconfigurationPlan (org.btrplace.plan.ReconfigurationPlan)39 VMTransition (org.btrplace.scheduler.choco.transition.VMTransition)35 IntVar (org.chocosolver.solver.variables.IntVar)35 ShareableResource (org.btrplace.model.view.ShareableResource)32 RelocatableVM (org.btrplace.scheduler.choco.transition.RelocatableVM)27 MigrateVM (org.btrplace.plan.event.MigrateVM)25 DefaultChocoScheduler (org.btrplace.scheduler.choco.DefaultChocoScheduler)17 StayAwayVM (org.btrplace.scheduler.choco.transition.StayAwayVM)17 Slice (org.btrplace.scheduler.choco.Slice)16 BootVM (org.btrplace.scheduler.choco.transition.BootVM)16 BootableNode (org.btrplace.scheduler.choco.transition.BootableNode)16