From Fedora Project Wiki

< User:Toshio

Revision as of 17:17, 24 February 2011 by Toshio (talk | contribs) (Dump of my testing proceedure notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

SysV initscript upgraded to systemd unit file

Setup

[Pass] $ rsync -arv fedorapeople.org:public_html/systemd/ . $ # Or: $ wget -r -nd -l 1 http://toshio.fedorapeople.org/systemd/ . $ rpm -q supervisor package supervisor is not installed $ sudo rpm -ivh supervisor-3.0-0.3.a8.fc15.noarch.rpm $ ps ax|grep super $ # No supervisord running $ chkconfig --list supervisord [...] supervisord 0:off 1:off 2:off 3:off 4:off 5:off 6:off $ sudo shutdown -r now [...] $ ps ax|grep super $ # No supervisord running $ chkconfig --list supervisord supervisord 0:off 1:off 2:off 3:off 4:off 5:off 6:off

Variant -- no run sysv

[Pass] $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc14.noarch.rpm $ ls -al /etc/rc.d/*/*super* ls: cannot access /etc/rc.d/*/*super*: No such file or directory $ # passed -- testing that there are no dangling systemV symlinks $ ls -al /etc/systemd/system/*wants*/ |grep super $ # No supervisord set to start $ ps ax|grep super $ # No supervisord running $ sudo shutdown -r now [...] $ ps ax|grep supervisor $ # No supervisord running $ ls -al /etc/systemd/system/*wants*/ |grep super $ # No supervisord set to start


Variant -- running sysv

[FAIL]

  • supervisor wasn't registered with systemd -- probably caused by chkconfig problem
 : https://bugzilla.redhat.com/show_bug.cgi?id=616857
  • Supervisor wasn't restarted -- unknown cause, possibly need a try-restart in the package scriptlets need to resolve chkconfig failure first
  • Other failures related to the service not being registered with systemd -- need to solve chkconfig bug first

$ chkconfig --levels 345 supervisord on $ ps ax| grep super $ # No supervisor running $ chkconfig --list supervisord [...] supervisord 0:off 1:off 2:off 3:on 4:on 5:on 6:off $ sudo shutdown -r now $ ps ax|grep supervisor

 997 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord

$ # Supervisord is running $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc15.noarch.rpm $ ps ax|grep supervisor

 997 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord

$ # Looks like failure.. supervisor didn't restart $ sudo supervisorctl version 3.0a8 $ # Confirm failure, the service is the old version $ ls -al /etc/systemd/system/*wants*|grep super $ # Also failure we should have seen the supervisor service symlinked here $ sudo shutdown -r now $ ps ax|grep supervisor $ # Failure no supervisor running $ sudo supervisorctl version unix:///var/tmp/supervisor.sock no such file $ # Confirm failure, the service isn't running; expected the new version $ ls -al /etc/systemd/system/*wants*|grep super $ # Also failure we should have seen the supervisor service symlinked here $ sudo systemctl status supervisord.service supervisord.service - Start jobs, make sure they're running, and automatically restart them.

         Loaded: loaded (/lib/systemd/system/supervisord.service)
         Active: inactive (dead)
         CGroup: name=systemd:/system/supervisord.service

$ # unit file installed in correct place but not linked to the proper targets


Package w/ systemd unit file upgraded to systemd unit file

Setup

[Pass] $ rpm -q supervisor package supervisor is not installed $ sudo rpm -Uvh supervisor-3.0-0.4.a8.fc15.noarch.rpm $ ps ax|grep super $ # No supervisord running $ ls -al /etc/systemd/system/*wants/*super* ls: cannot access /etc/systemd/system/*wants/*super*: No such file or directory $ # pass: systemd is not set to start the service $ sudo shutdown -r now [...] $ ps ax|grep super $ # No supervisord running $ ls -al /etc/systemd/system/*wants/*super* ls: cannot access /etc/systemd/system/*wants/*super*: No such file or directory


Variant -- no run systemd

[PASS] $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc15.noarch.rpm $ ps ax|grep supervisor $ # No supervisor running $ ls -al /etc/systemd/system/*wants/*super* ls: cannot access /etc/systemd/system/*wants/*super*: No such file or directory $ sudo shutdown -r now [...] $ ps ax|grep supervisor $ # No supervisor running $ ls -al /etc/systemd/system/*wants/*super* ls: cannot access /etc/systemd/system/*wants/*super*: No such file or directory

Variant -- running systemd

[PASS] $ systemctl enable supervisord.service $ sudo systemctl enable supervisord.service ln -s '/lib/systemd/system/supervisord.service' '/etc/systemd/system/multi-user.target.wants/supervisord.service' $ ps ax|grep super $ # Pass no supervisor running $ ls -al /etc/systemd/system/*wants/*super* lrwxrwxrwx. 1 root root 39 Feb 23 21:44 /etc/systemd/system/multi-user.target.wants/supervisord.service -> /lib/systemd/system/supervisord.service $ # Pass setup the symlink in etc to the service file $ sudo shutdown -r now $ ps ax|grep superviso

 629 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf

$ # Pass -- supervisor running $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc15.noarch.rpm $ ps ax|grep supervisor

1123 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf

$ # Looking good, new supervisord pid $ sudo supervisorctl version 3.0b1 $ # Verified -- new version is running $ sudo shutdown -r now [...] $ ps ax|grep supervisor

 648 ?        Ss     0:00 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf

$ # Pass supervisor came up at reboot $ systemctl status supervisord.service supervisord.service - Start jobs, make sure they're running, and automatically restart them.

         Loaded: loaded (/lib/systemd/system/supervisord.service)
         Active: active (running) since Wed, 23 Feb 2011 21:51:17 -0800; 1min 35s ago
       Main PID: 648 (supervisord)
         CGroup: name=systemd:/system/supervisord.service
                 └ 648 /usr/bin/python /usr/bin/supervisord -n -c /etc/supervisord.conf


Test autostart services work SysV => systemd

[DID NOT TEST]: Note: expect these to have some failures until chkconfig bug fixed

      • Perform tests in: SysV initscript upgraded to systemd unit file
      • But with the autostart %post
      • And expecting some different values.
      • If the service is not running, should not be running after
      • If the service is running, should only be running in those runlevels after


Test autostart services work systemd => systemd

[DID NOT TEST]: Note: Hope that these will all pass -- only depends on how good the %post is

      • Perform tests in: Package w/ systemd unit file upgraded to systemd unit file
      • But with autostart %post
      • And expecting some different values
      • If systemd service is installed from scratch, the service is autostarted according to what's in the unit file
      • If service is not running, should not be running after
      • If service is running, should only be running in those runlevels afterwards


Test -- systemd reinstall

No autostart

[PASS] $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc15.noarch.rpm $ systemctl enable supervisord.service $ sudo shutdown -r now [...] $ ps ax |grep super $ # Verified that supervisord is running $ sudo rpm -e supervisor $ ps ax|grep super $ # Pass: verified that supervisor is not running $ ls -al /etc/systemd/systemd/*wants*/*super* $ # Pass: verified that it's not set to run $ sudo rpm -Uvh supervisor-3.0-0.5.a8.fc15.noarch.rpm $ ps ax|grep super $ # Pass: verified that supervisor is not running $ ls -al /etc/systemd/systemd/*wants*/*super* ls: cannot access /etc/systemd/systemd/*wants*/*super*: No such file or directory $ # Pass: verified that it's not set to run $ sudo shutdown -r now [...] $ ps ax|grep super $ # Pass: verified that supervisor is not running

autostart

      • Something like the above case but check that only the targets configured by the package are autostarted

}}