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

From Sugar Labs
Jump to navigation Jump to search
 
(14 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 coding of core components ===
+
== Initial coding of core components ==
  
 
* <strike>sugar-server</strike>
 
* <strike>sugar-server</strike>
Line 9: 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 15: Line 15:
 
* <strike>sugaroid, library and application that represent regular sugar client behaviour</strike>
 
* <strike>sugaroid, library and application that represent regular sugar client behaviour</strike>
 
* <strike>sugar-server integration tests using sugaroid library</strike>, initial work done the rest is in permanent process
 
* <strike>sugar-server integration tests using sugaroid library</strike>, 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)
+
* <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 ==
  
* produce binary packages with sugar-server, mace and sugar-server-base for Fedora-11<br>[[User:Alsroot|alsroot]] 19:46, 9 June 2011 (EDT)
+
* <strike>produce binary packages with sugar-server, mace and sugar-server-base for Fedora-14</strike>
 
* <strike>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</strike> all packages on obs are based on initial distro releases, hulahop/sugar were patched to not fail on every minor update
 
* <strike>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</strike> 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
+
* <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>
 +
* <strike>using sugaroid bots, stress test prosody to compare with ejabberd</strike> not ready, moved to 1.x
  
 
Sugar code is here, http://git.sugarlabs.org/server/prosody-sugar
 
Sugar code is here, http://git.sugarlabs.org/server/prosody-sugar
  
=== Content filter ===
+
== Documentation ==
  
Need to decide what content filter software configuration will be included with sugar-server-base.
+
<strike>Initial documentation efforts on the wiki.</strike>
  
Options are:
+
== Tech demo ==
  
* Dans Guardian (MinD fork)
+
<strike>Test case:
* SquidCache
 
* OpenDNS
 
* ?
 
  
Thoughts:
+
* 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
  
* Nepal uses Dans Guardian and looks like pretty satisfied
+
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>
* Dans Guardian's site declares that it is faster then SquidCache, but publication date is too old
 
* Dans Guardian's MinD for is promising option, it support proxy-less mode and has recent activity (in comparing with Dans Guardian)
 
* OpenDNS way might be useful, i.e., having such server on the mothership and point all school servers' dns there. but can't find (?) FOSS project with such functionality and opendns.com is a pure commercial organisation with ugly stuff like forwarding failed requests to its site with ads, and it can change the rules at any time.
 
 
 
=== 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.
 
 
 
Thoughts:
 
 
 
* run http://collectd.org/ daemons on school servers and provide useful uploading method
 
 
 
=== Documentation ===
 
 
 
Initial documentation efforts on the wiki.
 
 
 
== 1.x ==
 
 
 
=== 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.