Commit Graph

53326 Commits (b8877d2d8b331ccda457504b49ed40061331a09a)
 

Author SHA1 Message Date
Matt Martz b8877d2d8b
New release v2.14.12rc1 (#82303) 1 year ago
Matt Martz 7239d2d371
Ensure that unsafe is more difficult to lose [stable-2.14] (#82295)
* Ensure that unsafe is more difficult to lose

* Add Task.untemplated_args, and switch assert over to use it
* Don't use re in first_found, switch to using native string methods
* If nested templating results in unsafe, just error, don't continue

(cherry picked from commit 586f1924512b01305f896d9ae4732773023013a3)

* ci_complete
1 year ago
Matt Davis 5cdfe667d6
add pep668 note to pip module docs (#82096) (#82100)
(cherry picked from commit 3ea5304a57)
1 year ago
Brian Coca de07dc85f5
ansible-pull: expand destinantion directoy to avoid purgin in / (#82030) (#82223)
* expand destinantion directoy to avoid purgin in /

  bad things could happen and help alone is not enough

(cherry picked from commit 8825e60add)
1 year ago
Matt Clay 6bf67bb4c8 [stable-2.14] ansible-test - Fix parsing of cgroup entries
(cherry picked from commit e933d9d8a6)

Co-authored-by: Matt Clay <matt@mystile.com>
1 year ago
Matt Clay 093d26b2a2 [stable-2.14] Fix subversion integration test (#82029)
- Remove dependency on the htpasswd module (and thus passlib)
- Fix setup/teardown of the httpd process
- Fix cleanup of temporary directories.
(cherry picked from commit 09d943445c)

Co-authored-by: Matt Clay <matt@mystile.com>
1 year ago
Matt Clay 82e5816aac
ansible-test - Use Azure for Windows 2012/2012-R2 (#81972) 1 year ago
Matt Martz 6dca8f593f
Update Ansible release version to v2.14.11.post0. (#81937) 1 year ago
Matt Martz dcdb718f7a
New release v2.14.11 (#81934) 1 year ago
Jordan Borean f17b564448
win_fetch - improve test time by not scanning Win dir (#81884) (#81886)
(cherry picked from commit dfc62589f6)
1 year ago
Matt Martz a130acec4e
Update Ansible release version to v2.14.11rc1.post0. (#81871) 1 year ago
Matt Martz 95b1e0b022
New release v2.14.11rc1 (#81862) 1 year ago
Sloane Hertel b51538ffbe
Fix reporting role as not found when remote_data is None (#81829) (#81836)
(cherry picked from commit 7fab552563)
1 year ago
Brian Coca 7f0b39271c
ansible-galaxy fix scm dependency error (#81599) (#81799)
* ansible-galaxy fix scm dependency error

  also changed usage of 'virtual colleciton' to actual type
  avoid error by filtering out virtual collections that dont have
expected properties

simplified as per webknjaz

* Update lib/ansible/galaxy/collection/__init__.py
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>

(cherry picked from commit 2aef0406d4)
1 year ago
Jordan Borean e9f685f39f
winrm - make command input more resiliant (#81538) (#81792)
* winrm - make command input more resiliant

* Expand warning message

(cherry picked from commit f22231de20)
1 year ago
Matt Davis 150def6015
fix various Jinja plugin caching issues (#79781) (#81644)
* fix various Jinja plugin caching issues

* consolidate the wrapper plugin cache
* remove redundant cache in J2 filter/test interceptor

* intra-template loader bypass

* fix early exits swallowing some exception detail

* misc comment cleanup

(cherry picked from commit dd79c49a4d)
1 year ago
Matt Martz 6809f986fc
[stable-2.14] Prevent roles from using symlinks to overwrite files outside of the installation directory (#81780) (#81786)
* Sanitize linkname during role installs

* Add tests

* add clog frag.
(cherry picked from commit ddf0311c63)
1 year ago
Matt Martz 28ed180234
Update Ansible release version to v2.14.10.post0. (#81685) 1 year ago
Matt Martz 8191ea534e
New release v2.14.10 (#81682) 1 year ago
Matt Martz 19fd0d6787
Update Ansible release version to v2.14.10rc1.post0. (#81641) 1 year ago
Matt Martz 62b7d211b3
New release v2.14.10rc1 (#81636) 1 year ago
Matt Martz b4b600a70b
[stable-2.14] tarfile: Handle deprecation warning for extract and extractall (#81545) (#81633)
* Python 3.11.4 introduces a new parameter 'filter' in extract and
extractall in tarfile. Handle deprecation warning message emitted
in Python 3.12.
* added probing mechanism in ansible-galaxy code to detect broken
data filter implementation in tarfile.

Fixes: #80832



(cherry picked from commit 1cc5efa)

Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
1 year ago
Jordan Borean 7d48bef252
PowerShell - remove uneeded dotnet code for future compatibility (#81472) (#81576)
(cherry picked from commit f3976117fb)
1 year ago
Matt Clay e7f64ed9d5
[stable-2.14] ansible-test - Always use managed entry points (#81537) (#81540)
(cherry picked from commit 390e508d27)
1 year ago
Matt Clay 4a2fe5134c
[stable-2.14] Remove obsolete text from release.py PR template (#81526) (#81528)
(cherry picked from commit 9afaf2216b)
1 year ago
Matt Clay 53b685fd6d
[stable-2.14] Fix f-string whitespace in release script (#81477) (#81479)
(cherry picked from commit 85d3305889)
1 year ago
Matt Clay 5a225f9e95
[stable-2.14] Clean up release script (#81488) (#81490)
* Enable mypy for the entire packaging directory

* Return CompletedProcess only when capturing output

This allows stdout/stderr on CompletedProcess to be `str` instead of `str | None`.
The unused args on CompletedProcess have been removed.
Overload type hints have been added to reflect these changes.

* Relax return type on ensure_venv

This improves consistency with its usage, since `run` accepts `env` of `dict[str, t.Any]`.
Also removed unnecssary `str()` usage when updating `env`.

* Fix type hint on suppress_when

* Fix callable annotation

* Add type hint for command_parser

PyCharm complains about using a protected member, and also that it can't find the type in the type stubs.
However, mypy properly recognizes the type.

* Avoid unnecessary TypeVar usage.
(cherry picked from commit 47ab59753c)
1 year ago
Sviatoslav Sydorenko 4cbdf02efe
Replace FreeBSD 12.3 w/ 12.4 in CI & ansible-test (#81497)
FreeBSD 12.3 bootstrap packages stopped being available.
1 year ago
Matt Clay 0f8441ad83
Update Ansible release version to v2.14.9.post0. (#81510) 1 year ago
Matt Clay 6a8d192649
New release v2.14.9 (#81507) 1 year ago
Matt Martz 223a6ee8eb
Update Ansible release version to v2.14.9rc1.post0. (#81461) 1 year ago
Matt Martz 12308ba054
New release v2.14.9rc1 (#81458) 1 year ago
Matt Clay cf6df70765
[stable-2.14] Overhaul package-data sanity test (#81427) (#81438)
The sanity test now only inspects the sdist and wheel instead of trying to install the sdist using setup.py..
(cherry picked from commit f894ce89b4)
1 year ago
Matt Clay 470be95257
[stable-2.14] ansible-test - Update source layout detection (#81418) (#81435)
(cherry picked from commit c525514994)
1 year ago
Brian Coca 33f8460a78
fixed become page link in PE error message (#81391) (#81394)
(cherry picked from commit 0b9d83ccdb)
1 year ago
Felix Fontein 94a87bd92a
The split filter was added in ansible-core 2.11. (#81275) (#81290)
(cherry picked from commit b771e59793)
1 year ago
Felix Fontein 5b8ffe66a2
Module docs fixes. (#81213) (#81235)
(cherry picked from commit dce51f4ff4)
1 year ago
Matt Clay ae2a1f403a
[stable-2.14] Update update-sanity-requirements.py script (#81424) (#81432)
Frozen requirements can now preserve any explicitly installed package that would normally be omitted, not just setuptools.
(cherry picked from commit dbb3feddaf)
1 year ago
Matt Clay 25de85e95b
[stable-2.14] Revert "define code owners to support branch-protection rules on docs (#81041)" (#81228) (#81429)
This reverts commit 9117762358.
(cherry picked from commit 7c6564ad0e)
1 year ago
Matt Clay a2ceacd75d
[stable-2.14] Clean up MANIFEST.in (#81415)
* Clean up MANIFEST.in (#80688)

* Remove unnecessary MANIFEST.in commands

This eliminates more setuptools warnings during build.

* Sort MANIFEST.in

Now that only include commands are used, the order of the commands no longer effects the build output.

(cherry picked from commit 6e325d9e4d)

* Omit hacking directory from MANIFEST.in (#81245)

* Omit `hacking` directory from `MANIFEST.in`

* Update package-data sanity test

(cherry picked from commit b93a628aed)
1 year ago
Matt Clay a22c7d8f3b
[stable-2.14] Add changelog fragment for docs/examples removal (#81410) (#81412)
(cherry picked from commit 0c03a6bcf6)
1 year ago
Martin Krizek 2d4d354cb1
Remove BOTMETA.yml and sanity tests for it (#81198) (#81264)
(cherry picked from commit 39ef570e16)
1 year ago
Matt Clay dd45caa7a9
[stable-2.14] Docs removal and other backports (#81407)
* Remove straight.plugin dependency (#80084)

(cherry picked from commit f587856beb)

* Update package-data sanity test (#80344)

The test no longer relies on the Makefile.

(cherry picked from commit 46362bbd27)

* Remove obsolete release bits (#80347)

Releases are now built using the `packaging/release.py` tool.
This makes the `Makefile` and associated files in `packaging/release/` and `packaging/sdist/` obsolete.

* Use --no-isolation for package-data sanity test (#80377)

The dependencies are already in the sanity test venv. This avoids use of unpinned dependencies and a dependency on a network connection.

(cherry picked from commit 7fcb9960e6)

* Set the minimum setuptools to 45.2.0 (#80649)

Also update the package-data sanity test to use the minimum setuptools version.

(cherry picked from commit 4d25e3d54f)

* Use package_data instead of include_package_data (#80652)

This resolves warnings generated by setuptools such as the following:

_Warning: Package 'ansible.galaxy.data' is absent from the `packages` configuration.

(cherry picked from commit 5ac292e12d)

* Fix os.walk issues in package-data sanity test (#80703)

* Remove `docs` and `examples` directories (#81011)

* Remove docs dir

* Updates to reflect docs removal

* Fix integration test

* Remove examples dir

* Updates to reflect examples removal

* Remove build_library and build-ansible.py

* Remove refs to build_library and build-ansible.py

* Remove obsolete template

* Remove obsolete template reference

* Remove the now obsolete rstcheck sanity test

(cherry picked from commit 72e038e823)

* Omit pre-built man pages from sdist (#81395)

Since man pages aren't accessible to users after a `pip install`, there's no need to include them in the sdist.
This change makes it trivial to build man pages from source, which makes them much easier to iterate on.
It also simplifies creation and testing of the sdist, since it no longer requires building man pages.

The new `packaging/cli-doc/build.py` script can generate both man pages and RST documentation.
This supports inclusion on the docs site without a dependency on `ansible-core` internals.
Having a single implementation for both simplifies keeping the two formats in sync.

(cherry picked from commit 691c8e8603)
1 year ago
Matt Clay 6f20fe3599
Fix backport of #81379 (#81386)
Two copies of the file existed in this branch, but only one was updated previously.
1 year ago
Matt Clay 60f48ad1a3
[stable-2.14] Include subcommands in generated man pages (#81378) (#81383)
Sub commands of `ansible-galaxy role` and `ansible-galaxy collection` are now documented.
(cherry picked from commit 081c60b9d3)
1 year ago
Matt Clay 63413cb0d4
[stable-2.14] Fix misrendered sections in manpage generation (#81380)
This change fixes bugs in the manpage generator that existed since it
was first added.

It exposes CLI `ARGUMENTS` value to manpage templates.

Before this change, the code contained a typo, causing the `for`-loop
iterate over individual characters of the `'ARGUMENTS'` string rather
than iterating over a tuple. A missing comma was at fault.

The updated code gets rid of the `for`-loop and conditionals since it
seems to have been a premature complexity increase and no other things
than `'ARGUMENTS'` were ever added into the broken iterable.

The functional change is that `arguments` is now always present in the
Jinja2 context, unlike being missing sometimes because of the previous
design (not that it was ever present, because of the bug! sigh...)

The Jinja2 templates perform an `{% if arguments %}` check, letting
the template engine silently ignore the missing variable. The clause
was always falsy, meaning that the arguments section was not included
in the manpages for at least the last 6 years. With this fix, it will
be.

This patch also deduplicates calling `opt_doc_list` @ generate_man.

It was called late in the execution, more times than necessary. This
patch makes sure it happens once by putting it at the top of the scope.

It fixes rendering library and inventory in manpages.

The corresponding Jinja2 templates have blocks wrapped with
conditionals like `{% if inventory %}` and `{% if library %}` but said
variables were never injected into the context, nor were they even
deduced on the Python side of the generator. This means that the
conditional clauses were always falsy, never showing the portions of
the manpages.

The Python script has hints for how the `inventory` variable was to be
calculated, which is confirmed through the Git paleontology efforts.

The block of code that references to the `inventory` bit was
incorrectly checking a variable with a list of nested objects for the
presence of a string which was never going to work.

This patch fixes this check by verifying the CLI flag against the
correct variable containing a list of options and exposes it to the
Jinja2 templates.
It also exposes the `library` variable in a similar way.

The block displaying other binaries in Sphinx CLI docs has been
synchronized with the manpage template.
Previously, the current binary was displayed also. This patch gets rid
of the unwanted trailing comma there too.

Finally, the CLI executables list in the manpage template now reuses
the same variable as the RST template that doesn't need any
post-processing in Jinja2.
Before, it was already used in the RST template so this patch aligns
both templates to use the same logic as they got out-of-sync over time.

PR #80450.
(cherry picked from commit a84b3a4e72)

Co-authored-by: Sviatoslav Sydorenko <webknjaz@redhat.com>
1 year ago
Matt Clay 10f4d6b982
[stable-2.14] Fix missing command descriptions in manpages/docs (#81366). (#81371)
(cherry picked from commit 32b388b4ca)
1 year ago
Matt Clay b42dcee567
[stable-2.14] Fix command doc lookup in man page generation (#81365) (#81368)
(cherry picked from commit f9d674fcfd)
1 year ago
Matt Clay aaeb2c0b08
[stable-2.14] Exclude internal options from man pages and docs (#81360) (#81362)
(cherry picked from commit fead654671)
1 year ago
Matt Clay b660c7ec1e
[stable-2.14] ansible-test - update module_utils/urls.py unit test to support cryptography >= 41.0.0 (#81296) (#81317)
(cherry picked from commit d20a0c02cc)

Co-authored-by: Sloane Hertel <19572925+s-hertel@users.noreply.github.com>
1 year ago