꼭두각시로 시스템화 된 인스턴스화 된 서비스를 활성화하는 방법은 무엇입니까? ensure => running,

다음과 같은 꼭두각시 서비스가 있습니다.

service { "getty@ttyUSB0.service":
    provider => systemd,
    ensure => running,
    enable => true,
}

이 구성을 클라이언트에 적용하려고하면 다음 오류가 발생합니다.

오류 : /Stage[main]//Node[puppetclient]/Service[getty@ttyUSB0.service]/enable : false에서 true로 변경하지 못했습니다. getty@ttyUSB0.service를 활성화 할 수 없습니다 :

서비스가 정상적으로 실행 중이며 getty.target.wants에 심볼릭 링크를 추가하여 시스템 부팅시 시작되었는지 확인할 수 있습니다.

ln -s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyUSB0.service

소스에서 서비스 정의에서 “enable => true”를 제거하고 꼭두각시 구성에 symlink를 수동으로 포함시킬 수 있지만 꼭두각시가 처리하지 않아야합니까? 내가 굉장히 잘못하고 있습니까?



답변

오늘날 Puppet의 시스템 공급자는 서비스 enable상태에 대해 두 가지 명령 만 사용합니다 .

  • systemctl is-enabled <unit>, 현재 활성화 상태에 대한 리턴 코드 확인
  • systemctl enable/disable <unit> 그것을 바꾸다

존재하지 않는 getty @ 서비스의 인스턴스를 사용 가능하게하면 enable 명령에서 오류가 발생합니다.

$ sudo systemctl enable getty@ttyUSB0.service
Failed to issue method call: No such file or directory

그러면 Puppet에 표시되는 오류가 발생하지만 stderr은 표시되지 않는 것 같습니다.

템플릿의 새 인스턴스를 활성화 할 수 없다는 systemd의 격차처럼 보입니다. Fedora 에는 이미 BZ # 752774가 있지만 주석은 곧 추가되지 않을 것이라고 제안합니다.

Puppet에 대해 기능 요청 을 제출 하여 새 인스턴스 활성화를위한 지원을 추가 하는 것이 좋습니다 . 기능 요청 에서 백그라운드 의 단위 인스턴스에 대한 Lennart의 설명에 연결하는 것이 좋습니다 .


답변