Release Deployment: Ansible only, or Ansible + wrapper scripts?

I am developing an application deployment program using Ansible.

The task entails:

Prompt for release number.
Prompt for environment: QA or prod.
Prompt for the target server.

Copy data and configure it

Prompt if app needs to be stopped and stop it if needed.

Pause for admin to make links to files only they are allowed to do.

Finalize configuration and start app.

I want to use Ansible as much as possible, but I also want to use the best tool for each job. So first I thought that at the end will have a mixture of ansible and python and bash scripts.

Can Ansible perform all of the steps above well enough to use only Ansible, or is it usually a mix anyway?

Initially I thought that perhaps I could get the user data with a script and then pass target release and env to ansible as variables.

Many ways to skin that rabbit but I hope to benefit from the experience of sombody’s similar effort, if any.

Thanks

Ansible allows for good prompting with vars_prompt, Ansible Tower (really nice variable prompting there too), or just passing variables with “-e” to the ansible-playbook command line.

The pause module in ansible can also wait for human configuration, and vars_prompt can also ask questions midstream.

Please don’t skin the rabbits, they are cute and fluffy and want to hugged and petted and maybe called George.

All right!

Thank you, Michael. The support from this group gave me the confidence to decide to do a major project in Ansible, though I am fairly new to it. The fact the the lerning curve isn’t steep at all as well, relatively, counts for much too.

So here is the plan. I will try to do everything in Ansible, and resort to wrappers/scripts only if the Ansible way is at clear disadvantage with alternatives.

Rabbits are safe.

Excellent.

Happy rabbits!