iniciar no equivalente montado em vagrant (upstart) no systemd

7

Eu tenho uma caixa Vagrant rodando o Ubuntu 15.04, que tem um script iniciante que inicia um serviço quando o sistema inicializa. Ele tem uma estrofe start on vagrant-mounted porque o serviço requer que o diretório / vagrant seja montado pelo Vagrant.

Agora estou migrando esse script para systemd (que sou completamente novo em) e não consigo executar o script com êxito durante a inicialização porque / vagrant não está montado quando o script é executado. After=vagrant-mounted não funciona, mas pode ajudar a mostrar o que estou tentando fazer.

Como executo uma unidade systemd quando um diretório do Vagrant é montado durante a inicialização?

Nota systemctl start my.service faz iniciar o serviço com sucesso, e o serviço é systemctl enabled 'ed.

    
por T.J. Mazeika 27.09.2015 / 02:59

1 resposta

3

Meu entendimento da seqüência de inicialização do Vagrant é que o Vagrant monta /vagrant (e quaisquer outros sistemas de arquivos compartilhados que você definiu) usando o SSH, após a conclusão da sequência de inicialização.

Assim, você provavelmente desejará executar systemctl start my.service em um provisionador, com run: always especificado, de modo que o provedor é executado em cada inicialização, não apenas quando a VM é criada inicialmente.

Isso não seria necessário se o systemd tivesse a capacidade de detectar quando um sistema de arquivos foi montado, mas, para minha surpresa, não consigo encontrar nenhuma indicação de que o systemd suporte tal funcionalidade.

    
por 27.09.2015 / 04:45