Hi Michael,
> > I really wish you would stop repeating this procedure on every
> > Ansible release. If you want things to actually change, start a
> > proper discussion in the appropriate place
> > (https://github.com/ansible-community/community-topics/).
>
> This topic came up here and is IMHO relevant for normal Ansible
> users. So please don't try to push it away from the users.
I'm not saying this cannot / should not be discussed here. I'm mainly
saying that 'official' decisions on what happens to the Ansible package
are made by discussions and votes in that repository. So discussing
that here is on thing, but if you really want to change it (and Nico
seems determined), it would be better to (also) start a discussion
there.
I've brought it up before at https://github.com/ansible/ansible/ . Oh,
wait! That's not ansible! That's ansible-core!
This software split is confusing and means different things to
different people. If "ansible" is meant to be both the curated set of
ansible collection modules, and ansible-core, bundle ansible
collections separately, as the vastly oversized bundle it is, and set
"ansible" to pull in that distinctly from ansible-core. The renaming
of the "ansible" package to ansible-core and its substitution in the
pypi.org package with a tarball which actually installs only
ansible_collection has led to a great deal of confusion, at the
expense of admins who need laborious explanations of why every
pypi.org bundle for ansible is misnamed and does not match it's
installation locaiton.
> But if there's an important security fix only in ansible-core Ansible
> users have to be aware to explicitly invoke
> pip install --upgrade ansible-core
>
> to get the updates. So this "implementation detail" is indeed quite
> relevant to Ansible users who want to properly maintain their
> controller.
That's indeed a problem (especially since `pip install --upgrade
ansible` will not upgrade dependencies when `ansible` is already at the
latest version). One way to (partially) fix this would be to make sure
that Ansible is always released at most a day after ansible-core has
been released. Right now, the delay can be up to two weeks, which is
definitely too long.
That is a procedural burden, and an unwelcome one. If "ansible" means
both, make it explicitly require both as distinct packages.
I'd offer patches to bundle it with the distinct name, but I admit
that I find the array of uncommon tools used to create this tarball
obscure to tune. It's pretty trivial, but ugly, to take the ansible
tarball and tweak it into being an ansible_collections compatible
tarball and installable python module instead.
Also I don't mind to update the release template by adding more
information on how ansible-core is 'contained' in ansible. I'm mainly
against completely rewriting it with different language which is more
technically correct, but less helpful and doesn't work together with
the other things (changelog, porting guide, docsite).
Cheers,
Felix
Technical language that lies outright is always confusing and
engenders mistrust of its authors. This one, I'm afraid is a fib
except in some very strange and underdocumented model where "ansible"
is an umbrella term for a suite of software packages, one of which is
actually called "ansible" over at pypi.org, and the other of which
used to be called "ansible" and is still called "ansible" over at
github. It's an unwelcome source of confusion for folks with more
productive work to do. Segregating it more carefully will ease the
path for people who don't need the very large "ansible_collections"
suite at all, and need only the much smaller and leaner ansible-core.
That may not fit the agglomerated suite of software model, but it's a
lot smaller and a lot more supportable. Isn't destabilizing
agglomeration exactly what triggered the split-off of ansible-core and
the ansible_collections in the first place? It's difficult to be sure
because I can't find a transcript or correspondence history of the
decision to split these.