Re: Followup on https://review.opendev.org/c/openstack/cinder/+/853785
Hello, I allow myself to contact you following the email below sent to me by Clark. Indeed, I want to add a new volume driver in Cinder [0] and for that I must have a working CI which validates the tempest tests with the Lustre [1] driver. I tried for 2 weeks to set up this CI with Software Factory but I didn't manage to make it work. However, the Lustre FS being 100% open-source, I was advised to use the upstream CI directly. In gerrit I have already created a service user with username lustreci. Could you tell me how to set up and run the tests directly in the upstream CI ? For information, I already have ansible playbooks allowing to set up a Lustre FS on CentOS 8. Thanks in advance, [0] https://review.opendev.org/c/openstack/cinder/+/853785 [1] https://www.lustre.org/ Jean-Sébastien Le 19/04/2023 à 18:01, Clark Boylan a écrit :
Hello,
I wanted to followup on your questions in https://review.opendev.org/c/openstack/cinder/+/853785 as well as your query submitted to https://openinfra.dev/projects/contact/.
As mentioned by Sean on the Gerrit change the Cinder team requires working CI for all in tree Cinder drivers. Many of the systems that Cinder integrates with are proprietary storage systems which necessitates the use of external (to OpenDev) third party CI as specialized hardware and licensing requirements don't allow us to run these upstream.
To make this happen you need a CI system that is capable of listening to Gerrit events, triggering builds, and reporting the results back to Gerrit (for example Zuul/Jenkins/etc). Both OpenDev [0] and the Cinder team [1] attempt to provide documentation, but this will always be incomplete as we won't be aware of your local network policies, hardware peculiarities and so on. The OpenDev team can help with connection and account details for Gerrit, and the Cinder team should be able to help with test specific needs (like appropriate logging, service behavior, etc). I cannot speak to Software Factory as I have never personally used it.
The good news is that Lustre is open source software which can be deployed without proprietary licensing restrictions, and there don't appear to be specialized hardware needs either. In this case I would test Lustre + Cinder in the upstream CI system. It looks like Cinder is already doing this with Ceph [2]. My recommendation would be that you shift focus from attempting to running a third party CI system to adding a new job that runs against Cinder changes to test Cinder + Lustre integration.
This is something that the Cinder team should be able to help with as they have a number of Zuul jobs already including the one that tests against Ceph. The OpenDev team can help with higher level concerns like Gerrit accounts, general Zuul behaviors/syntax, and CI system limitations. You can reach out to the OpenDev team either via service-discuss@lists.opendev.org or in #opendev on the OFTC IRC network (all of this info can be found in the footer of https://opendev.org).
[0] https://docs.opendev.org/opendev/system-config/latest/third_party.html [1] https://wiki.openstack.org/wiki/Cinder/tested-3rdParty-drivers [2] https://opendev.org/openstack/cinder/src/commit/2e8aff660b18d1e8f961d6de979d...
Clark
-- Jean-Sébastien BEVILACQUA Responsable technique OSSA Tél : 07 85 55 35 11 Courriel :jsbevilacqua@linagora.com www.linagora.com
On Wed, Apr 19, 2023, at 9:33 AM, Jean-Sébastien BEVILACQUA wrote:
Hello,
I allow myself to contact you following the email below sent to me by Clark.
Indeed, I want to add a new volume driver in Cinder [0] and for that I must have a working CI which validates the tempest tests with the Lustre [1] driver. I tried for 2 weeks to set up this CI with Software Factory but I didn't manage to make it work. However, the Lustre FS being 100% open-source, I was advised to use the upstream CI directly. In gerrit I have already created a service user with username lustreci.
Could you tell me how to set up and run the tests directly in the upstream CI ? For information, I already have ansible playbooks allowing to set up a Lustre FS on CentOS 8.
Looking at the existing Cinder job it seem to be set up to run Devstack, which deploys OpenStack, alongside the Devstack Ceph plugin [3] which deploys Ceph as part of the OpenStack deployment. If I were approaching this myself I would try to mimic the Ceph jobs since those appear to be running and doing something very similar to what you need. However, I think questions like this are better suited for the Cinder community as they may have a common set of expectations for their jobs. OpenDev runs the code review system and Zuul CI system and understands the limitations of the test nodes. We can offer advice on how to operate within those constraints, but have less ability to say what is best for Cinder. If you do go the route of using a Devstack plugin to deploy Lustre in Devstack, you may be able to have that plugin trigger your Ansible role to avoid duplication of effort. As far as getting started goes, you can add a job to the Cinder Zuul config that resembles the Ceph job[4] then list that job in the list of jobs to run [5]. When you push this change to Gerrit Zuul will execute the job for you allowing you to iterate on what it does. For example you may just want to start getting a consistent Lustre deployment then worry about adding tests afterwards. All of the proposed changes to Gerrit should be self testing giving you feedback on your efforts before anything merges. [3] https://opendev.org/openstack/devstack-plugin-ceph [4] https://opendev.org/openstack/cinder/src/commit/2e8aff660b18d1e8f961d6de979d... [5] https://opendev.org/openstack/cinder/src/commit/2e8aff660b18d1e8f961d6de979d...
Thanks in advance,
[0] https://review.opendev.org/c/openstack/cinder/+/853785 [1] https://www.lustre.org/
Jean-Sébastien
Le 19/04/2023 à 18:01, Clark Boylan a écrit :
Hello,
I wanted to followup on your questions in https://review.opendev.org/c/openstack/cinder/+/853785 as well as your query submitted to https://openinfra.dev/projects/contact/.
As mentioned by Sean on the Gerrit change the Cinder team requires working CI for all in tree Cinder drivers. Many of the systems that Cinder integrates with are proprietary storage systems which necessitates the use of external (to OpenDev) third party CI as specialized hardware and licensing requirements don't allow us to run these upstream.
To make this happen you need a CI system that is capable of listening to Gerrit events, triggering builds, and reporting the results back to Gerrit (for example Zuul/Jenkins/etc). Both OpenDev [0] and the Cinder team [1] attempt to provide documentation, but this will always be incomplete as we won't be aware of your local network policies, hardware peculiarities and so on. The OpenDev team can help with connection and account details for Gerrit, and the Cinder team should be able to help with test specific needs (like appropriate logging, service behavior, etc). I cannot speak to Software Factory as I have never personally used it.
The good news is that Lustre is open source software which can be deployed without proprietary licensing restrictions, and there don't appear to be specialized hardware needs either. In this case I would test Lustre + Cinder in the upstream CI system. It looks like Cinder is already doing this with Ceph [2]. My recommendation would be that you shift focus from attempting to running a third party CI system to adding a new job that runs against Cinder changes to test Cinder + Lustre integration.
This is something that the Cinder team should be able to help with as they have a number of Zuul jobs already including the one that tests against Ceph. The OpenDev team can help with higher level concerns like Gerrit accounts, general Zuul behaviors/syntax, and CI system limitations. You can reach out to the OpenDev team either via service-discuss@lists.opendev.org or in #opendev on the OFTC IRC network (all of this info can be found in the footer of https://opendev.org).
[0] https://docs.opendev.org/opendev/system-config/latest/third_party.html [1] https://wiki.openstack.org/wiki/Cinder/tested-3rdParty-drivers [2] https://opendev.org/openstack/cinder/src/commit/2e8aff660b18d1e8f961d6de979d...
Clark
-- Jean-Sébastien BEVILACQUA Responsable technique OSSA Tél : 07 85 55 35 11 Courriel : jsbevilacqua@linagora.com www.linagora.com
participants (2)
-
Clark Boylan
-
Jean-Sébastien BEVILACQUA