-
Couldn't load subscription status.
- Fork 167
Add Unitest for Ansible modules using Virtual Devices in the Cloud #187
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One thing that has been bothering me for some time is the fact that we have limited or no automated tests for our public projects on github. For this project, we don't have anything as of today.
In many cases, some minor changes have created big issues that have impacted many people.
To solve this problem, I found a solution to spin-up virtual devices on-demand directly from Travis-CI. The idea is to use the Ravello Cloud.
In order to keep thinks under control, it's only possible from Travis to start a predefine topology.
It's possible to see the applications running on Ravello and access all information on the devices (console, IP etc ..) here:
https://cloud.ravellosystems.com/#/GtHFbCOuKgD1pcfkvCCIgenj6DOtn3VgRLjaYipdideCsiPC1NxJitt1UHfhF0Bf/apps
To illustrate the example, I have created some tests (using Ansible) for the modules
junos_pingandjunos_jsnapy. Everything is located inside the directorytests. there is one playbook per module and if some additional files are required there is also one directory per modules to group these files properly.I'm using the Docker container to run the tests.
Right now I'm running the tests for 2 versions of Ansible and for each version, a new and dedicated topology is dynamically created on Ravello.
The results and the logs can be seen on Travis-CI.
https://travis-ci.org/dgarros/ansible-junos-stdlib/builds/180282166
I'm very excited by this new architecture and I hope we can integrate that to some of our open source projects, starting with this one.
Damien