Re: a boto-works test for tabled?

2009-12-18 Thread Jeff Garzik

On 12/18/2009 12:16 PM, Jeff Darcy wrote:

On 12/18/2009 12:09 PM, Pete Zaitcev wrote:

1. I fixed the calling format issue long time ago. Mind that you have
to add a wildcard for it to work:

; Default port is 8081, we override it with -p 4499 in /etc/sysconfig/cld
_cld._udp   IN  SRV 10 50 4499 hitlain
_cld._udp   IN  SRV 10 50 4499 elanor
;
; Intel no-name experimental box, wildcard is for tabled
hitlain IN  A   192.168.128.2
 IN  fec0:0:0:1:0:0:c0a8:8002
*.hitlain.zaitcev.lan. IN A 192.168.128.2
IN   fec0:0:0:1:0:0:c0a8:8002


Yes, if you're willing/able to make DNS changes then that probably
works.  I suggest that it's an impediment to testing in most environments.


Certainly an impediment in ours...  We have all kinds of hackery to make 
sure that "make distcheck" works for each package.


I have even considered shipping a DNS config, and installing a DNS 
server on an alternate port...  but not too many setups permit one to 
override the DNS query port or otherwise permit substitution of an 
alternate DNS service.


Jeff



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


Re: a boto-works test for tabled?

2009-12-18 Thread Jeff Garzik

On 12/18/2009 12:09 PM, Pete Zaitcev wrote:

Since I have no clue about Python, I had trouble making their standard
testing harness to work, so I just copied the test into a local file,
and appended an invocation like this:

from boto.s3.connection import S3Connection
from boto.s3.connection import OrdinaryCallingFormat, SubdomainCallingFormat
from boto.exception import S3PermissionsError

# class S3ConnectionTest (unittest.TestCase):
class S3ConnectionTest:
 def test_1_basic(self):
 c = S3Connection(aws_access_key_id="testuser",
  aws_secret_access_key="testpass",
  is_secure=False,
  host="hitlain.zaitcev.lan",
  debug=1,
  calling_format=SubdomainCallingFormat())
..

t = S3ConnectionTest()
t.test_1_basic()


Neat.  Does that return the desired exit status for our tests?

Jeff




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


Re: a boto-works test for tabled?

2009-12-18 Thread Jeff Darcy
On 12/18/2009 12:09 PM, Pete Zaitcev wrote:
> 1. I fixed the calling format issue long time ago. Mind that you have
> to add a wildcard for it to work:
> 
> ; Default port is 8081, we override it with -p 4499 in /etc/sysconfig/cld
> _cld._udp   IN  SRV 10 50 4499 hitlain
> _cld._udp   IN  SRV 10 50 4499 elanor
> ;
> ; Intel no-name experimental box, wildcard is for tabled
> hitlain IN  A   192.168.128.2
> IN  fec0:0:0:1:0:0:c0a8:8002
> *.hitlain.zaitcev.lan. IN A 192.168.128.2
>IN   fec0:0:0:1:0:0:c0a8:8002

Yes, if you're willing/able to make DNS changes then that probably
works.  I suggest that it's an impediment to testing in most environments.

> 2. I see you using the port parameter, but when I tried that, Boto ignored
> port and continued to use 80. The code formed a string URL without port
> and then passed that to some HTTP libraries.

That seems odd to me.  Maybe it's a difference between the two
calling-format methods?
--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: a boto-works test for tabled?

2009-12-18 Thread Pete Zaitcev
On Fri, 18 Dec 2009 10:57:45 -0500
Jeff Darcy  wrote:

> Boto can accept non-Amazon hostnames, but there's a bit of a trick to
> making it work with tabled.  As of September 10, this was the magic formula.

I see what happened, the fix was later than 9/10:

http://git.kernel.org/?p=daemon/distsrv/tabled.git;a=commitdiff;h=f9d8b1229026d77efaf9b58d2145b5fd097aefd7;hp=e1c9069b3604e9c9e2946db80101d456598fef82

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


Re: a boto-works test for tabled?

2009-12-18 Thread Pete Zaitcev
On Fri, 18 Dec 2009 10:57:45 -0500
Jeff Darcy  wrote:

> On 12/18/2009 05:14 AM, Jeff Garzik wrote:

> > Is there anyone that would be interested in copying (or directly use) 
> > /usr/lib/python2.6/site-packages/boto/tests/test_s3connection.py as a 
> > tabled "boto-works" test?  According to the boto author, boto should 
> > accept non-Amazon hostnames, which is the only requirement outside of 
> > Amazon AWS specifications that tabled has.
> 
> Boto can accept non-Amazon hostnames, but there's a bit of a trick to
> making it work with tabled.  As of September 10, this was the magic formula.

> >>> x = 
> >>> Connection("foo","bar",host="localhost4",port=18080,is_secure=False,debug=99,calling_format=boto.s3.connection.OrdinaryCallingFormat())
> >>> x.get_all_buckets()
> 
> The magic is in the calling_format part, which took a little while to
> puzzle through.  We should probably consider supporting the default
> calling format to make use of boto-based tools easier.

This sounds strange on 2 counts.

1. I fixed the calling format issue long time ago. Mind that you have
to add a wildcard for it to work:

; Default port is 8081, we override it with -p 4499 in /etc/sysconfig/cld
_cld._udp   IN  SRV 10 50 4499 hitlain
_cld._udp   IN  SRV 10 50 4499 elanor
;
; Intel no-name experimental box, wildcard is for tabled
hitlain IN  A   192.168.128.2
IN  fec0:0:0:1:0:0:c0a8:8002
*.hitlain.zaitcev.lan. IN A 192.168.128.2
   IN   fec0:0:0:1:0:0:c0a8:8002

2. I see you using the port parameter, but when I tried that, Boto ignored
port and continued to use 80. The code formed a string URL without port
and then passed that to some HTTP libraries.

Since I have no clue about Python, I had trouble making their standard
testing harness to work, so I just copied the test into a local file,
and appended an invocation like this:

from boto.s3.connection import S3Connection
from boto.s3.connection import OrdinaryCallingFormat, SubdomainCallingFormat
from boto.exception import S3PermissionsError

# class S3ConnectionTest (unittest.TestCase):
class S3ConnectionTest:
def test_1_basic(self):
c = S3Connection(aws_access_key_id="testuser",
 aws_secret_access_key="testpass",
 is_secure=False,
 host="hitlain.zaitcev.lan",
 debug=1,
 calling_format=SubdomainCallingFormat())
..

t = S3ConnectionTest()
t.test_1_basic()

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


Re: a boto-works test for tabled?

2009-12-18 Thread Jeff Darcy
On 12/18/2009 05:14 AM, Jeff Garzik wrote:
> Is there anyone that would be interested in copying (or directly use) 
> /usr/lib/python2.6/site-packages/boto/tests/test_s3connection.py as a 
> tabled "boto-works" test?  According to the boto author, boto should 
> accept non-Amazon hostnames, which is the only requirement outside of 
> Amazon AWS specifications that tabled has.

Boto can accept non-Amazon hostnames, but there's a bit of a trick to
making it work with tabled.  As of September 10, this was the magic formula.

>>> import boto
>>> import logging
>>> boto.set_file_logger("boto","/tmp/boto.out",logging.DEBUG)
>>> from boto.s3 import Connection
>>> x = 
>>> Connection("foo","bar",host="localhost4",port=18080,is_secure=False,debug=99,calling_format=boto.s3.connection.OrdinaryCallingFormat())
>>> x.get_all_buckets()

The magic is in the calling_format part, which took a little while to
puzzle through.  We should probably consider supporting the default
calling format to make use of boto-based tools easier.
--
To unsubscribe from this list: send the line "unsubscribe hail-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html