--- - name: Create and provision LXC container on Proxmox hosts: node0 gather_facts: no become: yes become_user: root vars: node_ip: "{{ hostvars['node0']['ansible_host'] }}" addc_hostname: "DC1" mac_address: "8E:90:31:DE:31:36" container_id: 200 container_template: "/var/lib/vz/template/cache/debian-13-standard_13.1-1_amd64.tar.zst" container_ostype: debian container_hostname: "{{ addc_hostname }}" container_password: 123456 container_storage: local-lvm container_rootfs_size: 8G container_memory: 1024 container_swap: 256 container_cores: 2 container_net: name=eth0,bridge=vmbr0,ip={{ addc_ansible_host }}/24,gw={{ location_gateway }},hwaddr={{ mac_address }} container_features: "keyctl=1,nesting=1,mount=cifs" container_description: default lxc container_onboot: 1 container_protection: 0 container_unprivileged: 1 # container_tags: "ansible_managed,test" container_tags: - ansible_managed - test tasks: # - name: Ensure container does not exist - name: Create LXC container using pct command ansible.builtin.command: cmd: > pct create 201 {{ container_template }} --hostname {{ container_hostname }}test --storage {{ container_storage }} --memory {{ container_memory }} --cores 1 --net0 "name=eth0,bridge=vmbr0,ip=dhcp" --unprivileged 1 --features {{ container_features }} --ssh-public-keys /root/.ssh/id_rsa.pub args: creates: "/etc/pve/lxc/201.conf" - name: Create LXC container using pct command on shell ansible.builtin.shell: | pct create {{ container_id }} {{ container_template }} \ -ostype {{ container_ostype }} \ -hostname {{ container_hostname }} \ -password {{ container_password }} \ -cores {{ container_cores }} \ -memory {{ container_memory }} \ -swap {{ container_swap }} \ -net0 {{container_net}} \ -storage {{ container_storage }} \ -description "{{ container_description }}" \ -onboot {{ container_onboot }} \ -protection {{ container_protection }} \ -unprivileged {{ container_unprivileged }} \ -tags "{{ container_tags | join(',') }}" \ -features {{ container_features }} args: creates: "/etc/pve/lxc/{{ container_id }}.conf" # -timezone: {{ localization_timezone }} \