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

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite
1












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).







share|improve this 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














up vote
2
down vote

favorite
1












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).







share|improve this 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












up vote
2
down vote

favorite
1









up vote
2
down vote

favorite
1






1





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).







share|improve this question














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).









share|improve this question













share|improve this question




share|improve this question








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
















  • 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










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.






share|improve this answer





























    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.






    share|improve this answer


























      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.






      share|improve this answer
























        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.






        share|improve this answer














        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.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 18 '17 at 14:31

























        answered Nov 12 '17 at 15:39









        igal

        4,830930




        4,830930












            Popular posts from this blog

            Peggy Mitchell

            Palaiologos

            The Forum (Inglewood, California)