On Fri, Sep 7, 2012 at 12:08 PM, Matthew Patton <mpat...@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 | jfon...@opennebula.org | @OpenNebula _______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org