You are viewing a plain text version of this content. The canonical link for it is here.
Posted to infrastructure-dev@apache.org by sebb <se...@gmail.com> on 2014/01/04 15:57:38 UTC

Whimsy offline testing

I have installed Whimsy locally using the excellent Vagrant scripts
and documents at

https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/README.openldap
and
https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/vagrant/README

After a false start, it is now working fine.

However, I forgot to set USER before running vagrant, so I had to edit
the scripts in bin/
BTW get-cert is owned by root, so I had to copy that first.
Is it a mistake that it's owned by root?

Since the vagrant setup takes a long time, and it is easy to forget to
set up USER, I wonder whether it might not make more sense to have the
scripts pick up the USER from the local environment?

==

The other issue that makes testing a bit tedious is the need to have
live access to LDAP.
This slows down the behaviour of the committee application a lot. I've
not yet tried others, but I guess any that relies on

For testing, it would be OK to have a snapshot copy of the data; it
does not  have to be completely up to date.
AFAIK, the SVN data is not refetched every time even on the live Whimsy.

And it would be useful to be able to test the behaviour with specific
LDAP data, e.g. long names, special characters, missing data, etc.

I've not looked into how to do this, but a some possible approaches are:
- install an LDAP cache of some kind
- install LDAP on the VM, and have a script to populate the required
parts as needed
- install LDAP on the VM and populate with test data

Re: Whimsy offline testing

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sat, Jan 4, 2014 at 9:57 AM, sebb <se...@gmail.com> wrote:

> I have installed Whimsy locally using the excellent Vagrant scripts
> and documents at
>
>
> https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/README.openldap
> and
>
> https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/vagrant/README
>
> After a false start, it is now working fine.
>
> However, I forgot to set USER before running vagrant, so I had to edit
> the scripts in bin/
> BTW get-cert is owned by root, so I had to copy that first.
> Is it a mistake that it's owned by root?
>
> Since the vagrant setup takes a long time, and it is easy to forget to
> set up USER, I wonder whether it might not make more sense to have the
> scripts pick up the USER from the local environment?
>

Feel free to fix both :-)


> ==
>
> The other issue that makes testing a bit tedious is the need to have
> live access to LDAP.
> This slows down the behaviour of the committee application a lot. I've
> not yet tried others, but I guess any that relies on
>
> For testing, it would be OK to have a snapshot copy of the data; it
> does not  have to be completely up to date.
> AFAIK, the SVN data is not refetched every time even on the live Whimsy.
>
> And it would be useful to be able to test the behaviour with specific
> LDAP data, e.g. long names, special characters, missing data, etc.
>
> I've not looked into how to do this, but a some possible approaches are:
> - install an LDAP cache of some kind
> - install LDAP on the VM, and have a script to populate the required
> parts as needed
> - install LDAP on the VM and populate with test data
>

My experience is that it is more of a problem with scripts that 'pelt' the
LDAP server with lots of small requests.  Such scripts run fine when within
the infra subnet, but are affected requirement to tunnel LDAP requests.

While I'm pretty illiterate when it comes to LDAP, vagrant sets up a full
VM so it shouldn't be hard to install LDAP.

As far as loading it with real data, it looks like the process is to craft
a few LDAP searches, and transport the resulting output to the target
machine, and then run LDAP modify:

http://stackoverflow.com/questions/792563/how-do-i-clone-an-openldap-database

Once the searches were defined, the could be hosted on the 'real' whimsy-vm
as web service (albeit one requiring authentication).  Meanwhile,
ldapsearch can be run on people.apache.org:

[rubys@minotaur ~]$time ldapsearch | wc
  132275  277302 3241539

real    0m0.862s
user    0m0.539s
sys    0m0.083s


A final note: the whimsy scripts use the server defined in
/etc/ldap/ldap.conf; changing the definition in this one place would be
sufficient to redirect all requests.

https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/asf/ldap.rb

- Sam Ruby

P.S.  One thing that I've had on my wish list for some time make the web
interface read/write; for example a PMC chair should be able to fix LDAP
entries for his/her committee by pushing a few buttons.  Having a test
environment where changing LDAP would have no consequences would certainly
make it easier to develop such a function.