[one-users] Express Installation Script.

Daniel.MOLDOVAN at cs.utcluj.ro Daniel.MOLDOVAN at cs.utcluj.ro
Sat Nov 6 00:49:08 PDT 2010

I think that the error is related to "export ONE_AUTH=/$HOME/.one-auth"
and it means that there is no one_auth file. This file should contain
username:pasword of the opennebula user. but it might also be from some
broken/missing ruby dependencies. You can also try install ruby-full from
a package manager.

Now about installing nebula. Using the express install is the easiest way
of getting things working(I am still talking of installing on a Ubuntu
1. You run the install on the client machine(using sudo install.sh or
something). The install script creates a "oneadmin" user and generates a
"rsa" key for this user. When it generates the "node-install.sh" it copies
that key to the node-install script.

2. If you add a node using "tm_ssh"( i have only used ssh, never nfs
because i am new at this too) then OpenNebula will get the host info by
using a "scp" to copy the "remotes" folder in the node /tmp/one and then
will connect using "ssh" to the node and call those ruby scripts.

NOTE1: one start must be done from the oneadmin user( so log in as
oneadmin , because this is why the instalation script creates it ) and DO
NOT USE sudo. If you use SUDO for "sudo start one", nebula will try  to
ssh as root.
NOTE2: to log in as oneadmin (i don't know the default oneadmin password)
i do a sudo passwd oneadmin and input another password.

3. The commands:
>> 1. export ONE_AUTH=/$HOME/.one-auth
>> 2. export ONE_XMLRPC=http://localhost:2633/RPC2
>> 3. sudo mkdir /var/run/one
>> 4. sudo mkdir /var/lock/one
>> 5. sudo chmod 0777 /var/run/one
>> 6. sudo chmod 0777 /var/lock/one
>> 7. one start
    Need to be performed on the client machine from the "oneadmin" user
logged in.
NOTE1: The install script should had created the /$HOME/.one-auth
containing oneadmin:oneadmin inside.
NOTE2: The password in the one_auth file does NOT NEED TO match the
password of the oneadmin user. They are two separate things. The one_auth
file is used for opennebula requests for client validation.

4. To install opennebula-node just run the node-install.sh on each node.
The node-install script also creates a oneadmin user. And more important,
it creates a  $HOME/.ssh (hidden folder, use Ctrl+H to see it in a file
manager). In this folder it creates(if not already existing) a file called
authorized_keys. Here the "rsa" key generated on the client is placed.
This file contains all the "rsa" keys used by anywone which wants to be
able to connect remotely to this node trough ssh. If the key is not
present a password is requested when issuing a ssh.

NOTE1: after running node-install, generate a password for oneadmin user
and log in as oneadmin. If you remain logged as other user the nebula
client will not be able to connect to the node to get info.

NOTE2: this steps only enable onehost add and onevm submit methods to
work. Migrate and onevm stop will fail because when migrating the nebula
nodes communicate directly. And when issuing a stop the node will try to
save the state of the virtual machine and copy back the machine to the
nebula client. This two methods will fail because the nodes do not have
the "rsa" key of the other nodes in their $HOME/.ssh/authorized_keys file.
And also the nebula client does not have the keys of the nebula nodes. So,
on each node, do a "ssh-keygen -t rsa". It will generate a id_rsa.pub.
Copy the key from the .pub file to the authorized_keys file on the nebula
client and of the other nebula nodes. Do this for each node. If the
authorized_keys file does not exist create it but see in the node-install
sh how is that created. VERRY IMPORTANT it must have certain access rights
and owner. A chmod 0600 and chown -R oneadmin $HOME/.ssh  is necesary. But
search in the node-install script. There are the correct values.

În Vin, Noiembrie 5, 2010 6:42 pm, KING LABS a scris:
> Hi Daniel,
> What you said is right , I am still struggling to get things right .... I
>  dont find opennebula docs to be straigt forward for a newbei , can you
> ask you for help .
> I am hoping if you can brief me the steps to install opennebula from
> source or using express script in brief for me. I would really appreciate
> it.
> also can you help me to understand this error
> *onehost list*
> */usr/lib/one/ruby/OpenNebula.rb:77:in `initialize': ONE_AUTH file not
> present (RuntimeError)* * **from
> /usr/lib/one/ruby/client_utilities.rb:239:in `new'*
> * **from /usr/lib/one/ruby/client_utilities.rb:239:in `get_one_client'*
> * **from /usr/bin/onehost:343*
> Regards,
> Kanthi
> On Thu, Nov 4, 2010 at 7:06 PM, <Daniel.MOLDOVAN at cs.utcluj.ro> wrote:
>> There are several peculiar issues regarding the opennebula node.
>> Firstly,
>> it copies some files in /tmp/ and they get deleted on system restart.
>> Second, i found that it did not create /var/lib/one with coresponding
>> access rights.
>> So, in order to make the opennebula node work you need to take some
>> steps each time the node is restarted(i am using Ubuntu server): 1. Copy
>> the content of /usr/lib/one/remotes from the machine where nebula client
>> is installed to /tmp/one ( create /tmp/one) on the nebula node 2. sudo
>> "mkdir /var/lib/one" (if folder does not exist)
>> 3. sudo "chmod 0777 -R /var/lib/one" (just to be certain give anyone
>> rights to access one)
>> Also, i have found that on the nebula client machine i need to perform
>> some similar tasks after system restart because folders keept
>> disappearing:
>> 1. export ONE_AUTH=/$HOME/.one-auth
>> 2. export ONE_XMLRPC=http://localhost:2633/RPC2
>> 3. sudo mkdir /var/run/one
>> 4. sudo mkdir /var/lock/one
>> 5. sudo chmod 0777 /var/run/one
>> 6. sudo chmod 0777 /var/lock/one
>> 7. one start
>> Hope this helps, because even with the express install configuring
>> nebula takes time. For example, the express install does not have any
>> means of adding the rsa key to the authorized_keys of the nebula client
>> so even if the deploy will work, the "stop" of a virtual machine fails.
>> In this case
>> the authorization keys have to be passed manually. The  same applies
>> between nebula nodes(in order to enable migration).
>>> Hi All,
>>> I think that the express installation script has some issues, I have
>>> been struggling for successful installation of OpenNebula 2.0 for past
>> few
>>> days.
>>> The variable *ONE_LOCATION=/srv/cloud/one *is used in the script but
>>> I do
>>> not see any such folder created by the script later. When I try to
>>> deploy vms , it get created in  /var/lib/one/ and the error logs
>>> shows
>> that
>>> theres some permission issues.
>>> Please let me know if anyone has also face the same issue and got it
>>> resolved.
>>> Regards.
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opennebula.org
>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

More information about the Users mailing list