Is it possible to automate tests for a peer to peer network with virtualbox? [closed]

Clash Royale CLAN TAG#URR8PPP
up vote
2
down vote
favorite
I'm writing a C peer to peer application and at the moment I'm testing it with VirtualBox. Every time, I startup several virtual machines and try different commands in different machines to see how the whole network works. Is there a way to automate this testing procedure? It's really boring having to accomplish all times the same tasks (turn on virtual machines, start a bootserver program on a machine, peer programs on other machines, test requesting a file from a single peer manually... and so on).
networking scripting virtualbox
closed as too broad by Jeff Schaller, Stephen Rauch, G-Man, Archemar, Philippos Nov 13 '17 at 8:18
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
 |Â
show 1 more comment
up vote
2
down vote
favorite
I'm writing a C peer to peer application and at the moment I'm testing it with VirtualBox. Every time, I startup several virtual machines and try different commands in different machines to see how the whole network works. Is there a way to automate this testing procedure? It's really boring having to accomplish all times the same tasks (turn on virtual machines, start a bootserver program on a machine, peer programs on other machines, test requesting a file from a single peer manually... and so on).
networking scripting virtualbox
closed as too broad by Jeff Schaller, Stephen Rauch, G-Man, Archemar, Philippos Nov 13 '17 at 8:18
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
1
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
1
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44
 |Â
show 1 more comment
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I'm writing a C peer to peer application and at the moment I'm testing it with VirtualBox. Every time, I startup several virtual machines and try different commands in different machines to see how the whole network works. Is there a way to automate this testing procedure? It's really boring having to accomplish all times the same tasks (turn on virtual machines, start a bootserver program on a machine, peer programs on other machines, test requesting a file from a single peer manually... and so on).
networking scripting virtualbox
I'm writing a C peer to peer application and at the moment I'm testing it with VirtualBox. Every time, I startup several virtual machines and try different commands in different machines to see how the whole network works. Is there a way to automate this testing procedure? It's really boring having to accomplish all times the same tasks (turn on virtual machines, start a bootserver program on a machine, peer programs on other machines, test requesting a file from a single peer manually... and so on).
networking scripting virtualbox
edited Nov 12 '17 at 15:44
Jeff Schaller
32k849109
32k849109
asked Nov 12 '17 at 15:24
Robb1
12518
12518
closed as too broad by Jeff Schaller, Stephen Rauch, G-Man, Archemar, Philippos Nov 13 '17 at 8:18
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
closed as too broad by Jeff Schaller, Stephen Rauch, G-Man, Archemar, Philippos Nov 13 '17 at 8:18
Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
1
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
1
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44
 |Â
show 1 more comment
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
1
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
1
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
1
1
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
1
1
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44
 |Â
show 1 more comment
1 Answer
1
active
oldest
votes
up vote
2
down vote
I think that this sort of task falls under the broader category of DevOps. A more specific keyword (buzzword?) that you might be looking for is orchestration. There are more tools for this sort of thing than any one person could possibly want to know about. Check out the list of orchestration tools on DevOps Bookmarks for some possibilities.
That said, you can probably do what you want with nothing more than a little shell scripting. You can use the vboxmanage command to automate the booting and shutting down of your VMs. You can then use either SSH or a virtual serial port to kick off jobs on each of the VMs and gather the results.
It also might be worth thinking about whether or not you really need full virtualization. If you're working on Linux then you might consider using Linux Containers with Docker. Docker has an orchestration tool called Compose which was developed to coordinate multi-container applications and which would probably work well for your use case.
I might be able to say more if you gave more details about exactly what you're trying to do.
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
I think that this sort of task falls under the broader category of DevOps. A more specific keyword (buzzword?) that you might be looking for is orchestration. There are more tools for this sort of thing than any one person could possibly want to know about. Check out the list of orchestration tools on DevOps Bookmarks for some possibilities.
That said, you can probably do what you want with nothing more than a little shell scripting. You can use the vboxmanage command to automate the booting and shutting down of your VMs. You can then use either SSH or a virtual serial port to kick off jobs on each of the VMs and gather the results.
It also might be worth thinking about whether or not you really need full virtualization. If you're working on Linux then you might consider using Linux Containers with Docker. Docker has an orchestration tool called Compose which was developed to coordinate multi-container applications and which would probably work well for your use case.
I might be able to say more if you gave more details about exactly what you're trying to do.
add a comment |Â
up vote
2
down vote
I think that this sort of task falls under the broader category of DevOps. A more specific keyword (buzzword?) that you might be looking for is orchestration. There are more tools for this sort of thing than any one person could possibly want to know about. Check out the list of orchestration tools on DevOps Bookmarks for some possibilities.
That said, you can probably do what you want with nothing more than a little shell scripting. You can use the vboxmanage command to automate the booting and shutting down of your VMs. You can then use either SSH or a virtual serial port to kick off jobs on each of the VMs and gather the results.
It also might be worth thinking about whether or not you really need full virtualization. If you're working on Linux then you might consider using Linux Containers with Docker. Docker has an orchestration tool called Compose which was developed to coordinate multi-container applications and which would probably work well for your use case.
I might be able to say more if you gave more details about exactly what you're trying to do.
add a comment |Â
up vote
2
down vote
up vote
2
down vote
I think that this sort of task falls under the broader category of DevOps. A more specific keyword (buzzword?) that you might be looking for is orchestration. There are more tools for this sort of thing than any one person could possibly want to know about. Check out the list of orchestration tools on DevOps Bookmarks for some possibilities.
That said, you can probably do what you want with nothing more than a little shell scripting. You can use the vboxmanage command to automate the booting and shutting down of your VMs. You can then use either SSH or a virtual serial port to kick off jobs on each of the VMs and gather the results.
It also might be worth thinking about whether or not you really need full virtualization. If you're working on Linux then you might consider using Linux Containers with Docker. Docker has an orchestration tool called Compose which was developed to coordinate multi-container applications and which would probably work well for your use case.
I might be able to say more if you gave more details about exactly what you're trying to do.
I think that this sort of task falls under the broader category of DevOps. A more specific keyword (buzzword?) that you might be looking for is orchestration. There are more tools for this sort of thing than any one person could possibly want to know about. Check out the list of orchestration tools on DevOps Bookmarks for some possibilities.
That said, you can probably do what you want with nothing more than a little shell scripting. You can use the vboxmanage command to automate the booting and shutting down of your VMs. You can then use either SSH or a virtual serial port to kick off jobs on each of the VMs and gather the results.
It also might be worth thinking about whether or not you really need full virtualization. If you're working on Linux then you might consider using Linux Containers with Docker. Docker has an orchestration tool called Compose which was developed to coordinate multi-container applications and which would probably work well for your use case.
I might be able to say more if you gave more details about exactly what you're trying to do.
edited Nov 18 '17 at 14:31
answered Nov 12 '17 at 15:39
igal
4,830930
4,830930
add a comment |Â
add a comment |Â
I'm not sure, should I post this question on stackoverflow instead?
â Robb1
Nov 12 '17 at 15:24
You will be able to automate your tests using Ansible, plus the syntax is very easy, you should be able to learn the basics within a day.
â Hunter.S.Thompson
Nov 12 '17 at 15:33
1
You can make it significantly faster by using network namespaces instead of virtualbox. A few self-made scripts should be sufficient, but there are ready-made applications.
â dirkt
Nov 12 '17 at 15:34
@Robb1 I don't think that StackOverflow is a more appropriate forum than unix.stackexchange.com. The most appropriate site would probably devops.stackexchange.com, but that's still in beta.
â igal
Nov 12 '17 at 15:44
1
If you can list the commands you use, we might have a chance of helping.
â Jeff Schaller
Nov 12 '17 at 15:44