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) usingocpnetsplit.main.get_zone_config()
andocpnetsplit.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.