Bug 818097 - aeolus-configure fails due to link to non-existing file
Summary: aeolus-configure fails due to link to non-existing file
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: CloudForms Cloud Engine
Classification: Retired
Component: aeolus-configure
Version: 1.0.0
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: rc
Assignee: Richard Su
QA Contact: Rehana
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-05-02 08:34 UTC by Dies Koper
Modified: 2012-05-04 14:44 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-04 14:44:23 UTC


Attachments (Terms of Use)
/var/log/messages output of "yum install aeolus-all" (most of it) (7.27 KB, application/x-gzip)
2012-05-03 01:31 UTC, Dies Koper
no flags Details

Description Dies Koper 2012-05-02 08:34:19 UTC
Description of problem:

I have installed Aeolus (aeolus-all.noarch 0:0.8.0-5.el6) on CentOS 6 (using 'yum install aeolus-all' from repo rhel-aeolus.repo as per instructions on the website). [Update: I tried again with the packages from rhel-aeolus-testing.repo: same result]

When starting it, I get the following error:

[root@localhost ~]# /usr/sbin/aeolus-configure -p ec2,mock
Launching aeolus configuration recipe...
warning: Could not load fact file /usr/share/aeolus-configure/modules//aeolus/lib/facter/oauth.rb: No such file or directory - /etc/aeolus-conductor/oauth.json
Failed to parse template aeolus/conductor-settings.yml: Could not find value for 'iwhd_oauth_user' at /usr/share/aeolus-configure/modules/aeolus/manifests/conductor.pp:27 on node localhost.localdomain


Version-Release number of selected component (if applicable):
aeolus-all.noarch 0:0.8.0-5.el6
 and
aeolus-all.noarch 0:0.9.0-0.20120403164322git3901824.el6

How reproducible:

Run as root:
/usr/sbin/aeolus-configure -p ec2,mock

Steps to Reproduce:
1. base CentOS 6, yum update till about a week ago.
2. curl either rhel-aeolus or testing repo
3. yum install aeolus-all
4. /usr/sbin/aeolus-configure -p ec2,mock
  
Actual results:

[root@localhost ~]# /usr/sbin/aeolus-configure -p ec2,mock
Launching aeolus configuration recipe...
warning: Could not load fact file /usr/share/aeolus-configure/modules//aeolus/lib/facter/oauth.rb: No such file or directory - /etc/aeolus-conductor/oauth.json
Failed to parse template aeolus/conductor-settings.yml: Could not find value for 'iwhd_oauth_user' at /usr/share/aeolus-configure/modules/aeolus/manifests/conductor.pp:27 on node localhost.localdomain

Expected results:

No error.

Additional info:

The json file is a link to a non-existing file:

[root@localhost ~]# ls -la /etc/aeolus-conductor/oauth.json
lrwxrwxrwx. 1 root root 45 May  2 18:17 /etc/aeolus-conductor/oauth.json -> /usr/share/aeolus-conductor/config/oauth.json
[root@localhost ~]# ls /usr/share/aeolus-conductor/config/oauth.json
ls: cannot access /usr/share/aeolus-conductor/config/oauth.json: No such file or directory
[root@localhost ~]#

Comment 1 Richard Su 2012-05-03 01:16:27 UTC
Hi,

I wasn't able to reproduce this on RHEL using the testing repo. 

oauth.json is created by the aeolus-conductor rpm. I wonder if there was an error during the post install step when aeolus-conductor was installed. 

Would you happen to have the output from executing "yum install aeolus-all"? It might still be in /var/log/messages. 

You can work around this issue by creating the missing oauth.json file using the following commands:

export RAILS_ENV=production
cd /usr/share/aeolus-conductor
rake dc:oauth_keys

That should create oauth.json under /usr/share/aeolus-conductor/config/. 

After that please retry aeolus-configure.

Comment 2 Dies Koper 2012-05-03 01:31:24 UTC
Created attachment 581743 [details]
/var/log/messages output of "yum install aeolus-all" (most of it)

Comment 3 Dies Koper 2012-05-03 01:33:24 UTC
Recreation failed:

[root@localhost ~]# export RAILS_ENV=production
[root@localhost ~]# cd /usr/share/aeolus-conductor
[root@localhost aeolus-conductor]# rake dc:oauth_keys
Using gem require instead of bundler
rake aborted!
can't activate rack (~> 1.3.0, runtime) for ["rack-restful_submit-1.2.1"], already activated rack-1.4.1 for ["actionpack-3.0.10", "railties-3.0.10"]

(See full trace by running task with --trace)
[root@localhost aeolus-conductor]# ls /usr/share/aeolus-conductor/config/
application.rb  database.pg      environments               locales
boot.rb         database.sqlite  image_factory_console.yml  navigation.rb
cucumber.yml    database.yml     image_warehouse.yml        routes.rb
database.mysql  environment.rb   initializers               settings.yml
[root@localhost aeolus-conductor]#

Comment 4 Richard Su 2012-05-03 02:21:12 UTC
Interesting, that says you're using rack version 1.4.1 and it is expecting 1.3.0.
Looking at your /var/log/messages I see version 1.3.0 was installed. 1.3.0 is also the version I see locally in RHEL 6.1 and 6.2.

Any ideas on how you may have gotten version 1.4.1?

What's your output for
1. rpm -qa rubygem-rack
2. gem list rack

Comment 5 Dies Koper 2012-05-03 02:27:57 UTC
I used this machine for DeltaCloud development, so I suppose I got 1.4.1 from that?

[root@localhost aeolus-conductor]# rpm -qa rubygem-rack

rubygem-rack-1.3.0-1.el6.noarch
[root@localhost aeolus-conductor]# gem list rack

*** LOCAL GEMS ***

rack (1.4.1, 1.3.0)
rack-accept (0.4.4, 0.4.3)
rack-mount (0.7.1)
rack-protection (1.2.0)
rack-restful_submit (1.2.1)
rack-test (0.6.1, 0.6.0)
[root@localhost aeolus-conductor]#

Comment 6 Richard Su 2012-05-03 02:45:25 UTC
Yeah, gem installs would pull in the latest versions of dependencies. That is what probably happened here. Try removing rack version 1.4.1 and reinstalling aeolus-conductor rpm or running rake dc:oauth_keys and should move you pass the missing oauth.json file problem.

The deltacloud-core.gemspec indicates that it needs only version >= 1.0, so I think 1.3.0 should be sufficient.

Comment 7 Dies Koper 2012-05-03 03:02:32 UTC
I've removed rack 1.4.1 and rake dc:oauth_keys now runs successfully.

When I removed rack 1.4.1 it warned me:
 sinatra-1.3.2 depends on [rack (~> 1.3, >= 1.3.6)]

Sinatra is used by DC but according to deltacloud-core.gemspec supports older versions. Looks like I'll need to do some juggling to get a combination of gems that work for both!

aeolus-configure logged one error, but did not abort. Safe to ignore?

err: /Stage[main]/Aeolus::Deltacloud::Core/Exec[deltacloud-core-startup-wait]/returns: change from notrun to 0 failed: /usr/bin/nc -z localhost 3002 returned 1 instead of one of [0] at /usr/share/aeolus-configure/modules/aeolus/manifests/deltacloud.pp:43

Comment 8 Richard Su 2012-05-04 01:01:18 UTC
Were there any errors logged to /var/log/deltacloud-core/mock.log?
Did you have something running on port 3002?

I was able to reproduce this by doing the following:
1. deltacloudd -i mock -p 3002
2. aeolus-configure -p mock
3. stop process in (1)
4. aeolus-configure -p mock -> this would result in the /usr/bin/nc error


I was able to clear it up by running
aeolus-cleanup; aeolus-configure -p mock

Comment 9 Dies Koper 2012-05-04 01:08:20 UTC
I believe there is nothing relevant in mock.log (there are a few RubyGem version error: rack(1.3.0 not ~> 1.3, >= 1.3.6) errors but I think they occurred when I tried to start DC /after/ configuring and starting Aeolus.

Nothing running on 3002. When I run DC (but wasn't running when this error occurred) I always have it on 3001.

Comment 10 pushpesh sharma 2012-05-04 09:34:04 UTC
I tried installing aeolus from the repo 
http://repos.fedorapeople.org/repos/aeolus/conductor/testing/6Server/$basearch/
On fresh CentOS6.2 Box and i didn't get any error message to configure ec2,mock providers for it.

I followed the steps mentioned in comment#1(the usual steps).

1.Fresh CentOS6.2 Box.
2.yum update
3.vi /etc/yum.repos.d/rhel-aeolus-testing.repo and pasted the content of 

http://repos.fedorapeople.org/repos/aeolus/conductor/testing/rhel-aeolus-testing.repo

4.yum -y install aeolus-all==>no error observed

5.aeolus-configure -p ec2,mock==>no error observed,mock and ec2 provider configured correctly and visible as valid cloud resource provider from web-ui


6. I am keeping my setup available to you for a day(inform me if you need extra time),hostaname is:-

dhcp201-165.englab.pnq.redhat.com

Please correct me if anything is missing.

Additional info:-


[root@dhcp201-165 ~]# cat /etc/issue
CentOS release 6.2 (Final)

[root@dhcp201-165 ~]# uname -r
2.6.32-220.el6.x86_64

[root@dhcp201-165 ~]# rpm -qa|grep aeolus
rubygem-aeolus-image-0.4.0-0.20120403114406gitbc44a5a.el6.noarch
aeolus-conductor-daemons-0.9.0-0.20120403164322git3901824.el6.noarch
rubygem-rack-mount-0.7.1-3.aeolus.el6.noarch
aeolus-configure-2.6.0-0.20120403114342git9de4f42.el6.noarch
aeolus-conductor-0.9.0-0.20120403164322git3901824.el6.noarch
rubygem-aeolus-cli-0.4.0-0.20120403114355git6cbf986.el6.noarch
rubygem-arel-2.0.10-0.aeolus.el6.noarch
rubygem-ZenTest-4.3.3-2.aeolus.el6.noarch
aeolus-conductor-doc-0.9.0-0.20120403164322git3901824.el6.noarch
aeolus-all-0.9.0-0.20120403164322git3901824.el6.noarch



###############################
[root@dhcp201-165 ~]# rpm -qa|grep gem
rubygem-rake-0.9.2-1.el6.noarch
rubygem-oauth-0.4.4-1.el6.noarch
rubygem-ruby2ruby-1.2.4-2.el6.noarch
rubygem-text-format-1.0.0-4.el6.noarch
rubygem-erubis-2.6.6-1.el6.noarch
rubygem-mail-2.3.0-1.el6.noarch
rubygem-fastercsv-1.5.1-2.el6.noarch
rubygem-aeolus-image-0.4.0-0.20120403114406gitbc44a5a.el6.noarch
rubygem-RubyInline-3.8.4-1.el6.noarch
rubygem-rack-1.3.0-1.el6.noarch
rubygem-uuidtools-2.1.1-2.el6_0.noarch
rubygem-rest-client-1.6.1-2.el6_0.noarch
rubygem-rack-restful_submit-1.2.1-4.el6.noarch
rubygem-highline-1.5.1-2.el6_0.noarch
rubygem-eventmachine-0.12.10-5.el6_0.x86_64
rubygem-curb-0.7.10-1.el6.x86_64
rubygem-yard-0.7.2-1.el6.noarch
rubygem-rack-mount-0.7.1-3.aeolus.el6.noarch
rubygem-aws-2.5.5-1.el6.noarch
rubygem-bundler-1.0.15-1.el6.noarch
rubygems-1.8.10-1.el6.noarch
rubygem-activesupport-3.0.10-1.el6.noarch
rubygem-sexp_processor-3.0.4-1.el6.noarch
rubygem-rack-test-0.6.0-2.el6.noarch
rubygem-mime-types-1.16-4.el6_0.noarch
rubygem-sass-3.1.4-4.el6.noarch
rubygem-will_paginate-3.0-0.1.pre2.el6.noarch
rubygem-rails_warden-0.5.2-2.el6.noarch
rubygem-activerecord-3.0.10-2.el6.noarch
rubygem-pg-0.11.0-6.el6.x86_64
rubygem-crack-0.1.8-1.el6.noarch
rubygem-polyglot-0.3.1-1.el6.noarch
rubygem-thin-1.2.11-10.el6.x86_64
rubygem-addressable-2.2.6-1.el6.noarch
rubygem-http_connection-1.4.1-3.el6.noarch
rubygem-haml-3.1.2-2.el6.noarch
rubygem-regin-0.3.8-1.el6.noarch
rubygem-actionmailer-3.0.10-1.el6.noarch
rubygem-xml-simple-1.0.12-3.el6_0.noarch
rubygem-thor-0.14.6-2.el6.noarch
rubygem-i18n-0.5.0-1.el6.noarch
rubygem-activemodel-3.0.10-1.el6.noarch
rubygem-fssm-0.2.6.1-1.el6.noarch
rubygem-json-1.4.3-3.el6_0.x86_64
rubygem-aeolus-cli-0.4.0-0.20120403114355git6cbf986.el6.noarch
rubygem-rdoc-3.8-2.el6.noarch
rubygem-warden-1.0.5-1.el6.noarch
rubygem-arel-2.0.10-0.aeolus.el6.noarch
rubygem-vcr-1.10.0-1.el6.noarch
rubygem-net-ssh-2.0.23-6.el6_0.noarch
rubygem-sinatra-1.2.6-1.el6.noarch
rubygem-daemons-1.0.10-3.el6_0.noarch
rubygem-rbvmomi-1.2.3-3.el6.noarch
rubygem-diff-lcs-1.1.2-4.el6_0.noarch
rubygem-maruku-0.6.0-3.el6.noarch
rubygem-simple-navigation-3.0.0-3.el6_0.noarch
rubygem-ZenTest-4.3.3-2.aeolus.el6.noarch
rubygem-ParseTree-3.0.5-1.el6.noarch
rubygem-rails-3.0.10-1.el6.noarch
rubygem-nokogiri-1.4.3.1-1.el6.x86_64
rubygem-activeresource-3.0.10-1.el6.noarch
rubygem-deltacloud-client-0.4.0-3.el6.noarch
rubygem-rack-accept-0.4.3-6.el6_0.noarch
rubygem-hpricot-0.8.4-1.el6.x86_64
rubygem-tilt-1.3.2-1.el6.noarch
rubygem-trollop-1.16.2-1.el6_0.noarch
rubygem-syntax-1.0.0-4.el6.noarch
rubygem-actionpack-3.0.10-1.el6.noarch
rubygem-railties-3.0.10-1.el6.noarch
rubygem-builder-2.1.2-4.el6_0.noarch
rubygem-tzinfo-0.3.26-1.el6.noarch
rubygem-ruby_parser-2.0.4-3.el6.noarch
rubygem-ruby-net-ldap-0.0.4-5.el6.noarch
rubygem-abstract-1.0.0-3.el6.noarch
rubygem-treetop-1.4.9-2.el6.noarch
rubygem-webmock-1.6.4-1.el6.noarch
rubygem-timecop-0.3.5-2.el6.noarch

Comment 11 Hugh Brock 2012-05-04 14:44:23 UTC
Well, given that this is both against old upstream packages *and* we can't reproduce it, I'm going to close it.


Note You need to log in before you can comment on or make changes to this bug.