Closed msambol closed 8 years ago
Correct only syntax check. Do you mean building a full build on Travis? Or building an external CI? Anyway I'm fine with both 😁
Never used Travis (only Jenkins), but it looks good. Think a full build would be more beneficial.
Yes it will for sure, though I'm not sure how to connect to github... If you have any idea, please don't hesitate :)
@msambol any plan to move forward with this? :)
@leseb Hmm could I have access to Travis?
@msambol unfortunately this is not possible as the access is bound to github and the organisations you're part of... What do you have in mind because I don't think we can setup a full build on Travis, we are limited by the infrastructure they provide to us.
@leseb Jenkins somewhere would be perfect but idk where it could live.. Even if it was just a vagrant build I think it'd better than the syntax check.
@msambol yes I know... However I've never setup any external CI for Github so we might need to have a look. I might be able to provide a VM to act as a CI machine. I believe using nested QEMU will be easier/faster than virtualbox, this also means modifying the Vagrant file. Yes a lot of work :)
I can do the CI and Github integration. My vagrant experience isn't the best so perhaps you could do that piece.
We have a full CI at jenkins.ceph.com that we can certainly use, I am not sure what a full test would entail requirements-wise.
Our CI is getting pretty consistent and for new jobs it usually means a simple directory with scripts/definitions for JJB (Jenkins Job Builder).
The repository is located here: https://github.com/ceph/ceph-build
And this how we test for ceph-deploy pull requests for example:
https://github.com/ceph/ceph-build/tree/master/ceph-deploy-pull-requests
@alfredodeza I'd be happy with a job that deploys ceph in vagrant on a VM. What are you thinking, @leseb?
vagrant on our CI might not work for us as part of our workflow. Is it feasible to run these playbooks in a single machine? Would that be enough to test a good chunk of use cases?
This is "probably" doable. I just believe we would need at least one disk to configure an OSD. Moreover we might have to hack this deployment a little bit. Most of the stuff is already handled by the playbook. I'm heading to the openstack summit for next week. Then I'll be on PTO for 2 weeks so this might have to wait a bit :-). Thanks guys for your support!
@leseb Nice I'm in Tokyo too. :) Yeah, we would have to hack together a configuration since master has no disks specified. Definitely doable let's chat when you're back from vacation.
@leseb At the summit today?
Yup! Will be at the Sakura for the Ceph sessions!
Still here? I'm in blue hat.
I'm willing to help. We could use a few small VMs to run tests. Where is the existing automation run from and with what scripts? I'm still hitting problems when I use ceph-ansible, the automation would prevent a lot of that from happening and make us more confident to make changes in it.
@bengland2 the idea would be to run a vagrant up
somewhere and get the results from it.
Ideally we would use the libvirt provider since it'll be much faster than virtualbox. I just don't think/know we can connect an external CI (our own) to github... So every single PR we could run a vagrant up
.
Putting this as a reference: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+Plugin
@leseb we have everything in place for automatic machine provisioning for ceph-ansible for every pull request. If I am reading the vagrant call correctly you do everything in a single host right?
I will open a separate pull request to address this and that it hooks into our current build system.
@alfredodeza yes correct we just need a single host that can spin-up virtual machines. That will awesome, kinda tired to test every single PR on my laptop before merging...
Hi @leseb and @alfredodeza, our product https://github.com/rcbops/rpc-openstack uses https://github.com/openstack/openstack-ansible and has the ability to boot an all in one (AIO) running ceph and OpenStack. As openstack-ansible uses LXC containers, we can test three separate MON "hosts" and three separate OSD "hosts" on whatever the AIO was spun up on. This is really great for gating and development and is certainly an option to use for gating instead of vagrant.
The rpc-openstack AIO deploy script would need some tweaking to only build ceph, but it should be possible to update it for a ceph-only use case should you guys be interested.
Let me know if you are and I can hack something together for you to test.
Thanks!
--Matt
@mattt416 thanks for the proposal, however I believe we have everything we need at the moment with this CI. We fixed this issue with the help of #493
Looks like testing only involves running the syntax check. Perhaps we could execute a full build? I can help implement this.