yahoo/Openstack-Anvil — pull request #240 by harlowja (2012-08-18 03:35:11+00:00)
Title: Folsom cleanups/rework/fixups/progrsss

Lots of fixups to work on getting *folsom* ``anvil`` ready for usage. Also I wanted to remove code that I don't have time to maintain (seeing not much support from others) to keep anvil as lean as possible (and focus it instead of trying to accomplish everything to replace ``devstack`` which doesn't seem to be happening anyway)...

Leaning it down involved the following:

1. Removing **quantum** until its fixed/resynced.
1. Removing **swift** since it was really never working.
1. Removing nova volume creation (to be replaced by **cinder** in the future anyway).
1. Simplifying to just **rhel6** for now until time is given to fedora/ubuntu to get them in working shape.
1. Removing non-forking based running for now (ie ``screen`` and ``upstart``) since those 2 just add more complexity than a lean version should have.

The following is being added as new features:

1. No longer need the ``warmups``, a piece of python code in anvil will attempt to do this initially (when a certain file does not exist or that file has a different ``anvil`` version in it than the active version)
1. Action to run the components tests and actions to create simple packages of the components
1. The ability to parse the ``pip-requires`` and ``test-requires`` dependencies and match them up against what anvil has in its dependency list (and die if something incompatible is found). This allows for anvil to track the components dependencies (and how to install them for a given distribution, the mapping of which anvil has for now) in a more automated fashion.
1. More correct removal of inverse operations ``phase`` files (ie action installs install should remove the action uninstalls phase file)
1. A recursive (objects inside objects...) pretty printer specifically formatting for console output
1. The ``status`` action can now give back any details about the status (ie any stderr/stdout or contents of files with the same information)
1. Version was set to match the ``folsom`` release (for consistency and so its easily known which anvil will work with which openstack release)
1. Renaming the ``devstack.sh.yaml`` to just ``basic.yaml`` since devstack now installs cinder, swift, quantum, and the leaner ``anvil`` doesn't have all of those 'yet'
1. Documentation update for all the above.