incubator-deltacloud-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "marios@redhat.com" <mandr...@redhat.com>
Subject Re: GETTING STARTED WITH DELTACLOUD
Date Tue, 08 Nov 2011 09:23:49 GMT
Hi Tom,

OK, we've gotten to the bottom of this. First of all, thanks for taking
the time to report the issue - it will definitely help us to make the
deltacloud installation process better. There are a number of ways in
which this issue can be addressed and we are evaluating those before
making a decision. The fix should make it's way into the next Deltacloud
release. I'll likely also be updating the website with a temporary
work-around for rhel 6.1 soon. A more detailed description of the issue
follows below,

marios

================description of the problem:=========================

The issue is obviously a versioning problem... the deltacloud-core gem
itself requires the 'net-ssh' gem (we use that for the 'run-on-instance'
feature where clients can run an action on a running instance
http://incubator.apache.org/deltacloud/api#h3_5_3). Our .gemspec
requirement for net-ssh is:

  s.add_dependency('net-ssh', '>= 2.0.0')

Meaning, any version of net-ssh newer than version 2 (currently the
latest version @rubygems is 2.2.1 http://rubygems.org/gems/net-ssh).

Deltacloud also requires the 'fog' gem, which we use to talk to the
terremark vCloud Express and google-storage cloud API. When you install
a gem, like fog, you also pull in all the gems that it requires. In this
case, fog has the requirement
(https://github.com/fog/fog/blob/master/fog.gemspec):

  s.add_dependency('net-ssh', '~>2.1.4')

which means, any version greater than or equal to, 'in the last digit'
... i.e. '~>' here will match 2.1.4 ... up to 2.1.x but not 2.2.x
(http://docs.rubygems.org/read/chapter/16). Thus, we have a versioning
conflict... our own gemspec dependency will pull in "net-ssh >= 2.0.0",
basically meaning 'the latest'... 2.2.1. However this doesn't satisfy
the fog dependency of "2.1.4 <= net-ssh < 2.2.0".

Versions of 'rubygems' after 1.6.0
(https://github.com/rubygems/rubygems/blob/master/History.txt)
introduced a conflict resolution mechanism, whereby the 'least common
denominator' is used in such cases. In this case version 2.1.4 of
net-ssh is used, thus satisfying both .gemspec constraints. However rhel
is using rubygems version 1.3.7 (i.e. before the conflict resolution
mechanism was introduced), which is why the gem installer reports:

gem install deltacloud-core
ERROR:  Error installing deltacloud-core:
    fog requires net-ssh (~>  2.1.4, runtime)

Thanks again to Tom Wlodek for reporting this


On 04/11/11 19:42, Tom Wlodek wrote:
> On 11/04/2011 01:14 PM, marios@redhat.com wrote:
>> Hi Tom,
>>
>> I just spent some time looking at this:
>>
>> I tried to recreate this but was not able to (though I can see what the
>> problem is with the net-ssh version.. more below). Can you tell us what
>> OS/version you are using (I tried to recreate with a vanilla fedora 15
>> intallation).
> 
> Hi, thanks for looking into that. As for the OS version:
> 
> 
>  cat /etc/redhat-release
> Red Hat Enterprise Linux Workstation release 6.1 (Santiago)
> 
> 
> Tom Wlodek
> 
> 
>> Ok, the deltacloud gem pulls in the fog gem. It seems fog introduced the
>> dependency ~>  2.1.4 since fog version 0.10.0. When you install
>> deltacloud-core, the .gemspec should ensure you get version 2.1.4 of
>> net-ssh as required by fog. One way you may have ended up with version
>> 2.2.1 (which is in fact the latest), is if you already had it (e.g. due
>> to some unrelated installation/dependency).
>>> but when I do
>>>
>>>   gem list
>>>
>>> I get
>>> ...
>>>
>>> net-ssh (2.2.1)
>>>
>>> so I have net-ssh installed.
>>>
>>> Any ideas?
>> Just fyi, you could have removed the net-ssh 2.2.1 and explicitly
>> installed the version that was required:
>>
>> gem uninstall net-ssh
>>
>> gem install net-ssh -v 2.1.4
>>
>> If you had then run gem install deltacloud-core it should have run fine.
>> But this is besides the point, we want the install to be as painless as
>> possible so any info you can provide about your setup will help me to
>> investigate further,
>>
>> thanks for reporting the issue, marios
>>
>>
>>> Tom W
>>>
>>> |
>>>
>>>
> 


Mime
View raw message