Skip to content

Instantly share code, notes, and snippets.

@Akkiesoft
Last active April 16, 2020 06:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Akkiesoft/92cbd888197a12a2a8fd7ed4a0d0b2fa to your computer and use it in GitHub Desktop.
Save Akkiesoft/92cbd888197a12a2a8fd7ed4a0d0b2fa to your computer and use it in GitHub Desktop.
なんもわからん

AnsibleでLXDのLXCコンテナに対してコマンド実行するやつ

""lxdホストにPlaybookを置いて""コンテナに対して実行する

- hosts: localhost
  connection: local
  tasks:
    - name: check python is installed in container
      delegate_to: mycontainer
      raw: dpkg -s python
      register: python_install_check
      failed_when: python_install_check.rc not in [0, 1]
      changed_when: false

hostsがコンテナでlxdホストにdelegate_toする

  • lxdホストにPlaybookを置かなくてもできる
- hosts: container
  gather_facts: false
  tasks:
  - name: apt update
    command: /snap/bin/lxc exec {{ inventory_hostname }} -- apt update
    delegate_to: lxdhost
  - name: install openssh-server
    command: /snap/bin/lxc exec {{ inventory_hostname }} -- apt install -y openssh-server
    delegate_to: lxdhost

hostsがlxdホストでvarsにコンテナ名がある

  • lxdホストにPlaybookを置かなくてもできる
  • これでええかなあという気持ち
- name: run lxc exec command that install openssh, sudo to each containers
  command: "lxc exec {{ item.name }} -- apt install -y openssh-server"
  loop: "{{ containers }}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment