Re: Debian services and Debian infrastructure

2014-01-05 Thread Raphael Hertzog
Hi,

On Sat, 04 Jan 2014, Lucas Nussbaum wrote:
 I've given some thought to this myself, and came up with the following 
 ideas.  Some of them are probably really bad ideas, but let's try to 
 brainstorm a bit:

I don't find them bad. At least from the POV of view of a DD and of a
service maintainer, they seem to go in the right direction.

 1. to improve communication between DSA and service maintainers
+ have an archived, public list where (prospective) service maintainers
  can engage with DSA about stuff they are planning/thinking about.
  (Maybe recycle debian-admin@l.d.o, or use debian-services-admin@l.d.o?)

debian-services-admin@l.d.o seems to be rather appropriate for this (it's
unlikely that this kind of discussion would generate so much mail that the
list could no longer serve its current purpose).

+ have DSA provide collective answers more often, rather than a set of 
  individual answers. It's often not clear if something is a final 
  decision, or the opinion of a DSA member.
+ redirect some discussions from IRC to a mailing list, esp. when 
  things look like policy decisions (on service design, etc)

It would also be helpful to have a document explaining their usual
requirements. It would pro-actively direct the service maintainers towards
choices that are acceptable to DSA.

Things like:
- use PostgreSQL if you need a DB
- keep in mind that DSA likes to ensure high-availability, so make it easy
  to run a replicate of your service
- avoid dependencies not in stable or stable-backports
- avoid X, Y, Z for security reasons
- etc.

 2. to improve the tracking of services
+ request wiki pages from maintainers that detail who are the contact 
  points, what the service does, what are its requirements. State a
  service level agreement (informative of expectations, not punitive,
  of course)
+ have service maintainers create similar pages for services in 
  development, to provide some kind of incubation process during which
  DSA can provide feedback.

This would be good to have but (someone|DSA) would have to prod service
maintainers to get this started, otherwise it will never happen. This
requirement could also be mentioned in the document I suggested earlier.

 3. to provide a place to experiment with new services
+ create a Debian cloud with virtual machines to develop new services
  (maybe providing manually-created VMs would be enough -- I'm not sure we 
  need a complex infra such as OpenStack).

I think we're already close to this at least in terms of creating virtual
machines for new services. I got one created rather easily and several
others were added recently.

That said a Debian cloud for short-lived Debian tasks is still an
interesting ideas, possibly in relation with PPA and having the
possibility to rebuild packages against a PPA.

  Q1. How much should we push for Debian services (services useful to 
  Debian) to be hosted on Debian infrastructure?
 
 Fragmentation in terms of hosting is harmful, and we should all try to
 get our services hosted on Debian infrastructure, because that's the 
 easiest way to ensure that the maintainance of such services can be shared 
 or transferred between developers.
 
 Now, for some services, it seems that doing this has become so hard that 
 it harmed the service itself, and badly demotivated the service 
 maintainers. I don't think that we should allow that to happen. We should 
 stay open to other hosting solutions, when this is necessary.

Having stuff hosted on DSA-managed hardware seems like something important
to me. That said we can't force all services to be ready to meet DSA's
requirements from day 1. So my suggestion would be have DSA allocate VMs
to host services in incubation and keep those services in the .debian.net
umbrella until they are ready.

There's always going to be exceptions (stuff needing so much resource
that it's unrealistic to allocate them out of the current hardware pool)
but that's OK. Those can be dealt on a case by case basis and are likely
to benefit from early interaction with DSA.

  Q2. Should we seek other hosting opportunities to ease Debian services
  development and hosting? Should I authorize the use of Debian money to
  fund infrastructure not managed by DSA, in the case of a useful service
  that DSA has been unable to accept in the infrastructure it manages?
 
 For services development (something for which we don't have a good
 answer yet), I think that we should explore getting specific sponsored
 hosting. As you know, Amazon provides Debian with free credits on the
 AWS Cloud. Those credits are normally used for archive rebuilds, but
 have already been used by a GSOC project (PTS rewrite), and more
 recently, to start work on an archive-wide autopkgtest setup. A few more
 virtual machines could be accomodated, and I will investigate if we
 could extend that even more. Also, codesearch.d.n is hosted on
 Rackspace's 

Re: Debian services and Debian infrastructure

2014-01-05 Thread Enrico Zini
On Sun, Jan 05, 2014 at 12:05:18PM +0100, Raphael Hertzog wrote:

  1. to improve communication between DSA and service maintainers
 + have an archived, public list where (prospective) service maintainers
   can engage with DSA about stuff they are planning/thinking about.
   (Maybe recycle debian-admin@l.d.o, or use debian-services-admin@l.d.o?)
 debian-services-admin@l.d.o seems to be rather appropriate for this (it's
 unlikely that this kind of discussion would generate so much mail that the
 list could no longer serve its current purpose).

debian-services-admin@l.d.o seems to me, too, to be the perfect place
for it.

 It would also be helpful to have a document explaining their usual
 requirements. It would pro-actively direct the service maintainers towards
 choices that are acceptable to DSA.
 
 Things like:
 - use PostgreSQL if you need a DB
 - keep in mind that DSA likes to ensure high-availability, so make it easy
   to run a replicate of your service
 - avoid dependencies not in stable or stable-backports
 - avoid X, Y, Z for security reasons
 - etc.

Also agreed. It sounds to me like a specifications of the production
environment where things will be deployed, and it's something that as a
developer I should see sooner rather than later.

  2. to improve the tracking of services
 + request wiki pages from maintainers that detail who are the contact 
   points, what the service does, what are its requirements. State a
   service level agreement (informative of expectations, not punitive,
   of course)
 + have service maintainers create similar pages for services in 
   development, to provide some kind of incubation process during which
   DSA can provide feedback.
 
 This would be good to have but (someone|DSA) would have to prod service
 maintainers to get this started, otherwise it will never happen. This
 requirement could also be mentioned in the document I suggested earlier.

I think we already have something very close to this description here:
https://wiki.debian.org/Services


Ciao,

Enrico

-- 
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini enr...@enricozini.org


signature.asc
Description: Digital signature


Re: Debian services and Debian infrastructure

2014-01-05 Thread Joerg Jaspert
On 13446 March 1977, Lucas Nussbaum wrote:

 Q1. How much should we push for Debian services (services useful to 
 Debian) to be hosted on Debian infrastructure?

A lot.

 Should I authorize the use of Debian money to fund infrastructure not
 managed by DSA, in the case of a useful service that DSA has been
 unable to accept in the infrastructure it manages?

Like wasting money on essentially dead systems, like m68k?


 However, there has been several episodes, involving the development of new 
 services or their move to Debian infrastructure, that generated a lot of 
 frustration and demotivation on both sides (DSA and service developers).
 As examples, one can think of codesearch, or the fedmsg GSOC project.

From what I followed on some service, a good part of the frustration
came from real unrealistic requirements that just got thrown in front of
DSA. One thing i remember is Oh, we just need fast storage, a recent
SSD is enough [...] its only a hundred or so dollars - which is an easy
thing to say talking about desktop machines where you put one. But DSA
operates on a different level and suddenly putting SSD storage came out
multiple thousand dollars. Not surprising that it wasnt taken all that
good a suggestion.

And another can be summarized to here, take this, no, your ideas aren't
considered, all the rest of the world eats this too, so you have to eat
it also. Makes people love to help you.

 There are also services that have been developed outside of Debian's
 infrastructure, with AFAIK no plans to move them to Debian infrastructure.
 The recurring pattern seems to be that, when DSA is approached to move the 
 service to Debian infrastructure, their evaluation of the service's design
 results in changes requests or constraints that the service maintainers
 consider too hard to satisfy.

And that is a problem. Not directly with DSA, not directly with the
service maintainers, but with the structure of having development of
services done outside the infrastructure it later on should run on and
then blindly assuming that the infrastructure can just take it.

That does not work.

 I'm worried that this situation is harmful for the project.

Yes, seperate development with different requirements than the
production environment is harmful. It's a lesson that every larger
company with an IT Department goes through at some point - and it's
the same for our project.

You need a development environment that is build and handled the same
way as the production environment. Sure you need to evolve that, it may
not stand still, with new requirements coming along, but you need to do
that in close work with the people maintaining the production one, to
ensure that the way thinks evolve is actually something that can be
mirrored in the area it is intended to be run later.

(Alternatively you can have a free-for-all run development and then get
 a third env, in which you then try to get to run the new release in a
 (newer version of the) production env).

 Similarly to how we increased the amount of collaborative packages
 maintainance over the years, we should improve on collaborative
 service maintainance, and we should move away from the myriad of
 unofficial services maintained by a sole DD, and hosted on this DD's
 personal machine.

Oh yes, I don't think anyone will disagree with Services for/around
Debian should be run on official hosted resources.

 1. to improve communication between DSA and service maintainers
+ have an archived, public list where (prospective) service maintainers
  can engage with DSA about stuff they are planning/thinking about.
  (Maybe recycle debian-admin@l.d.o, or use debian-services-admin@l.d.o?)

 + Have service maintainers accept that other people (eg DSA) have
   knowledge too. And accept their input.

+ have DSA provide collective answers more often, rather than a set of 
  individual answers. It's often not clear if something is a final 
  decision, or the opinion of a DSA member.

If it gets a requirement that DSA has to give collective answers and
otherwise should refrain from commenting, then its bad. Also, an
individual DSA answering and giving his opinion shouldn't be a
problem - it only would if the team itself is splitted and you get 5
opinions from 3 people.

 2. to improve the tracking of services
+ request wiki pages from maintainers that detail who are the contact 
  points, what the service does, what are its requirements. State a
  service level agreement (informative of expectations, not punitive,
  of course)
+ have service maintainers create similar pages for services in 
  development, to provide some kind of incubation process during which
  DSA can provide feedback.

 + have service maintainers engage with DSA *early*, as early as
   remotely possible, listen to them and work with them to get
   useful (for both sides) compromises to make the service a good
   guest on Debian 

Re: Debian services and Debian infrastructure

2014-01-05 Thread Stefano Zacchiroli
On Sun, Jan 05, 2014 at 02:28:59PM +0100, Joerg Jaspert wrote:
  Q3. What should be our definition of official services?
  Even if this is highly preferable, I don't think that official services 
  (.d.o services) should necessarily be running on Debian hardware managed
  by DSA, provided that:
  - the service is clearly useful and used
  - the service has a sustainable maintainance model (active team +
instructions on how to contribute, run a local copy, etc. + DFSG-free)
  - the service's design does not raise security or scalability concerns
 
 I disagree on that, official services should run under project
 overview. So far that the project can take it over and move it, should
 all of the team go away. Active team today doesn't mean they are there
 tomorrow to properly hand it over. Having the project itself have
 access (via DSA at least) ensures it can continue.

I very much agree with Joerg on this.

A team like DSA offers to the Debian Project two key features. One,
which is the most visible one, is the technical output and continued
service of a team of talented sysadmins.

The other is the governance guarantee that we, as a project, can always
take over the maintenance of a service whose current maintainers go MIA
or become unwilling to work with the rest of the project for any reason.
As Joerg points out.

I understand that we can come up with a list of requirements that
diminish the risk. This is, I believe, what Lucas was trying to do with
the requirements quoted above. But I think it is much better to
centralize those requirements on a single, DPL-delegated team, than
trying to replicate that to many different, de facto self-proclaimed
teams.

Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  z...@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »


signature.asc
Description: Digital signature


Re: Debian services and Debian infrastructure

2014-01-05 Thread Ean Schuessler
We've implemented OpenNebula here at Brainfood and after having had some
experience with it I would say that having that kind of infrastructure
simplifies management rather than making it more complicated. Having a
bunch of hand baked KVMs running without coordinated migration or shared
storage is a lot more fragile, confusing and slow to work with. For 
instance, if we need to service a machine we can tell OpenNebula to flush
that host and it will automatically balance all the virtual machines
running on that machine to other hosts. That's a big convenience.

I'm sure OpenStack has similar capabilities. We evaluated it along with
a number of other infrastructures and for us OpenNebula was just the
easiest to get going from the stock Debian packages. We also have found
it to be very hackable. A lot of its functionality actually lives in
shell scripts rather than some DSL or Ruby code.

- Lucas Nussbaum lea...@debian.org wrote:

 3. to provide a place to experiment with new services
+ create a Debian cloud with virtual machines to develop new
 services
  (maybe providing manually-created VMs would be enough -- I'm not
 sure we 
  need a complex infra such as OpenStack).


-- 
To UNSUBSCRIBE, email to debian-project-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/27143708.9661388951071865.javamail.r...@newmail.brainfood.com



Re: Debian services and Debian infrastructure

2014-01-05 Thread Joerg Jaspert
On 13447 March 1977, Ean Schuessler wrote:

 3. to provide a place to experiment with new services
+ create a Debian cloud with virtual machines to develop new services
  (maybe providing manually-created VMs would be enough -- I'm not sure 
 we 
  need a complex infra such as OpenStack).
 We've implemented OpenNebula here at Brainfood and after having had some

[opennebula usage description]

Note that DSA is not manually managing each little VM. They do use Ganeti.
I'm not up comparing that to any cloud stuff, but it might do enough
for what is suggested to have.

-- 
bye, Joerg
Some NM:
Essential: Yes -- useful for a message when you do apt-get remove bash:


-- 
To UNSUBSCRIBE, email to debian-project-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87vbxym9lk@gkar.ganneff.de