Python API

To use ocp-network-split in your python test script, see functions in module ocpnetsplit.main which provides public API and implementation of the command line tools referenced in the previous section.

Example

Quick high level overview of API usage for single cluster mode:

  • Generate list of dictionaries representing content of MachineConfig yaml, (which contains network split script and unit files) using ocpnetsplit.main.get_zone_config() and ocpnetsplit.main.get_networksplit_mc_spec().

  • Deploy the MachineConfig generated in the previous step and wait for the configuration to be applied on all nodes. This needs to be done only once.

  • Pick desired network split configuration from ocpnetsplit.zone.NETWORK_SPLITS.

  • Schedule selected network split disruption via ocpnetsplit.main.schedule_split(), this will define 2 timers on each node, one to start the disruption and another one to stop it.

  • Wait for the 1st timer to trigger setup of the network split.

  • Wait for the 2nd timer to trigger teardown, restoring the network configuration back.

  • Optionally schedule another network split again.

API Reference