2017-06-22 4 views
0

lxc launch ubuntu: new-containerのプレイブックと同等のものは何ですか?"lxc launch ubuntu:new-container"の対応する同義のプレイブックは何ですか?

コンテナを作成したいマシンにpingできます。そのマシンにログインしても問題なくコンテナを作成できます。

試み1:

- hosts: node0 
    tasks: 
    - name: Create a started container 
     lxd_container: 
     name: mycontainer 
     state: started 
     profiles: ["default"] 

結果:

# ansible-playbook play 

PLAY [node0] *************************************************************************************************************************************************************************** 

TASK [Gathering Facts] ***************************************************************************************************************************************************************** 
ok: [node0] 

TASK [Create a started container] ****************************************************************************************************************************************************** 
fatal: [node0]: FAILED! => {"actions": [], "changed": false, "failed": true, "msg": "unknown source type "} 
    to retry, use: --limit @/root/play.retry 

PLAY RECAP ***************************************************************************************************************************************************************************** 
node0      : ok=1 changed=0 unreachable=0 failed=1 

試み2:

- hosts: node0 
    connection: local 
    gather_facts: false 

    tasks: 
    - name: create a container 
    connection: local 
    become: false 
    lxd_container: 
     name: test 
     state: started 
     source: 
     type: image 
     mode: pull 
     server: https://images.linuxcontainers.org 
     protocol: lxd 
     alias: "ubuntu/xenial/amd64" 
     profiles: ["default"] 
     wait_for_ipv4_addresses: false 
     timeout: 600 

結果、私はしかし、下記のプレイブックを使用しようとすると、私は次のような結果を得ます:

# ansible-playbook play 

PLAY [node0] *************************************************************************************************************************************************************************** 

TASK [create a container] ************************************************************************************************************************************************************** 
fatal: [node0]: FAILED! => {"actions": [], "changed": false, "failed": true, "msg": "Failed to change ownership of: /var/lib/lxd/containers/test/rootfs"} 
    to retry, use: --limit @/root/play.retry 

PLAY RECAP ***************************************************************************************************************************************************************************** 
node0      : ok=0 changed=0 unreachable=0 failed=1 

試み3が動作しているようですが、代わりに、すでにマシン上に存在するものを使用しての新しいイメージをダウンロードしているようだ:

# An example for creating a Ubuntu container and install python 
- hosts: node0 
    connection: local 
    tasks: 
    - name: Create a started container 
     lxd_container: 
     name: mycontainer 
     state: started 
     source: 
      type: image 
      mode: pull 
      server: https://images.linuxcontainers.org 
      protocol: lxd 
      alias: ubuntu/xenial/amd64 
     profiles: ["default"] 
     wait_for_ipv4_addresses: true 
     timeout: 600 

lxc launch ubuntu: new-containerの脚本と同等のものを書くためにどのように?コメントから

+0

なぜ 'connection:local'を使うのですか?これは、ローカルの実行可能なホスト上でコマンドを実行することを意味します。 –

+0

私はそれについてはわかりませんでしたが、私はAnabilities's Playbookのドキュメントまたは用語集で接続に関する情報を見つけることができませんでした。どこでもっと情報が見つかるのですか? – Greg

+1

http://docs.ansible.com/ansible/intro_inventory.html#non-ssh-connection-types –

答えて

1

回答:

は、なぜあなたはconnection: localを使うのですか?これは、ローカルの実行可能なホスト上でコマンドを実行することを意味します。

ターゲットホストに接続し、そこでlxd_containerモジュールを実行する必要があります。

関連する問題