Trove/MoveTroveGuest
Contents
Description
Currently the Trove Guest Agent code is contained in the trove module. This blueprint goal is to split the guest agent specific code into another top level module called 'troveguest'. This will eventually be split out completely into another repository, the first step is to refactor the code so it is no longer dependent on trove core.
Justification/Benefits
- Simplify installation of the guest agent on instances.
- Reduce the amount of code that is deployed on instances.
- Lower the memory footprint of the guest agent by not importing unnecessary code from Trove core.
Impacts
- The setup.cfg will need to setup the new module along with trove. See horizon for an example.
- An example setup.cfg for just packaging the guest agent will be added along with a build_guest.py helper script.
- Some in flight reviews will have a difficult rebase. (Cores will also need to be careful to merge them in order to minimize impact)
Configuration
Configuration values should stay the same
Database
None
Public API
None
CLI interface
None
ReST Part
No Change
Internal API
No Change
RPC API description
No Change
Guest Agent
1. The guest agent code will be moved to a top level module in the existing trove repository called 'troveguest'. 2. The import statements will be changed from 'trove.guestagent' to 'troveguest' 3. Some common code will need to be duplicated within the troveguest so that there are no dependancies on the trove core. (This should hopefully be minimal) 4. The code that currently rsync's the code over to instances in development will be changed to just include the 'troveguest' module. (It is possible that another delivery method will be used, however that should probably be done in its own blueprint)