Every time a new feature is added, we need to test wether everything is still working. We typically create a sandbox, instantiate it and test networking by ping and other commands. We need to automate this manual process. Start with simple scripts and also investigate how Gitlab CI/CD could be used in this process.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
I looked into it a little and running the tests shouldn't be a problem. Since it's a shell script, setting up the pipeline should only require adding a very simple .gitlab-ci.yml file that will execute it. The test script itself might need a few minor adjustments in how it handles errors and stores output but nothing too complicated.
What I'm not sure about is the Runner needed for the job. Since we need to build several virtual machines for each test we can't run it just anywhere. It would be possible to use one of our computers, which shouldn't be hard to set up either, but then we would need to be able to leave the computer on either always or at least sometimes overnight. The complete tests take a couple of hours to finish so it wouldn't make sense to only be able to run them when someone's here.
@487568 I've created a new Ubuntu server in our OpenStack cloud for testing purposes. You can test it there.
You can connect it using ssh -i <key_sent_via_Mattermost> ubuntu@78.128.250.221. Be careful when creating new user accounts and enabling password authentication. Weak passwords are compromised within a few minutes.