start on starting network-interface
instance $INTERFACE
task
exec mything
e
start on starting networking
task
exec mything
ifup é executado por um dos dois métodos, pelo trabalho network-interface
ou pelo trabalho networking
, que é usado para configurar qualquer interface não coberta pelo udev.
A estrofe instance
acima garante que seu trabalho seja iniciado para cada um dos dois casos, porque a maneira como o upstart funciona, uma condição or
não bloqueará o outro.
(que é esse bug btw: link )
Se o seu trabalho não puder ser executado simultaneamente ou duas vezes, será necessário dividi-lo em três tarefas. Um chamado 'mything-waiter':
start on starting network-interface
instance $INTERFACE
task
exec start wait-for-state WAITER=mything-waiter-$UPSTART_JOB-$INTERFACE WAIT_FOR=mything
E outro com uma linha exec semelhante para iniciar a rede:
start on starting networking
task
exec start wait-for-state WAITER=mything-waiter-networking WAIT_FOR=mything
E o outro chamado "mything", que é apenas
task
exec mything
Eu acho que um argumento pode ser feito para que 'comece a iniciar o trabalho em rede' faça tudo isso, mas isso exigirá um novo redesenho da criação de redes no Ubuntu.