inicie no equivalente montado no vagrant (upstart) no systemd

inicie no equivalente montado no vagrant (upstart) no systemd

Eu tenho uma caixa Vagrant rodando Ubuntu 15.04, que possui um script inicial que inicia um serviço quando o sistema é inicializado. Possui uma start on vagrant-mountedsub-rotina porque o serviço requer que o diretório /vagrant seja montado pelo Vagrant.

Agora estou migrando este script para o systemd (no qual sou completamente novo) 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-mountednão funciona, mas pode ajudar a mostrar o que estou tentando fazer.

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

Observaçãosystemctl start my.service fazinicie o serviço com sucesso e o serviço será systemctl enablededitado.

Responder1

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

Como tal, você provavelmente desejará executar systemctl start my.serviceem um provisionador, comrun: alwaysespecificado, para que o provisionador seja executado em cada inicialização, não apenas quando a VM for 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.

informação relacionada