Search in sources :

Example 6 with ExecutionPlan

use of org.iobserve.adaptation.executionplan.ExecutionPlan in project iobserve-analysis by research-iobserve.

the class AtomicActionComputationTest method testAllocateAction2AtomicActions.

/**
 * allocate action conversion to atomic actions.
 *
 * @throws Exception
 *             on internal errors
 */
@Test
public void testAllocateAction2AtomicActions() throws Exception {
    final SystemAdaptation systemAdaptationModel = SystemadaptationFactory.eINSTANCE.createSystemAdaptation();
    final ExecutionPlan executionPlan;
    final DeploymentNode redeploymentNode;
    final AllocateAction allocateAction;
    // Allocation specific setup
    this.redeploymentModel.allocateResourceContainerR3();
    this.initializeModelGraphs();
    redeploymentNode = this.findDeploymentNodeByID(this.redeploymentModel.getRc3().getId(), this.redeploymentModelGraph.getServers());
    allocateAction = ResourceContainerActionFactory.createAllocateAction(redeploymentNode);
    systemAdaptationModel.getActions().add(allocateAction);
    // Execute stage
    executionPlan = this.executeStage(systemAdaptationModel);
    // Basic verification
    Assert.assertThat(executionPlan.getActions().size(), Matchers.is(2));
    Assert.assertTrue(executionPlan.getActions().get(0) instanceof AllocateNodeAction);
    Assert.assertTrue(executionPlan.getActions().get(1) instanceof ConnectNodeAction);
}
Also used : SystemAdaptation(org.iobserve.planning.systemadaptation.SystemAdaptation) ExecutionPlan(org.iobserve.adaptation.executionplan.ExecutionPlan) AllocateNodeAction(org.iobserve.adaptation.executionplan.AllocateNodeAction) DeploymentNode(org.iobserve.adaptation.data.graph.DeploymentNode) ConnectNodeAction(org.iobserve.adaptation.executionplan.ConnectNodeAction) AllocateAction(org.iobserve.planning.systemadaptation.AllocateAction) Test(org.junit.Test)

Example 7 with ExecutionPlan

use of org.iobserve.adaptation.executionplan.ExecutionPlan in project iobserve-analysis by research-iobserve.

the class AtomicActionComputationTest method testChangeComponent2AtomicActions.

/**
 * Replace component action conversion to atomic actions.
 *
 * @throws Exception
 *             on internal errors
 */
@Test
public void testChangeComponent2AtomicActions() throws Exception {
    final SystemAdaptation systemAdaptationModel = SystemadaptationFactory.eINSTANCE.createSystemAdaptation();
    final ExecutionPlan executionPlan;
    final ComponentNode runtimeNode;
    final ComponentNode redeploymentNode;
    final ChangeRepositoryComponentAction changeComponentAction;
    // Change component specific setup
    this.redeploymentModel.changeRepositoryCompBxToCompBy();
    this.initializeModelGraphs();
    runtimeNode = this.findComponentNodeByID(this.runtimeModel.getAlcxtBRc1().getId(), this.runtimeModelGraph.getComponents());
    redeploymentNode = this.findComponentNodeByID(this.redeploymentModel.getAlcxtBRc1().getId(), this.redeploymentModelGraph.getComponents());
    changeComponentAction = AssemblyContextActionFactory.generateChangeRepositoryComponentAction(runtimeNode, redeploymentNode);
    systemAdaptationModel.getActions().add(changeComponentAction);
    // Execute stage
    executionPlan = this.executeStage(systemAdaptationModel);
    // Basic verification
    Assert.assertThat(executionPlan.getActions().size(), Matchers.is(7));
    Assert.assertTrue(executionPlan.getActions().get(0) instanceof DeployComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(1) instanceof MigrateComponentStateAction);
    Assert.assertTrue(executionPlan.getActions().get(2) instanceof ConnectComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(3) instanceof BlockRequestsToComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(4) instanceof FinishComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(5) instanceof DisconnectComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(6) instanceof UndeployComponentAction);
}
Also used : SystemAdaptation(org.iobserve.planning.systemadaptation.SystemAdaptation) ExecutionPlan(org.iobserve.adaptation.executionplan.ExecutionPlan) UndeployComponentAction(org.iobserve.adaptation.executionplan.UndeployComponentAction) BlockRequestsToComponentAction(org.iobserve.adaptation.executionplan.BlockRequestsToComponentAction) MigrateComponentStateAction(org.iobserve.adaptation.executionplan.MigrateComponentStateAction) ConnectComponentAction(org.iobserve.adaptation.executionplan.ConnectComponentAction) FinishComponentAction(org.iobserve.adaptation.executionplan.FinishComponentAction) DisconnectComponentAction(org.iobserve.adaptation.executionplan.DisconnectComponentAction) ComponentNode(org.iobserve.adaptation.data.graph.ComponentNode) ChangeRepositoryComponentAction(org.iobserve.planning.systemadaptation.ChangeRepositoryComponentAction) DeployComponentAction(org.iobserve.adaptation.executionplan.DeployComponentAction) Test(org.junit.Test)

Example 8 with ExecutionPlan

use of org.iobserve.adaptation.executionplan.ExecutionPlan in project iobserve-analysis by research-iobserve.

the class AtomicActionComputationTest method testMigrateAction2AtomicActions.

/**
 * migrate action conversion to atomic actions.
 *
 * @throws Exception
 *             on internal errors
 */
@Test
public void testMigrateAction2AtomicActions() throws Exception {
    final SystemAdaptation systemAdaptationModel = SystemadaptationFactory.eINSTANCE.createSystemAdaptation();
    final ExecutionPlan executionPlan;
    final ComponentNode runtimeNode;
    final ComponentNode redeploymentNode;
    final MigrateAction migrateAction;
    // Migration specific setup
    this.redeploymentModel.migrateCompBToRc2();
    this.initializeModelGraphs();
    runtimeNode = this.findComponentNodeByID(this.runtimeModel.getAlcxtBRc1().getId(), this.runtimeModelGraph.getComponents());
    redeploymentNode = this.findComponentNodeByID(this.redeploymentModel.getAlcxtBRc1().getId(), this.redeploymentModelGraph.getComponents());
    migrateAction = AssemblyContextActionFactory.generateMigrateAction(runtimeNode, redeploymentNode);
    systemAdaptationModel.getActions().add(migrateAction);
    // Execute stage
    executionPlan = this.executeStage(systemAdaptationModel);
    // Basic verification
    Assert.assertThat(executionPlan.getActions().size(), Matchers.is(7));
    Assert.assertTrue(executionPlan.getActions().get(0) instanceof DeployComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(1) instanceof MigrateComponentStateAction);
    Assert.assertTrue(executionPlan.getActions().get(2) instanceof ConnectComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(3) instanceof BlockRequestsToComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(4) instanceof FinishComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(5) instanceof DisconnectComponentAction);
    Assert.assertTrue(executionPlan.getActions().get(6) instanceof UndeployComponentAction);
}
Also used : SystemAdaptation(org.iobserve.planning.systemadaptation.SystemAdaptation) ExecutionPlan(org.iobserve.adaptation.executionplan.ExecutionPlan) UndeployComponentAction(org.iobserve.adaptation.executionplan.UndeployComponentAction) BlockRequestsToComponentAction(org.iobserve.adaptation.executionplan.BlockRequestsToComponentAction) MigrateComponentStateAction(org.iobserve.adaptation.executionplan.MigrateComponentStateAction) ConnectComponentAction(org.iobserve.adaptation.executionplan.ConnectComponentAction) FinishComponentAction(org.iobserve.adaptation.executionplan.FinishComponentAction) DisconnectComponentAction(org.iobserve.adaptation.executionplan.DisconnectComponentAction) ComponentNode(org.iobserve.adaptation.data.graph.ComponentNode) MigrateAction(org.iobserve.planning.systemadaptation.MigrateAction) DeployComponentAction(org.iobserve.adaptation.executionplan.DeployComponentAction) Test(org.junit.Test)

Aggregations

ExecutionPlan (org.iobserve.adaptation.executionplan.ExecutionPlan)8 SystemAdaptation (org.iobserve.planning.systemadaptation.SystemAdaptation)7 Test (org.junit.Test)6 ComponentNode (org.iobserve.adaptation.data.graph.ComponentNode)4 BlockRequestsToComponentAction (org.iobserve.adaptation.executionplan.BlockRequestsToComponentAction)3 ConnectComponentAction (org.iobserve.adaptation.executionplan.ConnectComponentAction)3 DeployComponentAction (org.iobserve.adaptation.executionplan.DeployComponentAction)3 DisconnectComponentAction (org.iobserve.adaptation.executionplan.DisconnectComponentAction)3 FinishComponentAction (org.iobserve.adaptation.executionplan.FinishComponentAction)3 MigrateComponentStateAction (org.iobserve.adaptation.executionplan.MigrateComponentStateAction)3 UndeployComponentAction (org.iobserve.adaptation.executionplan.UndeployComponentAction)3 DeploymentNode (org.iobserve.adaptation.data.graph.DeploymentNode)2 AllocateNodeAction (org.iobserve.adaptation.executionplan.AllocateNodeAction)1 ConnectNodeAction (org.iobserve.adaptation.executionplan.ConnectNodeAction)1 DeallocateNodeAction (org.iobserve.adaptation.executionplan.DeallocateNodeAction)1 DisconnectNodeAction (org.iobserve.adaptation.executionplan.DisconnectNodeAction)1 AtomicActionComputation (org.iobserve.adaptation.stages.AtomicActionComputation)1 AllocateAction (org.iobserve.planning.systemadaptation.AllocateAction)1 ChangeRepositoryComponentAction (org.iobserve.planning.systemadaptation.ChangeRepositoryComponentAction)1 DeallocateAction (org.iobserve.planning.systemadaptation.DeallocateAction)1