Existe uma maneira de controlar dois serviços systemd instanciados como uma única unidade?

6

Eu tenho alguns serviços web python que estou tentando rodar em uma caixa Fedora 15. Eles estão sendo executados pelo paster, e a única diferença em iniciá-los é o arquivo de configuração que eles lêem.

Isso parece ser uma boa opção para os serviços instanciados do systemd, mas eu gostaria de poder controlá-los como uma única unidade. Um alvo systemd que requer ambos os serviços parece ser o caminho para abordar isso. A inicialização do destino inicia os dois serviços, mas a interrupção do destino os deixa em execução.

Aqui está o arquivo de serviço:

[Unit]
Description=AUI Instance on Port %i
After=syslog.target

[Service]
WorkingDirectory=/usr/local/share/aui
ExecStart=/opt/cogo/bin/paster serve --log-file=/var/log/aui/%i deploy-%i.ini        
Restart=always
RestartSec=2
User=aui
Group=aui

[Install]
WantedBy=multi-user.target

E aqui está o arquivo de destino:

[Unit]                    
Description=AUI           
[email protected]
[email protected]
After=syslog.target   

[Install]                 
WantedBy=multi-user.target

Esse tipo de agrupamento é possível com o systemd?

    
por rascalking 18.11.2011 / 15:39

1 resposta

7

Veja como usar a opção BindsTo para unir as unidades. A página de manual systemd.unit(5) descreve da seguinte forma:

BindsTo=

Configures requirement dependencies, very similar in style to Requires=, however in addition to this behavior, it also declares that this unit is stopped when any of the units listed suddenly disappears. Units can suddenly, unexpectedly disappear if a service terminates on its own choice, a device is unplugged or a mount point unmounted without involvement of systemd.

O que parece que deve fazer o que você quer e amarrar uma unidade à outra, de modo que, sempre que o mestre parar, o escravo também pare e vice-versa, na inicialização.

Não se esqueça de que você também pode usar Before / After para especificar a ordem na qual eles devem ser iniciados, se necessário.

    
por 18.11.2011 / 15:49