Cluster software packages doesn't work

I have two Centos 6 test servers: master and one slave.

The slave is added to Webmin Servers Index without problems (I checked the status).

I added both to the Cluster Software Packages module.

When I try to install the package "nc" from YUM on all hosts (ie, those two) the output is:

Failed to install on this server : An error occurred installing the specified updates Failed to install on 192.168.1.67 : An error occurred installing the specified updates

The first failure is seen immediately and then the output stalls forever. If we login via ssh on the other host and kill the rpc.cgi processes the second message appears.

On the master machine "this server" we see these messages on the logs:

"POST /cluster-software/install_pack.cgi?id=13429162297900 HTTP/1.1" 200 3143

On the slave machine we see messages such as this one:

"POST /rpc.cgi HTTP/1.0" 200 44

No package gets installed on either machine.

yum install nc

from the shell works correctly.

Status: 
Closed (fixed)

Comments

Note:

The normal Software Packages module works well. Package "nc" is installed without problems using the equivalent GUI location "Package from YUM".

It is not a clustering problem as the Cluster Users and Groups module works well.

Check that ports 10000 to 10010 are open on the remote system - most failures of cluster modules are due to RPC failures, and the RPC mechanism uses those ports.

The ports are available and iptables is not running.

Activating Fast RPC calls on the remote server we receive immediatly these messages:

Failed to install on this server : An error occurred installing the specified updates Failed to install on 192.168.1.67 : An error occurred installing the specified updates

Another thing to check - on the master system, go to Webmin -> Webmin Servers Index and click the (edit) link next to the problem slave. Change the "Make fast RPC calls?" setting to "Yes", click save, and re-try the cluster install.

Fast RPC calls are activated (see comment 4). With fast RPC calls it fails... faster :-)

I tried this on the Virtualmin demo

http://virtualmin-demo.virtualmin.com/

using only "this server" on the cluster and trying to install a package from YUM failed as well:

Installing cdrdao on all hosts ..

Failed to install on this server : An error occurred installing the specified updates

.. done

Installation now works but the user feedback is wrong.

This is what I see when try to install package nmap on all hosts:

Installing nmap on all hosts ..

Failed to install on this server : Already installed Failed to install on 192.168.1.67 : Already installed

.. done

even if the packages is not installed and webmin DOES install it:

Jul 24 16:16:24 CentOS6 yum[2488]: Installed: 2:nmap-5.51-2.el6.i686

Hi,

I tried again the normal (non-cluster) Software Packages module and it behaves as follows:

1- installs if the package is not installed 2- updates if the package is already installed

I don't see this problem happening on non-cluster...

Let me know if I can help with more testing.

Do you still see problems if you apply the github patch from #10 on the remote system?

Updated yum-lib.pl on both cluster master and remote.

Depending on the package I see 2 different errors:

Installing nmap on all hosts ..

Installed on this server. Failed to install on 192.168.1.67 : Already installed

.. done

Installing abrt-gui on all hosts ..

Installed on this server. Installed on this server. Cannot write to directory /etc/webmin/cluster-software/hosts/0/

The result with the latest do_install.cgi and the previously mentioned yum-lib.pl is

  • install successful but no feedback on hosts where the package is not isntalled
  • failure with generic error on hosts where the package is installed (doesn't say "already installed")

Example:

Installing nmap on all hosts ..

Failed to install on Lurdes : Failed to install on Hugo :

Failed to install on Master Server :

.. done

And it doesn't accept multiple packages. If we insert

pkg1 pkg2

on the GUI it will try to install "pkg1pkg2".

Jamie,

Here are the results:

Installing a new package -> OK Updating an existing packages -> OK Installing / updating a package across servers with different pkg versions -> OK

This is great!

Minors:

Since the install feature also updates packages when updates are available (and that's a good thing!) feedback messages should be:

  1. Installed XXX on YYYY
  2. Updated XXX on YYY
  3. Failed to install XXX on 192.168.1.67 : the latest version of XXX is already installed

I'm also encountering a feedback error from time to time:

Cannot write to directory /etc/webmin/cluster-software/hosts/1343329859

This happens after the feedback messages from some hosts are shown, and from this time one the next feedback messages won't be printed, although all the packages end up installed correctly.

Finally, Id like to report that the

Uninstall from [DROPBOX WITH OPTIONS]

GUI feature that we can use after searching for a package does not recognize the existence of server groups. Whereas the install feature presents all hosts, individual hosts and individual groups:

all hosts IP1 ... IPN Group1 members ... GroupN members

I hope I'm not being to painful with all this detailed reporting.

Let me know if/how I can help further.

I suspect I'll soon be testing this on Ubuntu based systems and will be glad to provide feedback as well.

I'll fix the issue in comment 19 in the next Webmin release.

For comment 18, it should already say "Already installed" .. at least, it does for me.

For comment 20, are you just looking for a way to un-install across multiple systems or systems in a group?

Hi Jamie,

It says "Already installed" but it would be better if it said

"the latest version of XXX is already installed"

which implicitly says that an update would be done in case it was already installed but not aligned with the latest available version.

Put in another way: "Fail to install on XXX: already installed" suggests that a package is not touched if it is already present on the system which is not true, if it is present but not the latest version. This is confusing: users will see webmin installing packages in some cases where the package is already installed and print and error in other cases.

My suggestions 1,2 and 3 would clear things up for users, thus making the GUI more ahem.. intuitive.

On comment 20: for logic consistency within this module the options for un-installing should be the same ones as for installing: all systems, single system, single group. Options "Install" and "Refresh package lists" support server groups created on Webmin Servers Index. Why doesn't the un-install option support them?

Note:

Even better than the drop down list present on "Install" , "Refresh package lists" and "Un-install" (although missing the groups in the latter) would be the list box that allows multiple choices, present on the Cluster Shell Commands module. This widget allows for an arbitrary combination of systems and groups, ie, maximum flexibility. But for now, making things consistent would be great already.

Hope I was clear enough in the explanations.

Make sense .. I will fix up the message when the package is already installed, and look into the other requests. Stay tuned.

Excellent.

Have a nice weekend.

Gustavo

Please also consider the extra option suggested in the attachment.

This would allow sysadmins to insert a superset of the critical packages (ex: apache, php, mysql, etc) across multiple non-uniform servers without the risk of installing unwanted software.

Example:

Server A: apache, php, mysql, openssh Server B: custom webserver, mysql, openssh Server C: apache, php, postgresql, perl, openssh

By using the "Perform only updates" checkbox the sysadmin can insert the following list:

php mysql openssh postgresql perl openssh

so that the Cluster Software Packages Module issues on every machine

yum update php mysql openssh postgresql perl openssh

Note that "yum update" is used, instead of "yum install".

Thus, for all servers each of the packages that are present is updated to the latest version, whereas the non-present packages are NOT installed.

Check out Cloudmin .. it can do a lot of those things already, as it is primarily focuses on updates rather than new package installs.

Will do. But we have customers that already know, use and like virtualmin. This feature would be nice to have on Virtualmin Pro and it is a good reason to spend money on.

Automatically closed -- issue fixed for 2 weeks with no activity.

Was the message fixed, cf comment #23?

Yes, that was fixed in Webmin 1.600.