"no implicit conversion of nil into String" error when running AppWorker

Hi all,

I am getting an error when trying to run AppWorker.

This is the guide I have followed on the installation.

My version of packages:

- yum info opennebula-common
Versión     : 4.12.0
- yum info qemu-img
Versión     : 1.5.3
- ruby --version
ruby 2.0.0p353 (2013-11-22) [x86_64-linux]
-  gem  --version
2.0.14

Gems get correctly installed

- bundle install
Using json 1.8.2
Using mini_portile 0.6.2
Using nokogiri 1.6.6.2
Using open4 1.3.4
Using uuidtools 2.1.5
Using bundler 1.8.5

User is correct:

appmarket-user show 5507ed4b9438225624000002  -u oneadmin -p oneadmin 
{
  "_id": {"$oid": "5507ed4b9438225624000002"},
  "username": "worker",
  "organization": "worker",
  "first_name": "worker",
  "last_name": "worker",
  "website": "worker",
  "email": "worker",
  "status": "enabled",
  "role": "worker",
  "catalogs": [

  ]
}

My AppMarket is running and recheable at : MY_IP:6242

And this is the content of appconverter-worker.conf (relevant values)

:username: worker
:password: worker
:repo: /var/tmp/appmarket-repo
:base_uri: http://MY_IP
:temp_dir: /var/tmp/appmarket-tempdir

Folders in /var/tmp are created and are accesible.

Python web server is up and running. When accessing my_ip:80,

python2 -m SimpleHTTPServer 80
Serving HTTP on 0.0.0.0 port 80 ...
172.17.0.183 - - [17/Mar/2015 18:30:47] "GET / HTTP/1.1" 200 -
172.17.0.183 - - [17/Mar/2015 18:30:47] code 404, message File not found
172.17.0.183 - - [17/Mar/2015 18:30:47] "GET /favicon.ico HTTP/1.1" 404 -

(which is fine)

Mongo is running too:

mongo
MongoDB shell version: 3.0.1

And starting the converter throws no error.

So I assume my installation is kind of correct, altough I get an error.

I am trying to import an OVA, generic_www.

This is my template:

id	
$oid	550856ac9438225c94000002
name	generic-www
short_description	Image for generic_www
tags	
0	Italy
1	vo.chain-project.eu
description	Generic virtual machine having apache web server
catalog	community
version	1.0
os-id	CentOS
hypervisor	KVM
os-release	Version 6.6
format	qcow2
os-arch	x86_64
source_type	ova
source	http://appliance-repo.egi.eu/images/chain-reds/generic_www.ova
opennebula_version	all
visits	0
downloads	0
logo	/img/logos/default.png
status	error
creation_time	1426609836
publisher	ciemat
links	
download	
href	MY_IP7: 6242/appliance/550856ac9438225c94000002/download

It seems to work for a while, but I get the following error

[root@one01 550826b694382271c9000002]# more stderr 
[TypeError] no implicit conversion of nil into String
["/usr/lib/one/ruby/appconverter/lib/appliance_handler.rb:197:in `join'", "/usr/lib/one/ruby/appconverter/lib/appliance_handler.rb:197
:in `block in register_files'", "/usr/lib/one/ruby/appconverter/lib/appliance_handler.rb:196:in `each'", "/usr/lib/one/ruby/appconvert
er/lib/appliance_handler.rb:196:in `register_files'", "/usr/lib/one/ruby/appconverter/drivers/upload:113:in `<main>'"]

There are tmp files in the appmarket tmp folder, so some work was performed.

 ls -lh  appmarket-tempdir/d20150317-17718-v80b8n:

-rw-r--r-- 1 root root 1,8G ene 30 16:40 generic_www-disk1.vmdk
-rw-r--r-- 1 root root  136 ene 30 16:40 generic_www.mf
-rw-r--r-- 1 root root 8,5K ene 30 16:40 generic_www.ovf

Have you got any clue on what’s going on?

Thanks for your help,

Manuel

EDIT: I have just realized that the template has format “qcow2” while the uncompressed OVA seems to be a vmdk. That may be the source of the problem, I guess… Just in case I am creating another template with that format to see what happens

Nope, having different formats for the template has no effect on the error. Any ideas?

Hi Manuel,

have you solved this issue? I have the same error and I don’t know how to continue.

Thanks,

Xavi.

Nop, still having it.

As a workaround, I stopped using the AppWorker. So if you can solve it
anyhow, please let me know!