On 1/05/09 20:22, Nigel Kersten wrote:
> On Fri, May 1, 2009 at 11:18 AM, Brice Figureau
> <[email protected]> wrote:
>> On 1/05/09 14:59, Luke Kanies wrote:
>>> On May 1, 2009, at 12:57 PM, Brice Figureau wrote:
>>>
>>>> On 30/04/09 23:16, Nigel Kersten wrote:
>>>>> So I seem to have followed Brice down a path here as I got to exactly
>>>>> the same point he did:
>>>>>
>>>>> http://jira.codehaus.org/browse/JRUBY-3349
>>>>>
>>>>> Just wondering if anyone has gotten any further with this?
>>>> I'm surprised by how JRuby devs never got interested by this bug.
>>>> Last time I checked, nobody has even read the report.
>>> I concur.  I've pinged Charles Nutter on Twitter, but I can't imagine
>>> it will do much.
>> Wooh, you seem to have real power :-)
>> The bug appears to be fixed in the latest jruby HEAD.
>> Now I can perform some puppet tests...
> 
> 
> haha.
> 
> /me races brice on jruby testing.

Unfortunately you'll find the race to fall short :-(
Because not all fcntl constants are properly implemented in JRuby (I can 
understand why):

/Users/brice/devl/puppet/lib/puppet/external/event-loop/event-loop.rb:78:in 
`initialize': JRuby only supports F_SETFL for fcntl/ioctl currently 
(NotImplementedError)
        from 
/Users/brice/devl/puppet/lib/puppet/external/event-loop/event-loop.rb:31:in 
`default'
        from 
/Users/brice/devl/puppet/lib/puppet/external/event-loop/event-loop.rb:35:in 
`current'
        from 
/Users/brice/devl/puppet/lib/puppet/external/event-loop/event-loop.rb:285:in 
`initialize'
        from /Users/brice/devl/puppet/lib/puppet/util/settings.rb:532:in 
`set_filetimeout_timer'
        from /Users/brice/devl/puppet/lib/puppet/util/settings.rb:314:in `parse'
        from /Users/brice/devl/puppet/lib/puppet/application.rb:215:in `run'
        from sbin/puppetmasterd:66


After commenting the offending lines, I checked JRuby code, but most of 
the fcntl code is not implemented or not correct.
Firing my java IDE, and a few minutes later I'm back again testing 
puppet with jruby (and certainly a patch for JRuby devs).
But now, I'm encountering the following error:
null:-1:in `setSerialNumber': java.lang.IllegalArgumentException: serial 
number must be a positive integer
        from X509Cert.java:284:in `set_serial'
        from X509Cert.java:155:in `initialize'
        from 
org/jruby/ext/openssl/X509Cert$i_method_0_1$RUBYFRAMEDINVOKER$initialize.gen:-1:in
 
`call'
        from DynamicMethod.java:168:in `call'
        from CachingCallSite.java:288:in `cacheAndCall'
        from CachingCallSite.java:126:in `callBlock'
        from CachingCallSite.java:131:in `call'
        from RubyClass.java:615:in `call'
...

Checking all the certs in my system, and none have a negative serial 
(which is invalid).
Restarting from scratch, and starting the certificate serial with 0x10 
(by hacking puppet code), I can go further, up until:

info: Creating a new SSL key for ca
info: Creating a new SSL certificate request for ca
notice: Signed certificate request for ca
notice: Rebuilding inventory file
err: Cached certificate for ca failed: 
2.5.29.14 = à«Do);r›qÿÑ´Èõj«î: illegal hex 
digit
/Users/brice/devl/puppet/lib/puppet/ssl/base.rb:42:in `read': 2.5.29.14 = 
à«Do);r›qÿÑ´Èõj«î: illegal hex digit 
(OpenSSL::X509::ExtensionError)
        from /Users/brice/devl/puppet/lib/puppet/indirector/ssl_file.rb:86:in 
`find'
        from 
/Users/brice/devl/puppet/lib/puppet/indirector/indirection.rb:197:in `find'
        from /Users/brice/devl/puppet/lib/puppet/indirector.rb:51:in `find'
        from /Users/brice/devl/puppet/lib/puppet/ssl/host.rb:175:in 
`certificate'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:98:in `crl'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:136:in 
`generate_ca_certificate'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:233:in 
`setup'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:146:in 
`initialize'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:23:in 
`init_singleton_instance'
        from /Users/brice/devl/puppet/lib/puppet/util/cacher.rb:92:in 
`cached_value'
        from /Users/brice/devl/puppet/lib/puppet/util/cacher.rb:48:in 
`singleton_instance'
        from 
/Users/brice/devl/puppet/lib/puppet/ssl/certificate_authority.rb:37:in 
`instance'
        from 
/Users/brice/devl/puppet/lib/puppet/application/puppetmasterd.rb:125:in 
`run_setup'
        from /Users/brice/devl/puppet/lib/puppet/application.rb:216:in `run'
        from sbin/puppetmasterd:66

I will stop there for the moment, but I'm pretty sure once all the 
openssl stuff will be fixed, it will work fine.
Stay tuned :-)
-- 
Brice Figureau
My Blog: http://www.masterzen.fr/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to