Tem comportamento de upstart alterado em 13.04

1

Eu tenho um conf upstart que monta um nfs remoto na inicialização. Anteriormente (em 12.10) usava

start on (local-filesystems and net-device-up IFACE=eth0)

em 13.04 isso não funciona mais - tentei todas as variantes que você pode imaginar, por exemplo, runlevels, IFACE =! lo etc.

Para fazê-lo funcionar em 13.04, mudei de volta para o original start on , mas usei um script com sleep 10 antes da montagem - isso funcionou.

Alguma coisa mudou em 13.04 que afeta esse comportamento?

    
por MrBigglesworth 05.05.2013 / 07:58

2 respostas

1

Antes de tudo, deve ser 'IFACE! = lo' e não 'IFACE =! lo', mas vou assumir que este é um erro de digitação na sua pergunta.

Dito isto, estou tendo exatamente o mesmo problema, e até mesmo tentei máquinas diferentes rodando 13.04 e o problema foi reproduzido. Mas pelo que eu juntei, não, nada mudou no Upstart 1.8.

Eu acho que enquanto 'net-device-up IFACE = * ' não funciona de todo no complexo trabalho iniciante que eu escrevi, ele vai funcionar se eu colocá-lo em um trabalho simples, como:

# /etc/init/debug.conf
start on (local-filesystems and net-device-up IFACE!=lo)
script
  exec 1>>/tmp/log.file
  echo "$0:$$:'date': got called. Environment of job $JOB was:"
  env
  echo
end script

Então, claramente, há algo mais acontecendo aqui. Estou lendo os registros / var / log / syslog e /var/log/kern.log, mas ainda não consegui pegar um candidato a culpado.

Minha solução (para o outro, trabalho complexo) foi deixar de fora a interface e apenas escrever:

start on (local-filesystems and net-device-up)

Isso funcionou perfeitamente. No entanto, isso ainda não é bom o suficiente para mim, já que meu script será executado em máquinas com várias interfaces. Eu atualizarei esta resposta se encontrar uma solução melhor que a minha solução alternativa ou a sua.

    
por camurgo 05.05.2013 / 23:27
1

A maneira apropriada de montar um NFS remoto na inicialização é colocá-lo em /etc/fstab .

server:/export /mount/point nfs nobootwait,nfsvers=4

Esta linha montará '/ export' do 'servidor' no momento da inicialização, mas não atrasará o processo de inicialização. A cada vez que um dispositivo de rede aparece, se não estiver montado, mountall tentará montá-lo novamente.

    
por SpamapS 30.05.2013 / 22:01