VMware Windows Network Corruption
VMware Windows Network Corruption simulates a network corruption scenario on Windows OS based VMware VM.
- It checks the performance of the application running on the VMware Windows VMs under network corruption conditions.
Use cases
- VMware Windows Network Corruption determines the resilience of an application when a network corruption scenario is simulated on a VMware Windows virtual machine.
- VMware Windows Network Corruption simulates the situation of network corruption on the application, which degrades their performance.
- It also helps verify the application's ability to handle network failures and its failover mechanisms.
Kubernetes > 1.16 is required to execute this fault.
Execution plane should be connected to vCenter and host vCenter on port 443.
VMware tool should be installed on the target VM with remote execution enabled.
Adequate vCenter permissions should be provided to access the hosts and the VMs.
The VM should be in a healthy state before and after injecting chaos.
Kubernetes secret has to be created that has the Vcenter credentials in the
CHAOS_NAMESPACE
.Verify clumsy is installed on the VM, as it's essential for this experiment.
Run the fault with a user possessing admin rights, preferably the built-in Administrator, to guarantee permissions for memory stress testing. See how to enable the built-in Administrator in Windows.
VM credentials can be passed as secrets or as a chaos enginer environment variable.
apiVersion: v1
kind: Secret
metadata:
name: vcenter-secret
namespace: litmus
type: Opaque
stringData:
VCENTERSERVER: XXXXXXXXXXX
VCENTERUSER: XXXXXXXXXXXXX
VCENTERPASS: XXXXXXXXXXXXX
Fault tunables
Mandatory fields
Variables | Description | Notes |
---|---|---|
VM_NAME | Name of the target VM. | For example, win-vm-1 |
VM_USER_NAME | Username of the target VM. | For example, vm-user . |
VM_PASSWORD | User password for the target VM. | For example, 1234 . Note: You can take the password from secret as well. |
Optional fields
Variables | Description | Notes |
---|---|---|
DESTINATION_HOSTS | Comma separated list of destination hosts to corrupt. | For example, github.com,harness.io |
DESTINATION_IPS | Comma separated list of destination IPs to corrupt. | For example, 10.0.0.1,10.0.0.2 |
NETWORK_PACKET_CORRUPTION_PERCENTAGE | Percentage of network packets to corrupt. | Default: 100. |
PATH_OF_CLUMSY | Path of the Clumsy tool in the VM. | For example, C:\\Program Files\\Clumsy\\ |
TOTAL_CHAOS_DURATION | Duration that you specify, through which chaos is injected into the target resource (in seconds). | Default: 60s. |
RAMP_TIME | Period to wait before and after injecting chaos (in seconds). | Default: 0s. |
SEQUENCE | Sequence of chaos execution for multiple instances. | Default: parallel. Supports serial sequence as well. |
Destination Hosts
The DESTINATION_HOSTS
environment variable specifies the destination hosts to corrupt on the target Windows VM.
Use the following example to specify destination hosts:
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
- name: vmware-windows-network-corruption
spec:
components:
env:
# Name of the VM
- name: VM_NAME
value: 'test-vm-01'
# Destination hosts to corrupt
- name: DESTINATION_HOSTS
value: 'github.com'
Destination IPs
The DESTINATION_IPS
environment variable specifies the destination IPs to corrupt on the target Windows VM.
Use the following example to specify destination IPs:
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
- name: vmware-windows-network-corruption
spec:
components:
env:
# Name of the VM
- name: VM_NAME
value: 'test-vm-01'
# Destination IPs to corrupt
- name: DESTINATION_IPS
value: '10.0.0.1,10.0.0.2'
Network Packet Corruption Percentage
The NETWORK_PACKET_CORRUPTION_PERCENTAGE
environment variable specifies the percentage of network packets to corrupt.
Use the following example to specify network packet corruption percentage:
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
- name: vmware-windows-network-corruption
spec:
components:
env:
# Name of the VM
- name: VM_NAME
value: 'test-vm-01'
# Percentage of network packets to corrupt
- name: NETWORK_PACKET_CORRUPTION_PERCENTAGE
value: '100'
Path of Clumsy
The PATH_OF_CLUMSY
environment variable specifies the path of the Clumsy tool in the VM.
Use the following example to specify the path of Clumsy:
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: engine-nginx
spec:
engineState: "active"
chaosServiceAccount: litmus-admin
experiments:
- name: vmware-windows-network-corruption
spec:
components:
env:
# Name of the VM
- name: VM_NAME
value: 'test-vm-01'
# Path of the Clumsy tool in the VM
- name: PATH_OF_CLUMSY
value: 'C:\\Program Files\\Clumsy\\'