private void make(Configuration cfg) { VJob v = new BasicPlasmaVJob("vappHA"); ManagedElementSet<VirtualMachine> t1 = new SimpleManagedElementSet<VirtualMachine>(); t1.add(cfg.getAllVirtualMachines().get("vappHA.VM1")); t1.add(cfg.getAllVirtualMachines().get("vappHA.VM2")); t1.add(cfg.getAllVirtualMachines().get("vappHA.VM3")); v.addConstraint(new ContinuousSpread(t1)); v.addVirtualMachine(cfg.getAllVirtualMachines().get("vappHA.VM10")); v.addVirtualMachine(cfg.getAllVirtualMachines().get("vappHA.top")); v.addVirtualMachine(cfg.getAllVirtualMachines().get("vappHA.middle")); ManagedElementSet<Node> ns = new SimpleManagedElementSet<Node>(); ns.add(cfg.getOnlines().get("node-1")); ns.add(cfg.getOnlines().get("node-2")); v.addConstraint(new Capacity(ns, 15)); ManagedElementSet<Node> ns2 = new SimpleManagedElementSet<Node>(); ns2.add(cfg.getOnlines().get("node-3")); ns2.add(cfg.getOnlines().get("node-4")); Set<ManagedElementSet<Node>> x = new HashSet<ManagedElementSet<Node>>(); x.add(ns); x.add(ns2); v.addConstraint(new Among(t1, x)); v.addConstraint(new Ban(t1, ns2)); try { ProtobufVJobSerializer.getInstance().write(v, RESOURCE); } catch (Exception e) { Assert.fail(e.getMessage(), e); } }
public void test() { Configuration src = TestHelper.readConfiguration(RESOURCES_DIR + "sample.txt"); ConfigurationSampler s = new CPUSampler(1000); Configuration res = s.sample(src); Assert.assertEquals(res.getOnlines().get("N1").getCPUCapacity(), 1); Assert.assertEquals(res.getOnlines().get("N2").getCPUCapacity(), 2); Assert.assertEquals(res.getOnlines().get("N3").getCPUCapacity(), 3); Assert.assertEquals(res.getOfflines().get("N4").getCPUCapacity(), 4); Assert.assertEquals(res.getRunnings().get("VM1").getCPUConsumption(), 1); Assert.assertEquals(res.getRunnings().get("VM2").getCPUConsumption(), 2); Assert.assertEquals(res.getSleepings().get("VM3").getCPUConsumption(), 3); Assert.assertEquals(res.getWaitings().get("VM4").getCPUConsumption(), 4); }
/** Test serialization/unserialization */ public void test() { Configuration cfg = new SimpleConfiguration(); for (int i = 1; i <= 10; i++) { Node n = new SimpleNode("N" + i, i, i + 1, i + 2); if (i % 3 == 0) { cfg.addOffline(n); } else { cfg.addOnline(n); } } Random rnd = new Random(); for (int i = 1; i <= 20; i++) { VirtualMachine vm = new SimpleVirtualMachine("VM" + i, i, i + 1, i + 2); vm.setCPUDemand(i + 3); vm.setCPUMax(i + 7); Node n = cfg.getOnlines().get(rnd.nextInt(cfg.getOnlines().size())); if (i % 3 == 0) { cfg.setSleepOn(vm, n); } else if (i % 5 == 0) { cfg.addWaiting(vm); } else { cfg.setRunOn(vm, n); } } FileConfigurationSerializer s = PlainTextConfigurationSerializer.getInstance(); File tmpF; try { tmpF = File.createTempFile("out", "out"); tmpF.deleteOnExit(); s.write(cfg, tmpF.getAbsolutePath()); Configuration r = s.read(tmpF.getAbsolutePath()); Assert.assertEquals(r, cfg); } catch (IOException e) { Assert.fail(e.getMessage(), e); } catch (ConfigurationSerializerException e) { Assert.fail(e.getMessage(), e); } }