geerlingguy / ansible-role-raspberry-pi

Configures a Raspberry Pi (running Raspbian).
https://galaxy.ansible.com/geerlingguy/raspberry-pi/
MIT License
107 stars 19 forks source link

Any raspbian docker image for molecule? #3

Closed yajo closed 4 years ago

yajo commented 4 years ago

Hello, sorry because I think this is not exactly related to this repo, but I've been searching and cannot find a better place to ask...

I'm building an Ansible collection for configuring a rpi4b, and I'd love to be able to test it with molecule, but I cannot find any base image that can be executed in an x86_64 host, and that is properly maintained.

I see you maintain several docker test images, and also some rpi roles, and I wonder if you have this on your rodamap or if there's another strategy for these cases...

Thanks, and sorry again for the noise.

geerlingguy commented 4 years ago

@Yajo - It's really hard to maintain an image that would run on x86 that runs ARM software, and that's probably why there's such a lack. There are some ways of emulating the different layers via QEMU, but not via Docker. You'd probably have to manage an instance on your own using molecule's provisioner configuration:

provisioner:
  name: ansible
  options:
    vvv: True
  playbooks:
    create: create.yml
    converge: converge.yml
    destroy: destroy.yml

But it can still be a bit tricky; I know for the few docker images I maintain that have both a x86 and ARM version, I had to make some major changes to the ARM version for it to work, mostly because outside of the main software repositories, a lot of things have to be compiled manually on ARMv7 (especially), but ARM 64-bit as well.

For simpler cases (like this role), I can test most things on Debian and they're similar. But for anything Pi-specific, I always test on a physical Pi itself because I spend a lot less time playing around with QEMU to get it working.

yajo commented 4 years ago

OK, I see... thanks a lot for your answer and indications. Have a nice day! :blush: