Abstract:
Testing applications is important, as shown by the rise of continuous integration and automated testing. In this talk, I will focus on one area of testing that is difficult to automate: poor network connectivity. Developers usually work within reliable networking conditions so they might not notice issues that arise in other networking conditions. I will give examples of software that would benefit from test scenarios with varying connectivity. I will explain how traffic control on Linux can help to simulate various network connectivity. Finally, I will run a demo showing how an application running in Kubernetes behaves when changing network parameters.
Outline:
- I will start by presenting what is traffic control, and what is the status of implementations in different parts of the software stack: in Linux, systemd, kubernetes, CNI.
- Secondly, I'll explain what I would like to have in the context of testing and continuous integration
- Thirdly, I will run a demo of using traffic control on Kubernetes