Skip to content

Instantly share code, notes, and snippets.

@dfarrell07
Last active August 29, 2015 14:16
Show Gist options
  • Select an option

  • Save dfarrell07/c2433a7d44c85d77c897 to your computer and use it in GitHub Desktop.

Select an option

Save dfarrell07/c2433a7d44c85d77c897 to your computer and use it in GitHub Desktop.
Proposal for ODL+OpenStack integration testing in ODL's CI
I took some time and clearly documented the ODL+OpenStack CI proposal
that I've bounced off of many of you in various meetings and IRC chats
recently.
## Proposal
### Objective
Have unstable ODL + stable OpenStack testing as a part of ODL's CI process.
### Background
OPNFV is working to create automated methods of deploying and configuring
stable OpenStack+ODL, then running CI tests against them.
I've been the primary ODL contact for those efforts, as (so far) they all
interact with ODL via my ODL Puppet module[1]. I'm also driving the ODL
Integration team's Neutron testing "epic" for Lithium[2].
Dan Radez and Tim Rozet (of OpenStack/OPNFV and mostly-OPNFV, CC'd) are
the primary devs driving the creation of one method, based on Foreman
and QuickStack. More info[3][4].
### Overview
We should be able to build on the OPNFV work mentioned above to automatically
deploy and configure stable OpenStack + unstable ODL builds, then run tests
against them. We'll additionally need to (at least):
* Add the ability to deploy any ODL build, not just a release, via the
ODL Puppet module. I'm actively working on this feature.
* Tie everything into ODL's Jenkins setup, to kick off the tests.
Given those TODOs, the devs I vetted this with don't see any blockers.
Note that Tempest tests are being implemented first, other tests to follow.
### Advantages
The main advantage of this method of ODL+OpenStack integration testing is
that it's mostly done/working.
It's also quite nice that we'll be running the same test setup against our
pre-release builds that OPNFV (at least) will run against our releases.
There are already a number of labs up and using early versions of this
stack. In the short term, or even just while developing, we *optionally*
could use the one owned by Red Hat. This would save our wonderful admins
some work and likely allow us to get ODL+O/S CI faster. If we don't like
that plan, I'm told it's not too hard to stand it all up. I suspect Dan and
Tim would be willing to help.
### Known Disadvantages
We'd likely have to leave part of the testing infrastructure, at least
the Foreman server, up and configured (vs building fresh every run).
### FAQ
Question: Does this support different Neutron providers?
Answer: Yes, that's a key requirement. The general idea is to use the
params of the ODL Puppet module to make any config changes, resulting
in your requested ODL deployment once ODL is re-provisioned by Puppet. ODL
features are already supported as a param. Any other required ODL config
can be added as-needed.
## Questions
* Is there any reason the proposal will not work?
* Are there any requirements that are not met by the proposal?
* Is someone willing to help with (or own!) the Jenkins tie-in TODO?
* Anyone want to help in general? :)
[1]: https://github.com/dfarrell07/puppet-opendaylight
[2]: https://wiki.opendaylight.org/view/CrossProject:Integration_Group:Lithium_Test_Strategy
[3]: https://wiki.opnfv.org/opendaylight_quickstack_guide
[4]: https://wiki.opnfv.org/get_started_experiment1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment