Unattended install of Ceph using pveceph

spencerh

Member
May 18, 2021
3
0
21
33
I am attempting to write an Ansible playbook that sets up my Proxmox cluster. One issue I'm running into is pveceph install doesn't have a non-interactive option. I've tried setting DEBIAN_FRONTEND=noninteractive on the task like this:
Code:
- name: Install Ceph
  environment:
    DEBIAN_FRONTEND: noninteractive
  ansible.builtin.command: >-
    pveceph install
    --repository {{ proxmox_repository }}
    --version {{ proxmox_ceph_version }}

However, the install task just hangs forever (I can't see the stdout but I believe it's hung waiting for confirmation). I'm considering just installing the packages directly using ansible.builtin.apt like this but I'm worried about missing future changes (and I have a preference for using the built-in tooling rather than developing my own):
Code:
- name: Install Ceph packages
  ansible.builtin.apt:
    name:
      - ceph
      - ceph-common
      - ceph-fuse
      - ceph-mds
      - ceph-volume
      - gdisk
      - nvme-cli

I was wondering if anyone else has run into a problem like this? I've seen an implementation online that implements this as yes | pveceph install through ansible.builtin.shell but I thought that there might be a cleaner way to accomplish this. Also, for the Proxmox team, it would be very useful to have a flag on pveceph install that facilitates non-interactive installation or a way to install the Ceph packages from the API, or if I were to be really ambitious with my ask I would love an official Proxmox Ansible collection with some tooling to automate setup and management of Proxmox.