Dependência soft no systemd

1

Estou tentando entender se existe uma maneira de criar uma dependência flexível entre os serviços systemd. Basicamente, eu gostaria de criar um serviço "guarda-chuva" que inicia outros serviços marcados como dependências (soft), mas se e somente se eles estiverem ativados - o guarda-chuva deve nunca inicia um serviço dependente que está desativado.

Mais especificamente, recebi uma solicitação de solicitação para cfengine-systemd que visa criar uma unidade de guarda-chuva. Infelizmente, a unidade cfengine3.service proposta não respeita o estado ativado / desativado das unidades dependentes e as inicia em qualquer caso.

Eu já havia tentado fazer o mesmo anteriormente por meio de uma unidade de destino, mas falhou vergonhosamente .

Alguma pista?

Obrigado antecipadamente

Atualizar após a pergunta de Michael: Eu diria que se cfengine3.service estiver desabilitado, o systemd não deve tentar iniciar os serviços dependentes.

    
por bronto 01.05.2016 / 17:36

1 resposta

1

Estados habilitados / desabilitados controlam se os serviços são iniciados / não iniciados na inicialização. Nesse contexto, sugiro que os serviços dependentes permaneçam desativados e que apenas o estado do serviço de guarda-chuva seja alterado. Para fazer com que o serviço de guarda-chuva inicie apenas algumas das dependências, ele deve ser vinculado ao diretório do serviço de guarda-chuva (por exemplo, no diretório /etc/systemd/system/umbrella-unit.service/requires).

    
por 01.05.2016 / 20:08