Are there already concrete plans to use ansible instead of bash scripts for the installation, upgrade of the base system?

Comments

omega8cc’s picture

Not at the moment. We have spent already enough time trying to port everything (almost) to Ansible and Cdist and it turned out to be a nightmare, because none of those systems are flexible enough to provide a viable alternative.

Basically, none of those systems provide enough built-in logic or API to really replace current bash scripting/hacking logic and following their own idiosyncrasies would only introduce more complexity, so we would end up with something no one else would be able to grasp and follow any longer.

The thing people are missing usually is that tools like Ansible are intended to provide scalable procedures for tasks with very simple internal logic and they are simply not the right tool for the job BOA aims to make easy for its non-sysadmins target audience.

We don't see enough benefits in this effort after spending some time on various attempts with Ansible and Cdist, so for now we have decided to rather make BOA raw bash scripting better structured and modular, but without trying to make it complex by adding another layer of mostly useless in this context abstraction.

Feel free to disagree, though.

attiks’s picture

#1 I played with converting BOA to ansible a bit as well, to see how I could integrate it. I tried it with building nginx and using settings for the various nginx modules and I came to a similar conclusion. The roles part is nice and it's easy to define servers like that, but you're right it lacks a bit to really control what to do when.

attiks’s picture

I played a bit more to see what's possible, so I created https://github.com/attiks/boa-ansible. For the moment no idea if this will evolve to a full solutions, but it might

omega8cc’s picture

Interesting!

omega8cc’s picture

Status: Active » Postponed

I guess it has been postponed.

attiks’s picture

Yes postponed for now because lack of time.

I know others are looking into ansible as well, see for instance https://groups.drupal.org/node/413673

omega8cc’s picture

Yeah. Still, I think that BOA config with many new options is already a too complex beast to convert it to Ansible or any other similar tool without making it totally unmanageable and impossible to follow for most of our target audience.

attiks’s picture

You're probably right, for the moment I think converting everything is a lot of work to do it right, the benefit of a more modular approach is that it's easier to override certain parts. But I guess that's probably out of the scope of the BOA project.

omega8cc’s picture

Right. In fact BOA was never intended to be modular. It was intended to be a more or less monolithic all-in-one bundle with very clearly defined, single purpose. It was never intended to be anything like Virtualmin or any other generic stack, where making it modular makes sense.

lunk rat’s picture

Sounds like it would make sense for BOA to become its own Debian-based Linux distro. Would this make sense to do?

omega8cc’s picture

No, distro would be way too far. We are looking for alternatives to convert current bash-spaghetti-code into something structured and manageable, but Ansible and other similar tools are not a solution in this case.

travisc’s picture

How about a playbook that just installs Debian and kicks off the BOA script with the desired options configured?