[one-users] ec2 access problem after upgrading to ONE 3.0

Daniel Molina dmolina at opennebula.org
Wed Oct 12 08:44:42 PDT 2011


Hi Ulrich,

The snippet of code I sent you just represent the client
configuration. This is the full code I used to do a request to the
OpenNebula Cloud using the Perl Client:

https://gist.github.com/3239f16e320fd9f2df61

I will send you an account to test this code in your machine, doing a
request to the OpenNebula Cloud.

I think maybe the problem is related to the port in which the
econe-server is listening (8443) different from the default one. Try
changing this line in the server code:

system-wide installation: /usr/lib/one/ruby/cloud/econe/EC2QueryServer.rb
self-contained installation:
$ONE_LOCATION/lib/ruby/cloud/econe/EC2QueryServer.rb

@@ -71,7 +71,7 @@ class EC2QueryServer < CloudServer

         econe_port = @config[:port]

-        params.merge!({:econe_host => econe_host, :econe_port => econe_port})
+        params.merge!({:econe_host => econe_host, :econe_port => 8443})
         super(env, params)
     end

And the following econe-server configuration (econe.conf). Remember to
restart the service after these changes:

# Host and port where econe server will run
:server: localhost
:port: your_local_port

# SSL proxy that serves the API (set if is being used)
:ssl_server:  mycloudentrypoint.cern.ch

Hope this helps.

On 11 October 2011 09:10, Schwickerath Ulrich
<ulrich.schwickerath at cern.ch> wrote:
> Some more information:
>
> I've captured additional information from my customers client tools.
> I see the problem for example if I call the describeImages method of the client object, with the following arguments:
>
> $response = $self->{service}->describeImages($request);
> where $self looks like
>
> $VAR1 = bless( {
>                 'service' => bless( {
>                                       '_config' => {
>                                                      'ProxyPort' => -1,
>                                                      'ProxyHost' => undef,
>                                                      'ServiceURL' => 'https://mycloudentrypoint.cern.ch:8443/',
>                                                      'UserAgent' => 'Amazon EC2 Perl Library',
>                                                      'SignatureVersion' => 2,
>                                                      'SignatureMethod' => 'HmacSHA256',
>                                                      'MaxErrorRetry' => 3
>                                                    },
>                                       '_xml_parser' => bless( {
>                                                                 '_State_' => 0,
>                                                                 'XML_LIBXML_PARSER_OPTIONS' => 528390
>                                                               }, 'XML::LibXML' ),
>                                       '_xslt_parser' => bless( {}, 'XML::LibXSLT' ),
>                                       '_awsSecretAccessKey' => 'my ONE SHA1 access key',
>                                       '_awsAccessKeyId' => 'my ONE user name'
>                                     }, 'Amazon::EC2::Client' )
>               }, 'Cloud' );
>
> and $request as mentioned earlier
> $VAR1 = {
>          'Filter' => {
>                        'FieldValue' => [],
>                        'FieldType' => [
>                                         'Amazon::EC2::Model::Filter'
>                                       ]
>                      },
>          'Owner' => '392941794136',
>          'ImageId' => undef,
>          'ExecutableBy' => undef
>        };
>
> (The owner looks odd to me. I tried to undefine it without success, and if I put my ONE user name there it does not change anything either)
>
> Any idea ?
> Thanks a lot!
>



-- 
Daniel Molina
Project Engineer
OpenNebula - The Open Source Toolkit for Cloud Computing
www.OpenNebula.org | @dmamolina



More information about the Users mailing list