Search in sources :

Example 6 with Ready

use of org.btrplace.model.constraint.Ready in project scheduler by btrplace.

the class ReadySplitterTest method simpleTest.

@Test
public void simpleTest() {
    ReadySplitter splitter = new ReadySplitter();
    List<Instance> instances = new ArrayList<>();
    Model m0 = new DefaultModel();
    VM v = m0.newVM(1);
    m0.getMapping().addReadyVM(v);
    m0.getMapping().addRunningVM(m0.newVM(2), m0.newNode(1));
    Model m1 = new DefaultModel();
    m1.getMapping().addReadyVM(m1.newVM(3));
    m1.getMapping().addSleepingVM(m1.newVM(4), m1.newNode(2));
    m1.getMapping().addRunningVM(m1.newVM(5), m1.newNode(3));
    instances.add(new Instance(m0, new ArrayList<>(), new MinMTTR()));
    instances.add(new Instance(m1, new ArrayList<>(), new MinMTTR()));
    Set<VM> all = new HashSet<>(m0.getMapping().getAllVMs());
    all.addAll(m1.getMapping().getAllVMs());
    TIntIntHashMap index = Instances.makeVMIndex(instances);
    // Only VMs in m0
    Ready single = new Ready(v);
    Assert.assertTrue(splitter.split(single, null, instances, index, new TIntIntHashMap()));
    Assert.assertTrue(instances.get(0).getSatConstraints().contains(single));
    Assert.assertFalse(instances.get(1).getSatConstraints().contains(single));
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Ready(org.btrplace.model.constraint.Ready) Instance(org.btrplace.model.Instance) VM(org.btrplace.model.VM) ArrayList(java.util.ArrayList) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) MinMTTR(org.btrplace.model.constraint.MinMTTR) TIntIntHashMap(gnu.trove.map.hash.TIntIntHashMap) HashSet(java.util.HashSet) Test(org.testng.annotations.Test)

Aggregations

Ready (org.btrplace.model.constraint.Ready)6 Test (org.testng.annotations.Test)5 DefaultModel (org.btrplace.model.DefaultModel)4 VM (org.btrplace.model.VM)4 HashSet (java.util.HashSet)3 Model (org.btrplace.model.Model)3 MinMTTR (org.btrplace.model.constraint.MinMTTR)2 Running (org.btrplace.model.constraint.Running)2 SatConstraint (org.btrplace.model.constraint.SatConstraint)2 TIntIntHashMap (gnu.trove.map.hash.TIntIntHashMap)1 ArrayList (java.util.ArrayList)1 ScriptBuilder (org.btrplace.btrpsl.ScriptBuilder)1 Instance (org.btrplace.model.Instance)1 Node (org.btrplace.model.Node)1 Killed (org.btrplace.model.constraint.Killed)1 Online (org.btrplace.model.constraint.Online)1 Preserve (org.btrplace.model.constraint.Preserve)1 Sleeping (org.btrplace.model.constraint.Sleeping)1 ShareableResource (org.btrplace.model.view.ShareableResource)1 ReconfigurationPlan (org.btrplace.plan.ReconfigurationPlan)1