[Pkg-opennebula-devel] Bug#663086: occi-server: html/js/image files for self-service portal missing
Martin Steigerwald
ms at teamix.de
Thu Mar 8 11:38:53 UTC 2012
Package: opennebula
Version: 3.2.1-1
Severity: normal
Dear Maintainer,
again I am reporting from my workstation, server is pure sid as of today.
after having fixed #663065 and #663072 for me I can access the self
service portal from
http://opennebula.of.teamix.net:4567/ui
But the HTML files are missing:
application error
Errno::ENOENT at /ui
No such file or directory - /usr/lib/one/ruby/cloud/occi/ui/templates/login.html
file: occi-server.rb
location: read
line: 340
BACKTRACE
(expand)
JUMP TO: GET POST COOKIES ENV
/usr/lib/one/ruby/cloud/occi/occi-server.rb in read
post '/ui/logout' do
destroy_session
end
get '/ui' do
if !authorized?
return File.read(File.dirname(__FILE__)+'/ui/templates/login.html')
end
time = Time.now + 60
response.set_cookie("occi-user",
:value=>"#{session[:user]}",
:expires=>time)
/usr/lib/one/ruby/cloud/occi/occi-server.rb in GET /ui
return File.read(File.dirname(__FILE__)+'/ui/templates/login.html')
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call
proc { unbound_method.bind(self).call(*@block_params) } :
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in compile!
proc { unbound_method.bind(self).call(*@block_params) } :
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in instance_eval
throw :halt, instance_eval(&block)
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in route_eval
throw :halt, instance_eval(&block)
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in route!
route_eval(&block)
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in process_route
yield
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in catch
catch(:pass) do
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in process_route
catch(:pass) do
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in route!
pass_block = process_route(pattern, keys, conditions) do
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in each
routes.each do |pattern, keys, conditions, block|
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in route!
routes.each do |pattern, keys, conditions, block|
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in dispatch!
route!
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call!
invoke { dispatch! }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in instance_eval
res = catch(:halt) { instance_eval(&block) }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in invoke
res = catch(:halt) { instance_eval(&block) }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in catch
res = catch(:halt) { instance_eval(&block) }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in invoke
res = catch(:halt) { instance_eval(&block) }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call!
invoke { dispatch! }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call
dup.call!(env)
/usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb in context
status, headers, body = app.call(env)
/usr/lib/ruby/vendor_ruby/rack/session/abstract/id.rb in call
context(env)
/usr/lib/ruby/vendor_ruby/rack/head.rb in call
status, headers, body = @app.call(env)
/usr/lib/ruby/vendor_ruby/rack/commonlogger.rb in call
status, header, body = @app.call(env)
/usr/lib/ruby/vendor_ruby/sinatra/showexceptions.rb in call
@app.call(env)
/usr/lib/ruby/vendor_ruby/rack/methodoverride.rb in call
@app.call(env)
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call
synchronize { prototype.call(env) }
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in synchronize
yield
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in call
synchronize { prototype.call(env) }
/usr/lib/ruby/vendor_ruby/thin/connection.rb in pre_process
response = @app.call(@request.env)
/usr/lib/ruby/vendor_ruby/thin/connection.rb in catch
catch(:async) do
/usr/lib/ruby/vendor_ruby/thin/connection.rb in pre_process
catch(:async) do
/usr/lib/ruby/vendor_ruby/thin/connection.rb in process
post_process(pre_process)
/usr/lib/ruby/vendor_ruby/thin/connection.rb in receive_data
process if @request.parse(data)
/usr/lib/ruby/vendor_ruby/eventmachine.rb in run_machine
run_machine
/usr/lib/ruby/vendor_ruby/eventmachine.rb in run
run_machine
/usr/lib/ruby/vendor_ruby/thin/backends/base.rb in start
EventMachine.run(&starter)
/usr/lib/ruby/vendor_ruby/thin/server.rb in start
@backend.start
/usr/lib/ruby/vendor_ruby/rack/handler/thin.rb in run
server.start
/usr/lib/ruby/vendor_ruby/sinatra/base.rb in run!
handler.run self, :Host => bind, :Port => port do |server|
/usr/lib/ruby/vendor_ruby/sinatra/main.rb in nil
at_exit { Application.run! if $!.nil? && Application.run? }
/usr/lib/one/ruby/cloud/occi/occi-server.rb in nil
post '/ui/upload' do
GET
No GET data.
POST
No POST data.
COOKIES
[…]
Rack ENV
Variable Value
GATEWAY_INTERFACE
CGI/1.2
HTTP_ACCEPT
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_ENCODING
gzip, deflate
HTTP_ACCEPT_LANGUAGE
en-us,en;q=0.5
HTTP_CONNECTION
keep-alive
HTTP_COOKIE
[…]
HTTP_HOST
opennebula.of.teamix.net:4567
HTTP_USER_AGENT
Mozilla/5.0 (X11; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0 Iceweasel/11.0
HTTP_VERSION
HTTP/1.1
PATH_INFO
/ui
QUERY_STRING
REMOTE_ADDR
[…]
REQUEST_METHOD
GET
REQUEST_PATH
/ui
REQUEST_URI
/ui
SCRIPT_NAME
SERVER_NAME
opennebula.of.teamix.net
SERVER_PORT
4567
SERVER_PROTOCOL
HTTP/1.1
SERVER_SOFTWARE
thin 1.3.1 codename Triple Espresso
async.callback
#<Method: Thin::Connection#post_process>
async.close
#<EventMachine::DefaultDeferrable:0x7ff9dd8a7698>
rack.errors
#<Object:0x7ff9e179d6e0>
rack.input
#<StringIO:0x7ff9dd8a7cd8>
rack.multiprocess
false
rack.multithread
false
rack.request.cookie_hash
[…]
rack.request.cookie_string
[…]
rack.request.query_hash
{}
rack.request.query_string
rack.run_once
false
rack.session
#<Rack::Session::Abstract::SessionHash:0x3ffceec539e4 not yet loaded>
rack.session.options
{:key=>"occi", :expire_after=>nil, :domain=>nil, :renew=>false, :secure=>false, :sidbits=>128, :httponly=>true, :id=>nil, :path=>"/", :drop=>false, :defer=>false, :secure_random=>SecureRandom}
rack.url_scheme
http
rack.version
[1, 0]
sinatra.error
#<Errno::ENOENT: No such file or directory - /usr/lib/one/ruby/cloud/occi/ui/templates/login.html>
You're seeing this error because you have enabled the show_exceptions setting.
Installing the files manually fixes the issue for me:
opennebula:~# apt-get source opennebula
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
HINWEIS: »opennebula«-Paketierung wird betreut im »Git«-Versionsverwaltungssystem auf:
git://git.debian.org/pkg-opennebula/opennebula.git
[…]
opennebula:~# cd opennebula-3.2.1/
opennebula:~/opennebula-3.2.1# find -iname "*login.html*"
./.pc/sunstone_system_jquery.diff/src/sunstone/templates/login.html
./.pc/ozones_system_jquery.diff/src/ozones/Server/templates/login.html
./src/cloud/occi/lib/ui/templates/login.html
./src/ozones/Server/templates/login.html
./src/sunstone/templates/login.html
opennebula:~/opennebula-3.2.1# rsync -av ./src/cloud/occi/lib/ui/ /usr/lib/one/ruby/cloud/occi/ui
sending incremental file list
created directory /usr/lib/one/ruby/cloud/occi/ui
./
public/
public/css/
public/css/application.css
public/css/layout.css
public/css/login.css
[…]
Now I get the login screen, but it doesn't let me in. Neither with
the clear text password now with the hash. There does seem to be some
authentication issue. Lets see whether I can find this one as well.
Thanks,
Martin
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (500, 'testing'), (450, 'unstable'), (110, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-1-686-pae (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages opennebula depends on:
ii libc6 2.13-26
ii libgcc1 1:4.6.3-1
ii libmysqlclient16 5.1.58-1
ii libsqlite3-0 3.7.10-1
ii libssl1.0.0 1.0.0g-1
ii libstdc++6 4.6.3-1
ii libxml2 2.7.8.dfsg-7
ii libxmlrpc-c++4 <none>
ii libxmlrpc-core-c3 <none>
ii opennebula-common 3.2.1-1
ii ruby 4.8
ii ruby-password [libpassword-ruby] 0.5.3-3
ii ruby-sequel [libsequel-ruby] 3.33.0-1
ii ruby1.8 [ruby] 1.8.7.352-2
ii rubygems 1.8.15-1
Versions of packages opennebula recommends:
ii libmysql-ruby 2.8.2+gem2deb-1
ii ruby-mysql [libmysql-ruby] 2.8.2+gem2deb-1
ii ruby-sqlite3 [libsqlite3-ruby] 1.3.5-1
Versions of packages opennebula suggests:
ii mysql-server <none>
ii ruby-amazon-ec2 [libamazonec2-ruby] 0.9.17-2
More information about the Pkg-opennebula-devel
mailing list