2016-05-03 9 views
0

私のホストが特定のホストのために、定義ファイル:特定のタスクのために、どのようにすればよいでしょうか?

ansible_ssh_user=root 
ansible_become_user=my_user 
ansible_become=true 

いくつかのタスクでは、私はmy_userになることを望んでいません。 become: falseの設定は無効ですが、ansible_become: falseは「エラー:不可能なものは有能なタスクまたはハンドラの有効なパラメータではありません」

私がしようとしていることは可能ですか?私は典型的なパターンは私がここでやっていることの逆を行い、my_userとして接続し、必要に応じてbecome_user: rootを使用すると仮定しますか?

+0

使用しているバージョンはどれですか? – Railslide

+0

私はバージョン1.9を使用しています – skyellin

+0

バージョン2.0以降を使用できる場合は、ブロック機能を使用して複数のタスクを同時に使用できます –

答えて

0
  1. ホストファイルからansible_become_user=my_useransible_become=trueを削除できます。
  2. あなたには、 になりたくないいくつかのタスクがあります。become: yesbecome_user: <some-user>をタスクに追加してください。
0
--- 
- name: example play 
    hosts: myhost 
    tasks: 
    - name: run as user in inventory 
    debug: msg=$USER 

    - name: run as root user 
    become: true 
    become_user: root 
    debug: msg=$USER