Two tapicero processes after tapicero restart

i deployed to urchin to include the latest tapicero changes:

--- git/bitmask ‹master› » leap deploy urchin
 = checking node
   - [urchin] ok
 = synching configuration files
   - hiera/urchin.yaml -> urchin:/etc/leap/hiera.yaml
 = synching puppet manifests
   - /home/varac/dev/projects/leap/git/leap_platform/[bin,tests,puppet] -> urchin:/srv/leap
 = applying puppet
   - [urchin] notice: /File[/var/lib/puppet/modules/postfix]/ensure: removed
   - [urchin] Hostname updated.
   - [urchin] notice: Scope(Class[main]): Services for urchin.dev.bitmask.net: couchdb soledad
   - [urchin] warning: You cannot collect without storeconfigs being set on line 58 in file /srv/leap/puppet/modules/check_mk/manifests/agent.pp
   - [urchin] warning: You cannot collect exported resources without storeconfigs being set; the collection will be ignored on line 50 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect exported resources without storeconfigs being set; the collection will be ignored on line 51 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect exported resources without storeconfigs being set; the collection will be ignored on line 53 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 113 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 125 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 138 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 149 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 165 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] warning: You cannot collect without storeconfigs being set on line 181 in file /srv/leap/puppet/modules/backupninja/manifests/server.pp
   - [urchin] notice: DEPRECATION NOTICE: Files found in modules without specifying 'modules' in file path will be deprecated in the next major release.  Please fix module 'rubygems' when no 0.24.x clients are present
   - [urchin] notice: /Stage[main]/Postfix/Module_dir[postfix]/File[/var/lib/puppet/modules/postfix]/ensure: created
   - [urchin] notice: /Stage[main]/Ruby/Package[ruby-dev]/ensure: ensure changed 'purged' to 'present'
   - [urchin] notice: /Stage[main]/Site_config::Packages::Base/Package[cpp]/ensure: removed
   - [urchin] notice: /Stage[main]/Site_config::Packages::Base/Package[libc6-dev]/ensure: removed
   - [urchin] notice: /Stage[main]/Check_mk::Agent::Install/Package[check_mk-agent-logwatch]/ensure: ensure changed 'purged' to 'present'
   - [urchin] notice: /Stage[main]/Site_config::Packages::Base/Package[cpp-4.7]/ensure: removed
   - [urchin] notice: /Stage[main]/Site_couchdb/Vcsrepo[/srv/leap/couchdb/scripts]/revision: revision changed '673f31bddda6b4ed72853995a83d18eb7685fc80' to 'origin/master'
   - [urchin] notice: /Stage[main]/Tapicero/Vcsrepo[/srv/leap/tapicero]/revision: revision changed '02834750009a22d518bd9bfba7eaaa063811062a' to 'origin/master'
   - [urchin] notice: /Stage[main]/Tapicero/Exec[tapicero_bundler_update]: Triggered 'refresh' from 1 events
   - [urchin] notice: /Stage[main]/Tapicero/Service[tapicero]: Triggered 'refresh' from 1 events
   - [urchin] notice: Finished catalog run in 78.18 seconds
   - [urchin] Puppet apply complete (changes made).

after that i noticed that tapicero was running twice, so the old process was not correctly ended:

root@urchin:~# ps aux|grep tapi
root      2517  0.0  1.6  98068 16588 ?        Sl   Feb03   0:09 tapicero                                           
root      6917  0.2  2.4  98548 25476 ?        Sl   17:39   0:00 tapicero                                    
root      7502  0.0  0.0   9232   844 pts/1    S+   17:43   0:00 grep tapi

root@urchin:~# /etc/init.d/tapicero  status
tapicero: running [pid 6917]

root@urchin:~# /etc/init.d/tapicero  restart
tapicero: trying to stop process with pid 6917...
tapicero: process with pid 6917 successfully stopped.
root@urchin:~# ps aux|grep tapi
root      2517  0.0  1.6  98068 16588 ?        Sl   Feb03   0:09 tapicero                                           
root      7773 19.5  2.5 104868 25712 ?        Sl   17:48   0:00 tapicero                                    
root      7782  0.0  0.0   9232   844 pts/1    S+   17:48   0:00 grep tapi

the init script should terminate all remaining tapicero processes on restarting/stopping, atfer it restarts/stops the process that it finds through the looged PID, so old and stale processes are terminated too.

(from redmine: created on 2014-02-05, closed on 2014-12-18, relates #5577 (closed), relates #6338 (closed))