ansible / mazer

Experimental Ansible Galaxy Content Manager
GNU General Public License v3.0
114 stars 18 forks source link

Make rm work 41 / installed_content_dbs etc #78

Closed alikins closed 6 years ago

alikins commented 6 years ago
SUMMARY

This is a set of changes related to fixing 'remove', but mainly adding an interface for finding and querying installed packages correctly (before, 'remove' was failing because it was no longer able to find the right content to remove based on the '$namespace.$content' identifier in lieu of the '~/.ansible/content/$namespace.reponame' layout and multi-content repos).

This adds the very beginning of a db-like interface to the installed content for tools like list/remove to use (as well as install/update eventually). ('*content_db.py' etc)

It also adds iterator/generators for iterating over installed content and repos, that is used in the db-like layer.

This also starts making the distinction between a 'Content' and a 'Repository' more... distinctive. ('*repository_db.py' etc). This is in keeping with the concept that galaxy Repositories are the main unit of content to be installed and managed (as compared to previous ansible-galaxy where the main unit of content was a role). This pr adds some infrastructure for querying by Repository or by Content/Role and starts hooking it up into the ui.

This also starts making a distinction between 'installed Content' and more generic Content, since they have different properties and are used in different places. For ex, 'installed content' is the main data that 'list' or 'remove' are based around, but the more generic 'Content' is what install is based around.

Other changes include:

ISSUE TYPE
GALAXY CLI VERSION
Ansible Galaxy CLI, version0.1.0
Linux, newswoop, 4.16.6-202.fc27.x86_64, #1 SMP Wed May 2 00:09:32 UTC 2018, x86_64
3.6.5 (default, Apr  4 2018, 15:01:18) 
[GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]/home/adrian/venvs/galaxy-cli-py3/bin/python
Using /home/adrian/.ansible/mazer.yml as config file
ADDITIONAL INFORMATION