actionNetwork

add_latency

Add latency to a network link of a Pod

Activity as code

Below are the details and signature of the activity Python module.

Typeaction
Modulechaosk8s.chaosmesh.network.actions
Nameadd_latency
Returnmapping

Usage

JSON

{
  "name": "add-latency",
  "type": "action",
  "provider": {
    "type": "python",
    "module": "chaosk8s.chaosmesh.network.actions",
    "func": "add_latency",
    "arguments": {
      "name": ""
    }
  }
}

YAML

name: add-latency
provider:
  arguments:
    name: ''
  func: add_latency
  module: chaosk8s.chaosmesh.network.actions
  type: python
type: action

Arguments

NameTypeDefaultRequiredTitleDescription
namestringYesNameA unique name to identify this particular fault
directionstringtoNoDirectionWhich direction to apply the latency: from, to or both
latencystringYesLatencyLatency to add to the network, e.g. 20ms
jitterstringNoJitterHow much jitter to set, for instance 1ms
correlationstringNoCorrelationHow much correlation between two pass of latency injection. Between 0 and 100
nsstringdefaultNoNamespaceNamespace where to apply the fault
namespaces_selectorsstringNoNamespaces SelectorsComma-separated list of namespaces to scope the pod which is submitted to latency
label_selectorsstringNoLabel SelectorsComma-separated list of key=value pairs to scope the pod which is submitted to latency
annotations_selectorsstringNoAnnotation SelectorsComma-separated list of key=value pairs to scope the pod which is submitted to latency
modestringoneNoModeMode of fault injection: one, all, fixed, fixed-percent, random-max-percent
mode_valuestringNoMode ValueValue depending on the mode above. It must be set when mode is fixed, fixed-percent or random-max-percent
external_targetsstringNoExternal TargetsIPv4 or domain targetted by the fault when direction is set to “to”
target_namespaces_selectorsstringNoTarget Namespaces SelectorsComma-separated list of namespaces to limit the latency on the link with that specific pod. Only required when direction is set to both or from
target_label_selectorsstringNoTarget Label SelectorsComma-separated list of key=value pairs to limit the latency on the link with that specific pod. Only required when direction is set to both or from
target_annotations_selectorsstringNoTarget Annotation SelectorsComma-separated list of key=value pairs to limit the latency on the link with that specific pod. Only required when direction is set to both or from
target_modestringoneNoTarget ModeTarget Mode of fault injection: one, all, fixed, fixed-percent, random-max-percent
target_mode_valuestringNoTarget Mode ValueValue depending on the mode above

This action relies on Chaos Mesh to perform the fault. Make sure to install it before hand.

Signature

def add_latency(name: str,
                ns: str = 'default',
                namespaces_selectors: Union[str, List[str], NoneType] = None,
                label_selectors: Union[str, Dict[str, Any], NoneType] = None,
                annotations_selectors: Union[str, Dict[str, Any],
                                             NoneType] = None,
                mode: str = 'one',
                mode_value: Optional[str] = None,
                direction: str = 'to',
                latency: Optional[str] = None,
                correlation: Optional[str] = None,
                jitter: Optional[str] = None,
                external_targets: Union[str, List[str], NoneType] = None,
                target_mode: Optional[str] = 'one',
                target_mode_value: Optional[str] = None,
                target_namespaces_selectors: Union[str, List[str],
                                                   NoneType] = None,
                target_label_selectors: Union[str, Dict[str, Any],
                                              NoneType] = None,
                target_annotations_selectors: Union[str, Dict[str, Any],
                                                    NoneType] = None,
                secrets: Dict[str, Dict[str, str]] = None) -> Dict[str, Any]:
    pass