[one-users] BUG report: stray files in /var/lib/one/remotes

Javier Fontan jfontan at opennebula.org
Fri Sep 7 07:20:35 PDT 2012


On Fri, Sep 7, 2012 at 12:08 PM, Matthew Patton <mpatton at inforelay.com> wrote:
> scripts_common.{sh,rb} are identical to their peers in /usr/lib/one. The
> ones in /var should be at least symlinks if they exist at all. Though
> looking at several of the im, tm, vmm they go to great pains to use the
> /usr/lib/one.

scripts_common files are in both lib and remotes as ut si used by both
remote scripts (scripts common is copied to the nodes) and drivers in
the frontend [1]. Note that the files are unique in the source
repository and copied by the install script [2][3]. They should be
equal. I don't think that having a couple of copies of those files
matter that much. Anyway, we can think on changing this, you can
create a ticket in out development page. [4]

> I also don't follow why the entire contents of '/var/lib/one/remotes' is
> copied over to a host during initialization. There might be a couple  files
> that are needed but I thought the whole point was that the front-end held
> all the logic and constructed elaborate ssh command strings that were then
> executed against the hosts. You don't need anything (or next to nothing) on
> the host if you do it right.

In ancient version we used to construct scripts and execute them using
ssh [5] but we faced several problems:

  * The result code is not one of the nicest one to, this makes it
difficult to change
  * It is really hard to debug
  * There is not an easy way to execute the code, it must be
constructed by the script and copied from the log files
  * Users that want to modify drivers will need to learn the code and
maybe some ruby. We wanted the drivers to be easily modificable by
sysadmins, shell scripts seems a natural choice
  * Some new scripts require non trivial logic that is a bit difficult
to cram in a single ssh line (and so error probe).

So we decided to trade engineering excellence for mental sanity, ours
and users' alike.

We are using a streamed ssh connection for VM deployments (to call
boths the network and hypervisor scripts). But still this only calls
scripts, does not execute "complex" logic.

[1] https://github.com/OpenNebula/one/blob/master/src/authm_mad/one_auth_mad.rb#L32
[2] https://github.com/OpenNebula/one/blob/master/install.sh#L655
[3] https://github.com/OpenNebula/one/blob/master/install.sh#L394
[4] http://dev.opennebula.org
[5] https://github.com/OpenNebula/one/blob/one-1.4/src/vmm_mad/xen/one_vmm_xen.rb#L89







-- 
Javier Fontán Muiños
Project Engineer
OpenNebula - The Open Source Toolkit for Data Center Virtualization
www.OpenNebula.org | jfontan at opennebula.org | @OpenNebula



More information about the Users mailing list