[Gluster-devel] Proposing a framework to leverage existing Python unit test standards for our testing

Jonathan Holloway jholloway at redhat.com
Fri Jul 29 23:56:16 UTC 2016


----- Original Message -----

> From: "Amye Scavarda" <amye at redhat.com>
> To: "Vijay Bellur" <vbellur at redhat.com>
> Cc: "Kaushal M" <kshlmster at gmail.com>, "Jonathan Holloway"
> <jholloway at redhat.com>, "Gluster Devel" <gluster-devel at gluster.org>
> Sent: Sunday, July 24, 2016 7:53:06 PM
> Subject: Re: [Gluster-devel] Proposing a framework to leverage existing
> Python unit test standards for our testing

> On Wed, Jul 20, 2016 at 1:24 PM, Vijay Bellur < vbellur at redhat.com > wrote:

> > On 07/20/2016 08:43 AM, Kaushal M wrote:
> 

> > > On Wed, Jul 20, 2016 at 1:41 PM, Jonathan Holloway < jholloway at redhat.com
> > > >
> > > wrote:
> > 
> 

> > > > Hi Gluster-Devel,
> > > 
> > 
> 

> > > > There's been some conversation about standard Python unit test formats
> > > > (PyUnit, PyTest, Nose) and potentially leveraging a tool I've been
> > > > working
> > > > on (called Glusto) that wraps those standards as well as covers the
> > > > fundamentals required of the DiSTAF framework. I'm reaching out to
> > > > propose
> > > > this to the Gluster-Devel Community for consideration.
> > > 
> > 
> 

> > > Finally! I'd been waiting for ever wondering we would start discussing
> > 
> 
> > > this in the community. Thanks for starting this Jonathan.
> > 
> 

> > > > Some of the primary features Glusto offers are:
> > > 
> > 
> 
> > > > - Reads and writes yaml, json, and ini config file formats (including
> > > > Ansible
> > > > host files).
> > > 
> > 
> 
> > > > - Provides SSH, RPyC, logging (w/ ANSI color support), configuration,
> > > > templating (via Jinja), and simple REST methods.
> > > 
> > 
> 
> > > > - Implements cartesian product combinations with standard PyUnit class
> > > > format
> > > > for the Gluster runs_on_volumes/runs_on_mounts/reuse-setup
> > > > requirements.
> > > 
> > 
> 
> > > > - Wraps the Python standard framework modules (PyUnit, PyTest, Nose) in
> > > > a
> > > > single command with a config file option.
> > > 
> > 
> 
> > > > - Tests can also be run from the CLI, IDLE, or unittest savvy tools
> > > > (e.g.,
> > > > Eclipse PyDev).
> > > 
> > 
> 
> > > > - Glusto methods can also be used from IDLE for troubleshooting during
> > > > development--as well as in scripts.
> > > 
> > 
> 
> > > > - Allows for leveraging existing unit test features such as skip
> > > > decorators,
> > > > pytest markers, etc.
> > > 
> > 
> 

> > > These all seem really good! I particularly like the idea of having the
> > 
> 
> > > ability to use standard python test frameworks.
> > 
> 

> > > Glusto is something that DiSTAF core would have become, just that it's
> > > now.
> > 
> 
> > > The work done to get test generation working (cartesian products),
> > 
> 
> > > also shows it's flexible as well.
> > 
> 

> > > Glusto+DiSTAF libs seems to me will be a good combination.
> > 
> 

> > Agree here.
> 

> > > > I know this was a brief and high-level intro to Glusto. This is just to
> > > > get
> > > > the topic started, and we can cover details in discussion.
> > > 
> > 
> 

> > > Having a demo of glusto would be nice. Even a recorded demo would be
> > 
> 
> > > good as well.
> > 
> 

> > +1. Can we schedule a demo of glusto over a hangout or bluejeans for the
> > community?
> 

> I would love to see a recorded demo for this. Jonathan, does this upcoming
> week work to review this, or should we put something on the calendars for
> next week?

I've posted several videos on YouTube at the following links. 
There are eight sections and then a combined full-length (really full) video. 
There is a little bit of Unit Test covered in "3. Using Glusto Overview", but the "8. Running Unit Tests" shows more depth (sample PyUnit format w/ some PyTest, Gluster runs-on and reuse-setup example, filtering test runs, etc.). 
If you're looking to skip around, you might start with "1. Intro, 2. Using Glusto Overview, and "8. Running Unit Tests"--then pick and choose from there. 

1. Intro https://www.youtube.com/watch?v=IlG6Dl3CoxQ (1:28) 
2. Installing https://www.youtube.com/watch?v=FPgWxFJT2TA (2:12) 
3. Using Glusto Overview https://www.youtube.com/watch?v=SQYhyxJUrBc (7:39) 
4. SSH https://www.youtube.com/watch?v=KBo6hGaiWpo (10:26) 
5. RPyC https://www.youtube.com/watch?v=Ibp3YhFtofA (10:28) 
6. Configs https://www.youtube.com/watch?v=DhUPqPOXMDY (8:44) 
7. Logging https://www.youtube.com/watch?v=yf_tNHk88Ok (6:39) 
8. Running Unit Tests https://www.youtube.com/watch?v=Cu_lZvEcn1w (25:44) 
Combined Sessions 1-8 https://www.youtube.com/watch?v=LtG2sjYAlFE (1:13:16) 

I used a couple of docker images for each of the demos, so I'll record something on docker next week as well. 
I didn't really tweak audio, so levels might hop around a bit. I opted to use all open source recording/editing tools for the first time (instead of the Mac *gasp*), so pardon my mess while I figure things out. :-) 

Cheers, 
Jonathan 

> - amye

> > Thank you for posting about glusto. I look forward to checking out its
> > capabilities.
> 

> > Regards,
> 
> > Vijay
> 

> > _______________________________________________
> 
> > Gluster-devel mailing list
> 
> > Gluster-devel at gluster.org
> 
> > http://www.gluster.org/mailman/listinfo/gluster-devel
> 

> --
> Amye Scavarda | amye at redhat.com | Gluster Community Lead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20160729/08a359e8/attachment.html>


More information about the Gluster-devel mailing list