CEPH filesystem development
 help / color / mirror / Atom feed
From: Shilpa Manjarabad Jagannath <smanjara@redhat.com>
To: Casey Bodley <cbodley@redhat.com>
Cc: Ali Maredia <amaredia@redhat.com>,
	The Sacred Order of the Squid Cybernetic
	<ceph-devel@vger.kernel.org>
Subject: Re: rgw: refactoring test_multi.py for teuthology
Date: Wed, 4 Jan 2017 06:19:42 -0500 (EST)	[thread overview]
Message-ID: <435027817.7434134.1483528782550.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <02431f0e-d420-b76f-fcfe-d240334be26f@redhat.com>



----- Original Message -----
> From: "Casey Bodley" <cbodley@redhat.com>
> To: "Shilpa Manjarabad Jagannath" <smanjara@redhat.com>
> Cc: "Ali Maredia" <amaredia@redhat.com>, "The Sacred Order of the Squid Cybernetic" <ceph-devel@vger.kernel.org>
> Sent: Wednesday, January 4, 2017 2:12:50 AM
> Subject: rgw: refactoring test_multi.py for teuthology
> 
> Hi Shilpa, Ali, and list,
> 
> The rgw multisite tests are currently running out of
> src/test/rgw/test_multi.py, and use shell scripts to set up multiple
> vstart clusters. We'd like to adapt these tests so they can run inside
> of teuthology as well (while preserving the ability to run them
> manually). Running inside of teuthology means using an existing
> multisite configuration, rather than building one up with the shell scripts.
> 
> The python script currently has classes for RGWRealm, RGWCluster, and
> RGWMulti. The RGWMulti.setup() method creates an RGWRealm and builds an
> array of RGWClusters. RGWCluster.start() calls the mstart.sh script to
> create a vstart cluster in a subdirectory. RGWRealm.init_zone() is then
> running all of the radosgw-admin commands to configure that
> zonegroup/zone/etc.
> 
> These seem like good base classes for this abstraction. For example, we
> can derive VRealm/VCluster/VMulti to represent the existing vstart
> implementation, and TRealm/TCluster/TMulti to represent their teuthology
> counterparts.
> 
> The existing unit tests only need to know the realm, which they access
> as a global variable. We can turn the generic part (the test_* functions
> and their helper functions like check_*) into a separate module like
> src/test/rgw/rgw_multi.py, and add a set_realm() function to set this
> global variable.
> 
> Then the vstart version of the test (src/test/rgw/test_multi.py) can
> import rgw_multi, instantiate its VRealm/etc to run the cluster
> creation/configuration, then pass its realm to set_realm() for the unit
> tests. In order for nosetests to find and run the test_* functions in
> rgw_multi.py, test_multi.py needs to use 'from rgw_multi import *'.
> 
> A separate python script, probably under qa/tasks/, would implement the
> TRealm/etc subclasses by making the appropriate calls into teuthology.
> Instead of creating the cluster during initialization, it would read the
> existing multisite configuration - either by interpreting the teuthology
> 'config', or by running radosgw-admin commands like 'period get'.
> 
> It seems like a good first step would be to split out the generic code
> from test_multi.py into rgw_multi.py and verify that the vstart version
> still works.
> 
> Casey

Sounds good. Thanks Casey!


> 
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  reply	other threads:[~2017-01-04 11:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-03 20:42 rgw: refactoring test_multi.py for teuthology Casey Bodley
2017-01-04 11:19 ` Shilpa Manjarabad Jagannath [this message]
     [not found]   ` <104748175.9087619.1484038356875.JavaMail.zimbra@redhat.com>
     [not found]     ` <1014219555.87677510.1484085955314.JavaMail.zimbra@redhat.com>
     [not found]       ` <1064077357.9340713.1484113756463.JavaMail.zimbra@redhat.com>
2017-04-10 14:59         ` Casey Bodley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=435027817.7434134.1483528782550.JavaMail.zimbra@redhat.com \
    --to=smanjara@redhat.com \
    --cc=amaredia@redhat.com \
    --cc=cbodley@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox