Difference between revisions of "Deployment Platform/1.0/Todo"

From Sugar Labs
Jump to navigation Jump to search
(Actualize 1.0 plans)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 1.0 ==
 
 
 
Initial Sugar Server release that is not intended to be used as-is in deployments. It is about having stable code base and infra to fulfil deployment needs in further 1.x releases.
 
Initial Sugar Server release that is not intended to be used as-is in deployments. It is about having stable code base and infra to fulfil deployment needs in further 1.x releases.
  
=== Initial coding of core components ===
+
== Initial coding of core components ==
  
 
* <strike>sugar-server</strike>
 
* <strike>sugar-server</strike>
Line 11: Line 9:
 
Need to be polished though (see the rest of TODO).
 
Need to be polished though (see the rest of TODO).
  
=== Testing ===
+
== Testing ==
  
 
* <strike>sugar-server unit tests</strike>, initial work done the rest is in permanent process
 
* <strike>sugar-server unit tests</strike>, initial work done the rest is in permanent process
Line 19: Line 17:
 
* <strike>system tests of sugar-server + sugar-server-base infra with reproducing usual and stress behaviour of sugar client using sugaroids instances (up to 1K)</strike> sounds like more deployment related task, thus moved to 1.x releases
 
* <strike>system tests of sugar-server + sugar-server-base infra with reproducing usual and stress behaviour of sugar client using sugaroids instances (up to 1K)</strike> sounds like more deployment related task, thus moved to 1.x releases
  
=== Patch OBS ===
+
== Patch OBS ==
  
 
* <strike>produce binary packages with sugar-server, mace and sugar-server-base for Fedora-14</strike>
 
* <strike>produce binary packages with sugar-server, mace and sugar-server-base for Fedora-14</strike>
Line 25: Line 23:
 
* <strike>announce packages.sl.o, not only for Sugar Server usage but also for sweets/sdk</strike> will be announced with sweets
 
* <strike>announce packages.sl.o, not only for Sugar Server usage but also for sweets/sdk</strike> will be announced with sweets
  
=== Prosody ===
+
== Prosody ==
  
 
* <strike>improve mod_sugar_roaster plugin to share the same memory structure of sugar roaster among all buddies</strike>
 
* <strike>improve mod_sugar_roaster plugin to share the same memory structure of sugar roaster among all buddies</strike>
Line 32: Line 30:
 
Sugar code is here, http://git.sugarlabs.org/server/prosody-sugar
 
Sugar code is here, http://git.sugarlabs.org/server/prosody-sugar
  
=== Documentation ===
+
== Documentation ==
  
Initial documentation efforts on the wiki.
+
<strike>Initial documentation efforts on the wiki.</strike>
  
=== Tech demo ===
+
== Tech demo ==
  
Test case:
+
<strike>Test case:
  
* on unlocked XO, plug usb stick with demo server image, flash and boot
+
* on unlocked XO, plug usb stick with demo server image, flash and booth
 
* on locked XO, inject lease demo keys from a usb stick and boot
 
* on locked XO, inject lease demo keys from a usb stick and boot
 
* locked XO should be fine with:
 
* locked XO should be fine with:
Line 49: Line 47:
 
** connect to jabber
 
** connect to jabber
  
Demo server XO image will be composed by adding {{Code|downstream-server-demo}} package (and all its deps) during the regular XO image building process.
+
Demo server XO image will be composed by adding {{Code|downstream-server-demo}} package (and all its deps) during the regular XO image building process.</strike>
 
 
== 1.x ==
 
 
 
All 1.x minor releases will be based on deployment needs. Including taking decision what following features need to be implemented.
 
 
 
=== Testing ===
 
 
 
* more system tests of SSK infra using sugaroid to cover various deployment workflows
 
* using sugaroid bots, stress test prosody to compare with ejabberd
 
 
 
=== More sugar-server-base templates ===
 
 
 
Depending on will mace configuration be used in Sugar Server based deployments or not, implement configuration for all needed services:
 
 
* Content filter. Options are: Dans Guardian (MinD fork?), SquidCache, OpenDNS
 
* Monitoring support. If connectivity is good, then no questions, there are bunch of ready-to-use solutions like Munin, Nagious, etc. The problematic usecase is having servers that are mostly or entirely offline. The way might be collecting data on school servers and pass them to the mothership somehow via sneakernet. Options: run http://collectd.org/ daemons on school servers and provide useful uploading method
 
 
 
=== Initial Smart Objects support ===
 
 
 
[[Features/Smart_Objects]]
 
 
 
Many things to think about at first before any implementation...
 
 
 
=== Mothership ===
 
 
 
* Interaction with motherships
 
* (?) Initial sugar-mothership implementation, only regarding to current sugar-server functionality
 
 
 
Need to collect more experience from XS deployments before any implementation...
 
 
 
== Not TODO ==
 
 
 
The features that were in TODO but excluded for now.
 
 
 
=== Patch OBS ===
 
 
 
* Create images on OBS for:
 
** Fedora-14(15)
 
** Fedora on XO
 
** Debian/Ubunut
 
 
 
It seems that creating images workflow is too special and patching/support-our-patch for OBS is not too trivial, so it isn't worth trying at least for before having real need.
 

Latest revision as of 16:28, 8 October 2012

Initial Sugar Server release that is not intended to be used as-is in deployments. It is about having stable code base and infra to fulfil deployment needs in further 1.x releases.

Initial coding of core components

  • sugar-server
  • sugar-server-base
  • mace

Need to be polished though (see the rest of TODO).

Testing

  • sugar-server unit tests, initial work done the rest is in permanent process
  • mace unit tests, initial work done the rest is in permanent process
  • sugaroid, library and application that represent regular sugar client behaviour
  • sugar-server integration tests using sugaroid library, initial work done the rest is in permanent process
  • system tests of sugar-server + sugar-server-base infra with reproducing usual and stress behaviour of sugar client using sugaroids instances (up to 1K) sounds like more deployment related task, thus moved to 1.x releases

Patch OBS

  • produce binary packages with sugar-server, mace and sugar-server-base for Fedora-14
  • while most of packages come from initial distro release, monitor for updates for some of package, e.g., xulrunner when hulahop needs to be rebuilt on any new xulrunner update all packages on obs are based on initial distro releases, hulahop/sugar were patched to not fail on every minor update
  • announce packages.sl.o, not only for Sugar Server usage but also for sweets/sdk will be announced with sweets

Prosody

  • improve mod_sugar_roaster plugin to share the same memory structure of sugar roaster among all buddies
  • using sugaroid bots, stress test prosody to compare with ejabberd not ready, moved to 1.x

Sugar code is here, http://git.sugarlabs.org/server/prosody-sugar

Documentation

Initial documentation efforts on the wiki.

Tech demo

Test case:

  • on unlocked XO, plug usb stick with demo server image, flash and booth
  • on locked XO, inject lease demo keys from a usb stick and boot
  • locked XO should be fine with:
    • activate on boot on unlocked XO
    • register user
    • do journal backup
    • restore journal
    • connect to jabber

Demo server XO image will be composed by adding downstream-server-demo package (and all its deps) during the regular XO image building process.