Bouncer:v3: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
 
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Schedule ==
[[Bouncer|« back to Bouncer home]]


= Database =
== Database ==
*  Renaming of tables     
*  Renaming of tables     
*  Renaming of columns   
*  Renaming of columns   
Line 8: Line 8:
** load test set from maxgeo  
** load test set from maxgeo  
** map onto existing regions?     
** map onto existing regions?     
*  Fix SQL for *.py (sentry, loader)  
*  Fix SQL for *.py (sentry, loader)
* Roles (Admin vs. User vs. Reports)


= CRUD =
== CRUD ==
* Scaffold current models  
* Scaffold current models  
** Mirrors   
** Mirrors   
Line 27: Line 28:
** Do we even delete?
** Do we even delete?


= Status Search (for all models) =
== Stats ==
* Add more tracking of users/hits/downloads
** Integrate with Urchin
** Would require us to include a javascript file with each download (cached)
** Somehow track whether or not a download completed or was abandoned.
** Also, should "official" downloads be hosted from the .com domain?
 
== Status Search (for all models) ==
*  Available bandwidth   
*  Available bandwidth   
*  Enabled mirrors   
*  Enabled mirrors   
Line 34: Line 42:
*  Lookup by other models or wildcard (Any _____)     
*  Lookup by other models or wildcard (Any _____)     


= Dashboard (front page) =
== Dashboard (front page) ==
*  Total mirrors  
*  Total mirrors  
*  Inactive mirrors   
*  Inactive mirrors   
Line 41: Line 49:
*  # of files served by # of mirrors  
*  # of files served by # of mirrors  
*  Recent users   
*  Recent users   
*  Some notion of mirrors by region (jol P2)
*  Other ideas?   
*  Other ideas?   


= Sentry Visualization =
== Sentry Visualization ==
*  Read tests, events for sentry tests data   
*  Read tests, events for sentry tests data   
*  Allow searching by date   
*  Allow searching by date   
Line 58: Line 67:
** Results (failed, success)?     
** Results (failed, success)?     


= Integration with loader.py for multiple file upload =
== Integration with loader.py for multiple file upload ==
* See http://bouncer.osuosl.org/v2/php/admin/upload.php   
* See http://bouncer.osuosl.org/v2/php/admin/upload.php   
** PHP accepts hashfile and parameters   
** PHP accepts hashfile and parameters   
Line 64: Line 73:
** PHP displays loader results from loaderlogs
** PHP displays loader results from loaderlogs


= Install and stage on khan =
== Install and stage on khan ==
*  Admin tools   
*  Admin tools   
*  Bounce scripts (with URI rewrites)     
*  Bounce scripts (with URI rewrites)     
Line 70: Line 79:
*  Loader     
*  Loader     


= Deployment =
== Deployment ==
*  Install and verify in production
*  Install and verify in production
*  Handle multiple instances
** load balanced
** physically seperated instances (different datacenters)
*  Front with Netscaler
** logging issues?
** referrer issues?
== Build Requirements ==
* P1: Warnings about invalid operations, i.e. specifying a location for a product that already exists, etc.
** The file view lacks a dupe check -- this would be an easy fix for v2.
* P1: Requested validations, i.e. Sentry can be told "Check on these three products right now," and they'll show up in the mirror list immediately.
** Test type 4 could be scheduled to run every 10 minutes -- it is the test that verifies new files.  If it ran frequently, Sentry would check new items automatically on a regularly scheduled basis -- I think that would meet the requirement.  See the [http://wiki.osuosl.org/display/Bouncer/Installation+Guide#InstallationGuide-Options wiki page on Sentry's options].
* P1: We can dump the SHA1SUMS file directly into the DB (Bouncer2 has this?)
** Bouncer2 has this (loader.py) -- it was one of the main requirements for v2.
* P2: Roles can be handed out in groups, to products, i.e. Seamonkey/Camino people can login and modify/admin their products, but not modify FFx/Tb, nor add/delete new products.
* P3: Some better reporting about which mirrors are serving which releases, i.e. "Show me all mirrors serving FFx 1.5.0.5"

Latest revision as of 18:13, 10 July 2006

« back to Bouncer home

Database

  • Renaming of tables
  • Renaming of columns
  • Verify indexing
  • geo-ip
    • load test set from maxgeo
    • map onto existing regions?
  • Fix SQL for *.py (sentry, loader)
  • Roles (Admin vs. User vs. Reports)

CRUD

  • Scaffold current models
    • Mirrors
    • Regions
    • Applications
    • Locales
    • Platforms
    • Files
    • Downloadables?
    • Users
  • Chip away at scaffolding (for all models)
    • Search criteria
    • Pagination
    • Basic edits
  • Delete confirmation
    • Do we even delete?

Stats

  • Add more tracking of users/hits/downloads
    • Integrate with Urchin
    • Would require us to include a javascript file with each download (cached)
    • Somehow track whether or not a download completed or was abandoned.
    • Also, should "official" downloads be hosted from the .com domain?

Status Search (for all models)

  • Available bandwidth
  • Enabled mirrors
  • Disabled mirrors
  • # of files hosted
  • Lookup by other models or wildcard (Any _____)

Dashboard (front page)

  • Total mirrors
  • Inactive mirrors
  • Active mirrors
  • Megabits of bandwidth available
  • # of files served by # of mirrors
  • Recent users
  • Some notion of mirrors by region (jol P2)
  • Other ideas?

Sentry Visualization

  • Read tests, events for sentry tests data
  • Allow searching by date
  • Lookup on any model
  • Search criteria
    • Application
    • Locale
    • Platform
    • Mirror
    • Region
    • Start Date
    • End Date
    • Test Type
    • Results (failed, success)?

Integration with loader.py for multiple file upload

Install and stage on khan

  • Admin tools
  • Bounce scripts (with URI rewrites)
  • Sentry tests
  • Loader

Deployment

  • Install and verify in production
  • Handle multiple instances
    • load balanced
    • physically seperated instances (different datacenters)
  • Front with Netscaler
    • logging issues?
    • referrer issues?

Build Requirements

  • P1: Warnings about invalid operations, i.e. specifying a location for a product that already exists, etc.
    • The file view lacks a dupe check -- this would be an easy fix for v2.
  • P1: Requested validations, i.e. Sentry can be told "Check on these three products right now," and they'll show up in the mirror list immediately.
    • Test type 4 could be scheduled to run every 10 minutes -- it is the test that verifies new files. If it ran frequently, Sentry would check new items automatically on a regularly scheduled basis -- I think that would meet the requirement. See the wiki page on Sentry's options.
  • P1: We can dump the SHA1SUMS file directly into the DB (Bouncer2 has this?)
    • Bouncer2 has this (loader.py) -- it was one of the main requirements for v2.
  • P2: Roles can be handed out in groups, to products, i.e. Seamonkey/Camino people can login and modify/admin their products, but not modify FFx/Tb, nor add/delete new products.
  • P3: Some better reporting about which mirrors are serving which releases, i.e. "Show me all mirrors serving FFx 1.5.0.5"