I have been toying with Koji ( A build server by Fedora) and encountered an issue while starting the kojid daemon on one of the builder host.
[[email protected] ~]# /etc/init.d/kojid status kojid dead but subsys locked
while the log kept showing
[INFO] koji.build: Starting up
Time for some debugging, I issue
[[email protected] ~]# /usr/sbin/kojid --verbose --fg
koji.AuthError: Traceback (most recent call last):` koji.AuthError: Traceback (most recent call last): File "/usr/share/koji-hub/kojixmlrpc.py", line 191, in _marshaled_dispatch response = self._dispatch(method, params) File "/usr/share/koji-hub/kojixmlrpc.py", line 253, in _dispatch ret = func(*params,**opts) File "/usr/share/koji-hub/kojihub.py", line 9005, in getID host = Host() File "/usr/share/koji-hub/kojihub.py", line 8811, in __init__ raise koji.AuthError, "No host specified" AuthError: No host specified
Aha! “AuthError: No host specified” - kojid is complaining that no host was specified! But wait a minute, the “user” directive is correctly specified in the the kojid.conf file
[[email protected] ~]# awk /builder1$/ /etc/kojid/kojid.conf user=builder1
Hmm… time to check the host registered in koji
[[email protected] ~]# su - kojiadmin [[email protected] ~]$ koji list-hosts Hostname Enb Rdy Load/Cap Arches Last Update builder1 Y N 0.0/2.0 x86_64 -
All good. Let’s check our host certificate
[[email protected] koji]# openssl x509 -in certs/builder1.crt -noout -text Certificate: Data: Version: 3 (0x2) Serial Number: 9 (0x9) Signature Algorithm: md5WithRSAEncryption Issuer: C=XX, ST=XX, L=XX, O=XX, CN=builder1.domain.local
Only obvious different is that I have use a FQDN as a CN in the certificate (good!), could it be that kojid isn’t expanding the hostname user to a FQDN?
Let’s remove the current builder and re-add it as a FQDN as I am not able to add “builder1.domain.local” since it already exists as a user in the users table of the koji database and this is creating a key violation constraint as follow:
[[email protected] ~]$ koji add-host builder1.domain.local x86_64 Fault: <Fault 1: 'pg.DatabaseError: error \'ERROR: duplicate key violates unique constraint "users_name_key"\n\' in \'INSERT INTO users (id, name, usertype, status, krb_principal)\n VALUES (9, \'builder1.domain.local\', 1, 0, NULL)\''>
Aha, time for some db cleaning. After cleaning the koji postgres database, I re-issue the “koji add-host” command
[[email protected] ~]$ koji add-host builder1.domain.local x86_64 builder1.domain.local added: id 1 [[email protected] koji]# /etc/init.d/kojid start Starting kojid: [[email protected] koji]# ps aux |grep kojid root 17274 1.3 0.0 227868 12380 ? S 23:40 0:00 /usr/bin/python /usr/sbin/kojid --force-lock --verbose
Yeah :-)! Problem fixed.