package gipad.plan; import gipad.configuration.configuration.*; import gipad.exception.PlanException; import gipad.tools.ManagedElementList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public interface Plan { Logger logger = LoggerFactory.getLogger("Plan"); /** * Compute a new DefaultSequencedReconfigurationPlan that satisfy all the constraints applied to the model. * * @param src The source configuration. It must be viable. * @param q the vjobs * @return a plan if it exists. * @throws PlanException if an error occurred while planing the action to reach the state of the nodes and the virtual machines * @throws gipad.exception.PlanException */ public SequencedReconfigurationPlan compute(Configuration src, ManagedElementList<VirtualMachine> q) throws PlanException; }