Jump to: navigation, search

Difference between revisions of "Trove/MoveTroveGuest"

(Guest Agent)
(Guest Agent)
Line 35: Line 35:
  
 
=== Guest Agent ===
 
=== Guest Agent ===
1. The guest agent code will be moved to a top level module in the existing trove repository called 'troveguest'.  
+
# 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'  
+
# 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)
+
# 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)
+
# 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)

Revision as of 21:41, 3 April 2014

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)