Hi,
Thank you for the information. The server was a fresh CentOS 6 install. I think the disk I used was 6.2, minimal install, and then 'yum update all' brought it to 6.3.
I now see what has happened. The python-twisted packages have been installed from the CentOS base repo rather than the version in the opsi repo. This is because of yum-priorities. I have a few repos enabled - rpmforge, epel, sogo and opsi - so I use yum-priorities to protect base OS packages from being replaced by 3rd party versions. I am very careful of this and won't allow it unless I know why and then specifically configure it for those packages.
In light of this information I reconfigured yum for python-twisted and tried to update it but, as I expected, this gave dependency problems due to the different structure of opsi's python-twisted and so wanted to remove many of the opsi packages. I got around this by doing it within yum shell. It also required replacing the base python-zope-interface and python-zope-filesystem with opsi's python-zopeinterface.
The output of 'rpm -qa | grep python' then looked like this:
- audit-libs-python-2.2-2.el6.x86_64
boost-python-1.41.0-11.el6_1.2.x86_64
dbus-python-0.83.0-6.1.el6.x86_64
libselinux-python-2.0.94-5.3.el6.x86_64
libsemanage-python-2.0.43-4.1.el6.x86_64
matahari-python-0.6.0-14.el6.x86_64
newt-python-0.52.11-3.el6.x86_64
policycoreutils-python-2.0.83-19.24.el6.x86_64
python-2.6.6-29.el6_3.3.x86_64
python-crypto-2.0.1-22.el6.x86_64
python-fpconst-0.7.3-6.1.el6.noarch
python-GnuPG-Interface-0.3.2-4.3.x86_64
python-imaging-1.1.6-19.el6.x86_64
python-iniparse-0.3.1-2.1.el6.noarch
python-ldap-2.3.10-1.el6.x86_64
python-ldaptor-0.0.43-3.5.x86_64
python-libs-2.6.6-29.el6_3.3.x86_64
python-magic-5.04-13.el6.x86_64
python-mysql-1.2.2-92.2.x86_64
python-opsi-4.0.2.4-1.1.noarch
python-pam-0.5.0-76.2.x86_64
python-pexpect-2.3-31.2.x86_64
python-pycurl-7.19.0-8.el6.x86_64
python-pyparsing-1.5.6-2.el6.rf.noarch
python-qpid-0.14-11.el6_3.noarch
python-qpid-qmf-0.14-14.el6_3.x86_64
python-saslwrapper-0.14-1.el6.x86_64
python-serial-2.4-11.2.noarch
python-simplejson-2.0.9-3.1.el6.x86_64
python-sqlalchemy-0.5.5-3.el6_2.noarch
python-twisted-8.2.0-13.2.x86_64
python-urlgrabber-3.9.1-8.el6.noarch
python-zopeinterface-3.3.0-114.2.x86_64
rpm-python-4.8.0-27.el6.x86_64
rrdtool-python-1.3.8-6.el6.x86_64
setools-libs-python-3.3.7-4.el6.x86_64
Starting the opsiconfd service now shows this:
Starting opsi config service..close failed in file object destructor:
IOError: [Errno 10] No child processes
So the deprecation warnings have now gone, but the IOerror still remains. The opsiconfd log shows:
Starting opsiconfd main thread (opsiconfd.py|449)
Opening socket /var/run/opsiconfd/opsiconfd.socket for interprocess communication. (opsiconfd.py|426)
Failed to read opsi modules file '/etc/opsi/modules': Signature not found (Backend.py|371)
Disabling mysql backend and license management module: no customer in modules file (MySQL.py|391)
Added static content '/' which points to directory '/usr/share/opsiconfd/static' (opsiconfd.py|285)
Running on depot server 'server.domain.local', exporting repository directory (opsiconfd.py|302)
Running on depot server 'server.domain.local', exporting depot directory (opsiconfd.py|315)
Added webdav content 'repository' which points to directory '/var/lib/opsi/repository' () (opsiconfd.py|348)
Added webdav content 'depot' which points to directory '/var/lib/opsi/depot' () (opsiconfd.py|348)
Cannot add static content 'configed': directory '/usr/lib/configed' does not exist. (opsiconfd.py|339)
Accepting HTTPS requests on 0.0.0.0:4447 (opsiconfd.py|395)
Publishing opsiconfd over zeroconf as 'opsi configuration daemon' on '4447' (opsiconfd.py|409)
Failed to publish ZeroconfService: avahi/dbus module missing (opsiconfd.py|100)
Is this normal/expected? Where does the IOerror come from? I know it's related to python.
I also checked all the other packages that were installed with opsi-depotserver against the opsi repo and there are 3 other python differences:
- python-crypto-2.0.1-22.el6.x86_64 (installed from base), opsi version 2.1.0-5.2
python-pyparsing-1.5.6-2.el6.rf.noarch (installed from rpmforge), opsi version 1.5.6-25.1
python-simplejson-2.0.9-3.1.el6.x86_64 (installed from base), opsi version 2.0.9-11.2
I did try replacing these installed packages with the opsi repo versions, but it made no visible difference to the operation of opsi and the IOerror still remained and log file was the same.
May I suggest that, if opsi requires certain packages to be installed that replace base OS versions, then this could be mentioned in the installation guide to avoid confusion.
Regards,
Stephen Jones