2017-11-29 16 views
5

많은 컴퓨터에서 실행되는 ansible 플레이 북이 있습니다. 그 플레이 북에는 apt을 사용하여 설치하려고하는 몇 가지 패키지가 있지만, 다른 게임 플레이 북이 실행 중이거나 주기적 업데이트 또는 기타 apt 인스턴스가 병렬로 실행 중이고 잠금 장치를 잡기 때문에 때때로 실패합니다.'apt'작업이 실패하면 다시 시도해야합니까?

는 기본적으로 내가 분명히 포기하기 전에 재시도 루프를 추가 할 수 있지만 시도가 apt 지원되지 않기 때문에 그렇게하지 못했습니다 : 나는 ansible's documentationapt module 페이지에보고, 심지어는 비록 실제로 그것을 사용하려 거기에 (분명히 실패한).

어쨌든 - 30 초 지연과 함께 3 회 말하고 다시 시도 할 수있는 방법에 대한 아이디어가 필요하지만 패키지를 설치하는 데 실패하면됩니다.

+0

추가 데이터 : 나는 APT (들여 쓰기에서 놓친 2 개 공간)에 재시도 지연 할 수있는 방법을 찾았지만 여전히 놓친 거지 apt가 성공했다는 것을 아는 방법의 일부. 나는 rc를 검사하는 것이 0 일 것이라고 생각했다. 그렇지 않다. stderr을 사용하여 비어있을 수 있습니까? –

답변

6

보편적 task results tests있다, 그래서 당신은 사용할 수 있습니다

- apt: 
    name: build-essential 
    state: present 
    register: apt_res 
    retries: 5 
    until: apt_res | success