Package org.cloudsimplus.faultinjection
Interface VmCloner
- All Known Implementing Classes:
VmClonerSimple
public interface VmCloner
Enables cloning a
Vm
which was destroyed
due to a Host Failure
.
It provides all the features to clone a Vm, simulating
the creating of another Vm from a snapshot of the failed one.
It also enables re-creating Cloudlets which were running
inside the failed VM.- Since:
- CloudSim Plus 1.2.3
- Author:
- raysaoliveira
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionClones a givenVm
using the Vm Cloner Function and their Cloudlets using the Cloudlets Cloner Function, binding the cloned Cloudlets to the cloned Vm.int
Gets the number of VMs cloned so far.int
Gets the maximum number of Vm clones to create.boolean
Checks if the maximum number of Vm clones to be created was reached.setCloudletsClonerFunction
(Function<Vm, List<Cloudlet>> cloudletsClonerFunction) setMaxClonesNumber
(int maxClonesNumber) Sets the maximum number of Vm clones to create.setVmClonerFunction
(UnaryOperator<Vm> vmClonerFunction) Sets theUnaryOperator
to be used to cloneVm
s.
-
Field Details
-
LOGGER
static final org.slf4j.Logger LOGGER -
NULL
-
-
Method Details
-
getClonedVmsNumber
int getClonedVmsNumber()Gets the number of VMs cloned so far.- Returns:
-
clone
Clones a givenVm
using the Vm Cloner Function and their Cloudlets using the Cloudlets Cloner Function, binding the cloned Cloudlets to the cloned Vm.- Parameters:
sourceVm
- the Vm to be cloned- Returns:
- a
Map.Entry
where the key is the cloned Vm and the value is the List of cloned Cloudlets. - See Also:
-
setVmClonerFunction
Sets theUnaryOperator
to be used to cloneVm
s. It is a Function which, when called, creates a clone of a specific Vm.- Parameters:
vmClonerFunction
- theVm
cloner Function to set- Returns:
-
setCloudletsClonerFunction
Gets theFunction
to be used to clone Vm'sCloudlet
s. When the given Function is called, creates a clone of cloudlets which were running inside a specific Vm.Such a Function is used to recreate those Cloudlets inside a clone of the failed VM. In this case, all the Cloudlets are recreated from scratch into the cloned VM. This way, when they are submitted to a broker, they re-start execution from the beginning.
- Parameters:
cloudletsClonerFunction
- theCloudlet
s cloner Function to set- Returns:
-
getMaxClonesNumber
int getMaxClonesNumber()Gets the maximum number of Vm clones to create. For instance, if this value is equal to 2, it means if all VMs from a given broker are destroyed multiple times, a clone will be created only 2 times. If all VMs are destroyed again for the 3rd time, no clone will be created. The default value is 1.- Returns:
-
setMaxClonesNumber
Sets the maximum number of Vm clones to create. For instance, if this value is equal to 2, it means if all VMs from a given broker are destroyed multiple times, a clone will be created only 2 times. If all VMs are destroyed again for the 3rd time, no clone will be created. The default value is 1.- Parameters:
maxClonesNumber
- the value to set- Returns:
-
isMaxClonesNumberReached
boolean isMaxClonesNumberReached()Checks if the maximum number of Vm clones to be created was reached.- Returns:
- true if the maximum number of clones was reached, false otherwise
-