2017-10-27 13 views
0

패커 빌드를 실행할 수있는 플레이 북으로 실행하려하지만 가장 간단한 작업으로 시작하지는 못합니다.패커가 sudo 사용 권한이 부족합니다.

나는 provisioners 섹션에서 포장 구성으로이 있습니다

"provisioners": [ 
    { 
     "type": "ansible", 
     "playbook_file": "../ansible/main.yml", 
     "ansible_env_vars": [ "ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SSH_ARGS='-o ForwardAgent=yes -o ControlMaster=auto -o ControlPersist=60s'", "ANSIBLE_NOCOLOR=True","become=true","become_method=sudo" ] 
    } 
    ] 

그리고 이것은 실제 플레이 북의 내용이다 :

실행시
- user: 
    name: foo 
    comment: "Foo Bar" 

, 이것은 다음과 같은 이유로 실패

amazon-ebs : 치명적 : [기본값] : FAILED!/etc/passwd를 잠글 수 없으며 나중에 다시 시도하십시오. \ n ","name ":"foo " , "rc": 1}

필자가 알고있는 한, 이것은 패커 빌드에서 sudo 특권으로 실행되지 않기 때문입니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

1

documentationansible_env_vars은 환경 변수에만 해당하지만 becomebecome_method은 내부의 유용한 변수입니다. 당신의 각본에

"extra_arguments": [ "--become" ] 

또는 추가 become :

중 하나는 추가 제공자의 설정에 인수를 사용합니다.