Bug 717051

Summary: Drift Management : Sprint 02 Tasks
Product: [Other] RHQ Project Reporter: Jay Shaughnessy <jshaughn>
Component: Core ServerAssignee: RHQ Project Maintainer <rhq-maint>
Status: CLOSED NOTABUG QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: high    
Version: 4.1CC: hrupp, ian.springer
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-01 19:08:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 707225    

Description Jay Shaughnessy 2011-06-27 20:00:27 UTC
This is the task breakdown for Drift management, Sprint 02.

Sprint Goal : GUI-Based Drift Management

Tasks:
* Full End To End for Content 
- Request and Store Drift Files (jsanda)
  - Refine server service API
    - Add more context to the request (drift name, resource id (gotten from changeset header))


* Plugin Meta-Data Processing (mazz)
- Finalize XSD
- Finish XML parsing and Resource Type handling
  - MetaData update
- Finish DriftConfigurationDefinition singleton
- Add <Drift> to JBoss AS plugin (as a start)
  - Test config only (maybe no filters)
  
* Drift GUI                               !! (JAY)!!
- Recent Drifts report
- Drift tab for resource detail
- Drift History view
  - Drift Detail view (no diff)
- Drift Configs viewd
  - enable/disable drift detection
  - Drift Config editor view
- Drift Config Add Wizard
  - config management

* Agent Synch/Fault tolerance use cases
  - Design work (sprint2)
  - Impl work (best effort sprint 2)
  - copy the pattern in InventoryManager.syncInventory (e.g. for metric schedules)

* Agent Drift Report execution/generation/send
- Generate Delta reports (Drift category reports) (jsanda)

* Update wiki design pages as necessary
As needed

Sprint Backlog (future sprint work, not ordered)

* DB Upgrade
- Finish once churn subsides

* Server Plugin
-- Define Facet API and create clean RHQ Backend impl

* Drift GUI
- Diff support
- Ack support

* Initial import/seed of products
  - to avoid pulling base product content from agent

* plugin meta-data upgrade/deletion

* Golden Image support

* Remediation

* Planned change support

* Group support

* Template Support

* Full security review

* Other
- file type/mime type detection (for diff support)
- Drift configure. e.g. optional drift filtering based on whitespace-only changes
- ModeShape investigation as second backend option
- More investigation into agent-side optimization
  - using timestamps
  - efficient/optimized digest algorithms

Potential approach: Each following comment will supersede the one before. It
will be a full, further edited copy of the one previous, with revisions and,
notes, and indications of progress or completion.


Open Questions
* Do we want to support adding/editing/deleting drift templates? (no, the implications of user-edit on type meta-data is frightening. Instead allow the user to create a non-template based config)

* Do we want to allow multiple basedir decls for a drift template and/or configuration? (no, we effectively have this since a resource can have multiple drift configurations.)

Comment 1 Ian Springer 2011-06-28 16:31:00 UTC
One potential lib to use for the file type detection is http://sourceforge.net/projects/mime-util/. It sounds pretty robust and is ASL.

Comment 2 Jay Shaughnessy 2011-11-01 19:08:29 UTC
closing this, used only for sprint tracking a while back.