-
Notifications
You must be signed in to change notification settings - Fork 428
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
week 2: demo proposal #2383
week 2: demo proposal #2383
Conversation
@kthfre Thanks for the proposal. I'm a bit confused about what the demo is about. As I understand, you want to deploy a fairly complex backend, and automate availability testing and integration testing. Is this correct? I feel that this proposal has too much focus on the deployment of the service rather than on the testing component. Can you describe in more detail how is the availability measured? Are you planning to use any specific tech/tool? You also mention integration tests, can you describe in more detail how are these implemented? Any specific framework? @algomaster99 @sofiabobadilla Feel free to follow up. Thanks! |
Thanks for the proposal! And thanks, Javier, for feedback. I discussed this topic with them in person and then we concluded that integration test of the service is a good idea. One of the things we discussed was testing "collaboration on a document on the network", but availability is also good. @kthfre if you can answer @javierron 's question, that would be great.
|
Can you describe in more detail how is the availability measured? |
Fredrik have a currently working pipeline which performs 3 stages: Step 1: ssh into a server where it launches one of our python scripts to ping test the rest of the servers in the cluster (2 servers). |
@kthfre @bepp-boop
This pipeline looks good. I'm not sure where the junit tests fit, though. But I believe you can do without them in this demo. Please reply to confirm that this is the specific pipeline expected in the demo. |
when you said micro based app, does that mean like poketbased and docker container? Would that be good? |
I don't mean any tool in particular. I'm Just trying to understand the system that you will deploy and test. The specifics of the system are out of scope for this demo. I recommend to focus on the week's topic, which is testing automation and CI. Can you confirm, or clarify that the three steps that I mentioned before are what you plan to present? |
I don't believe Junit would conventionally be used for this kind of task, but we have wrapped our tests as python functions which return status codes which we perform unit tests on by passing the appropriate parameters. This was both due to the time shortage situation and the environment not being fully set up and the fact that parts of the tests are run remotely so that we could easily fetch the results in some format jenkins recognizes through scp. |
@kthfre @bepp-boop |
Assignment Proposal
Title
Continuous integretion testing of node and service availability of promox instances
Names and KTH ID
Deadline
Category
Description
Our demo will be performed in the context of physical servers that we access through a VPN.
We want to test the following
Tools:
Tailscale (VPN service/mesh network)
Proxmox (VM virtualization)
Jenkins (Automation Testing and Integration Testing)
Option Currently Deciding
Ansible (Testing Node instance, Update version ...etc)
Terraform (Create Template for VM/docker/Container)
Backup plan:
In case we run into difficulties we deem unfeasible to overcome (the environment is not fully set up yet, and we are sort of short of time given the schedule) we discussed with the TA to create a rather simple web application involving either authentication functionality and a web form with input where validation would occur at the backend and perform integration tests by interacting with the browser and test frontend, backend, and potentially some database. We (and the TA) were unsure on whether the complexity level of this would be sufficient, but were asked to include it to have it commented on.
Relevance
We believe this is very rare compared to more conventional integration tests that may, for example, include a frontend and backend the the interactions between those two components. We also believe it is comparatively complex as it involves a lot of steps both in terms of setting up the environment and performing the tests. It also seem to fulfill a task that frequently would need to be performed manually by a system administrator otherwise. It is of course highly relevant to DevOps in general as it involves several CI tools such as Jenkins.