Search in sources :

Example 41 with Node

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

the class NamingServiceTest method testClone.

@Test(dependsOnMethods = { "testRegisterAndGets", "testResolution" })
public void testClone() {
    NamingService<Node> ns = NamingService.newNodeNS();
    Model mo = new DefaultModel();
    Node n = mo.newNode();
    NamingService<Node> ns2 = ns.copy();
    Assert.assertTrue(ns2.register(n, "n0"));
    Assert.assertNull(ns.resolve(n));
    Assert.assertNull(ns.resolve("n0"));
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Node(org.btrplace.model.Node) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) Test(org.testng.annotations.Test)

Example 42 with Node

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

the class NamingServiceTest method testGetViews.

@Test
public void testGetViews() {
    Model mo = new DefaultModel();
    Assert.assertNull(NamingService.getVMNames(mo));
    Assert.assertNull(NamingService.getNodeNames(mo));
    NamingService<VM> vmNs = NamingService.newVMNS();
    NamingService<Node> nodeNs = NamingService.newNodeNS();
    mo.attach(vmNs);
    mo.attach(nodeNs);
    Assert.assertEquals(NamingService.getNodeNames(mo), nodeNs);
    Assert.assertEquals(NamingService.getVMNames(mo), vmNs);
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) VM(org.btrplace.model.VM) Node(org.btrplace.model.Node) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) Test(org.testng.annotations.Test)

Example 43 with Node

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

the class NamingServiceTest method testSubstitution.

@Test(dependsOnMethods = { "testRegisterAndGets" })
public void testSubstitution() {
    NamingService<VM> ns = NamingService.newVMNS();
    Model mo = new DefaultModel();
    VM v = mo.newVM();
    ns.register(v, "vm0");
    VM v2 = mo.newVM();
    ns.substituteVM(v, v2);
    Assert.assertNull(ns.resolve(v));
    Assert.assertEquals(ns.resolve(v2), "vm0");
    Assert.assertEquals(ns.resolve("vm0"), v2);
    NamingService<Node> ns2 = NamingService.newNodeNS();
    ns2.register(mo.newNode(), "n0");
    Assert.assertTrue(ns2.substituteVM(mo.newVM(), mo.newVM()));
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) VM(org.btrplace.model.VM) Node(org.btrplace.model.Node) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) Test(org.testng.annotations.Test)

Example 44 with Node

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

the class DefaultReconfigurationPlanTest method testToString.

@Test
public void testToString() {
    Model mo = new DefaultModel();
    VM v1 = mo.newVM();
    VM v2 = mo.newVM();
    Node n1 = mo.newNode();
    Node n2 = mo.newNode();
    mo.getMapping().addOnlineNode(n1);
    mo.getMapping().addOnlineNode(n2);
    mo.getMapping().addRunningVM(v1, n1);
    mo.getMapping().addRunningVM(v2, n1);
    ReconfigurationPlan p1 = new DefaultReconfigurationPlan(mo);
    p1.add(new MigrateVM(v1, n1, n2, 1, 2));
    p1.add(new MigrateVM(v2, n1, n2, 1, 2));
    String s = p1.toString();
    // 2 migrations
    Assert.assertNotEquals(s.indexOf("migrate("), s.lastIndexOf("migrate("));
    System.err.println(p1.toString());
    System.err.flush();
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) MigrateVM(org.btrplace.plan.event.MigrateVM) VM(org.btrplace.model.VM) SuspendVM(org.btrplace.plan.event.SuspendVM) Node(org.btrplace.model.Node) ShutdownNode(org.btrplace.plan.event.ShutdownNode) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) MigrateVM(org.btrplace.plan.event.MigrateVM) Test(org.testng.annotations.Test)

Example 45 with Node

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

the class BenchTest method instance.

public static Instance instance() {
    Model mo = new DefaultModel();
    VM v1 = mo.newVM();
    VM v2 = mo.newVM();
    Node n1 = mo.newNode();
    Node n2 = mo.newNode();
    Node n3 = mo.newNode();
    mo.getMapping().on(n1, n2, n3).run(n1, v1).run(n2, v2).off(n3);
    Set<VM> s = new HashSet<>();
    s.add(v1);
    s.add(v2);
    List<SatConstraint> cstrs = Arrays.asList(new Spread(s, true), new Fence(v1, n2), new Offline(n1));
    return new Instance(mo, cstrs, new MinMTTR());
}
Also used : DefaultModel(org.btrplace.model.DefaultModel) Instance(org.btrplace.model.Instance) Node(org.btrplace.model.Node) SatConstraint(org.btrplace.model.constraint.SatConstraint) MinMTTR(org.btrplace.model.constraint.MinMTTR) Offline(org.btrplace.model.constraint.Offline) Spread(org.btrplace.model.constraint.Spread) VM(org.btrplace.model.VM) Model(org.btrplace.model.Model) DefaultModel(org.btrplace.model.DefaultModel) Fence(org.btrplace.model.constraint.Fence) HashSet(java.util.HashSet)

Aggregations

Node (org.btrplace.model.Node)382 DefaultModel (org.btrplace.model.DefaultModel)278 Model (org.btrplace.model.Model)276 VM (org.btrplace.model.VM)262 Test (org.testng.annotations.Test)259 Mapping (org.btrplace.model.Mapping)187 ReconfigurationPlan (org.btrplace.plan.ReconfigurationPlan)142 HashSet (java.util.HashSet)95 SatConstraint (org.btrplace.model.constraint.SatConstraint)87 ArrayList (java.util.ArrayList)86 DefaultChocoScheduler (org.btrplace.scheduler.choco.DefaultChocoScheduler)82 MigrateVM (org.btrplace.plan.event.MigrateVM)72 ShareableResource (org.btrplace.model.view.ShareableResource)71 ChocoScheduler (org.btrplace.scheduler.choco.ChocoScheduler)64 ShutdownNode (org.btrplace.plan.event.ShutdownNode)52 Instance (org.btrplace.model.Instance)43 BootNode (org.btrplace.plan.event.BootNode)41 DefaultParameters (org.btrplace.scheduler.choco.DefaultParameters)40 DefaultReconfigurationProblemBuilder (org.btrplace.scheduler.choco.DefaultReconfigurationProblemBuilder)36 ReconfigurationProblem (org.btrplace.scheduler.choco.ReconfigurationProblem)36