Page MenuHomePhabricator

Request creation of indico VPS project
Closed, ResolvedPublic

Description

Project Name: indico

Wikitech Usernames of requestors: Jean-Frédéric

Purpose: T210951: Evaluate Indico as submission software for Wikimania

Brief description: The Wikimania team has decided to look into alternatives to Wikis and EasyChair to manage Wikimania submissions. They have identified Indico as a strong contender. @Wittylama has asked me to look into deploying an instance of Indico on the Wikimedia Cloud.

Indico is a web application, licensed under GPL-3.0. The frontend is AngularJS. The backend is Python (package available on Pypi). It is built on the Flask microframework, running with UWSGI. The application relies on Celery, Redis and PostgreSQL. It is to be deployed behind either Nginx or Apache. Other dependencies include LaTeX (!). There is a docker-compose setup available, but not recommended for production usage.

How soon you are hoping this can be fulfilled: well, I was hoping to investigate this during the holiday season ; but I dragged making that request and now we are in holiday season so… ;-) I’d say, as soon as someone can have a look, the earlier the better but there is no hard deadline either

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptDec 23 2018, 10:21 AM

but not recommended for production usage.

If decisions are being made on that basis I would suggest a Cloud VPS project is not what you are looking for.

JeanFred added a comment.EditedDec 23 2018, 10:51 AM

but not recommended for production usage.

If decisions are being made on that basis I would suggest a Cloud VPS project is not what you are looking for.

There is a docker-compose setup available, but not recommended for production usage.

To clarify further: the docker-compose setup is not recommended for production ; the Indico software itself is production-used (at least at CERN, its original developers).

Right but my point is Cloud VPS is not intended for production usage.

Right but my point is Cloud VPS is not intended for production usage.

Ah I see.

First-off to have this discussion (which is getting slightly off topic but I don’t mind :) we’d need a shared understanding of what « production usage » is − is there a definition of what “production” means in the Wikimedia [Cloud] context?

Assuming we have a similar understanding of the term: sorry if I gave the opposite impression but I don’t expect this to be production-usage (neither, frankly, do I wish for it). The purpose is, as stated, to « Evaluate Indico for use by the Wikimania team ».

I was mentioning in my original research in T210952 because the Wikitech documentation about Cloud VPS talks about it: the Cloud VPS Portal makes prominent mention of Help:Development recommendations for easily moving to production − which I interpreted as, it may be against Cloud VPS best practices to use the Indico docker-compose setup.

Does this clarify my request?

Right but my point is Cloud VPS is not intended for production usage.

[citation needed]. To me near-production-grade tools on Cloud VPS is part of both mw:Wikimedia_Cloud_Services_team/Our_audiences (Software developers will use Toolforge (and occasionally Cloud VPS) to host tools they have developed. [...] have needs comparable to production-grade software even if they are not in WMF production.) and wikitech:Help:Labs_labs_labs/future (Reliable Cloud Hosting). Could you state the reasoning or references of your claim of not-intended-for-production?

Also, if that is indeed the case, do you have any recommendation on an alternative?

Krenair added a comment.EditedDec 23 2018, 8:04 PM

getting slightly off topic

This is a task requesting creation of a Cloud VPS project. Discussion over whether it is an appropriate use of Cloud VPS, and setting expectations for what Cloud VPS provides, is entirely on-topic.

we’d need a shared understanding of what « production usage » is − is there a definition of what “production” means in the Wikimedia [Cloud] context?

The two things are considered to be mutually exclusive. Instances running in Cloud VPS (and anything depending on them) are not production pretty much by definition.

Assuming we have a similar understanding of the term: sorry if I gave the opposite impression but I don’t expect this to be production-usage (neither, frankly, do I wish for it). The purpose is, as stated, to « Evaluate Indico for use by the Wikimania team ».

Ooohh right so this is just about doing the evaluation inside Cloud VPS, therefore the software for evaluation should be chosen on the basis of production-worthiness even if the infrastructure it's being trialed on top of need not be? Sounds good to me.

Does this clarify my request?

I think so.

getting slightly off topic

This is a task requesting creation of a Cloud VPS project. Discussion over whether it is an appropriate use of Cloud VPS, and setting expectations for what Cloud VPS provides, is entirely on-topic.

Of course, and apologies for being unclear again: I meant that I believe that « defining what is production » is beyond the scope of this task. If this is a term that is being used to assess the VPS project requests, then I think there should be a clear, shared definition of it − I guess on the Wikitech wiki.

we’d need a shared understanding of what « production usage » is − is there a definition of what “production” means in the Wikimedia [Cloud] context?

The two things are considered to be mutually exclusive. Instances running in Cloud VPS (and anything depending on them) are not production pretty much by definition.

Okay, I get that ; however this is hardly helpful when deciding whether a particular service/use case belongs on Cloud VPS or somewhere else. :)

Assuming we have a similar understanding of the term: sorry if I gave the opposite impression but I don’t expect this to be production-usage (neither, frankly, do I wish for it). The purpose is, as stated, to « Evaluate Indico for use by the Wikimania team ».

Ooohh right so this is just about doing the evaluation inside Cloud VPS, therefore the software for evaluation should be chosen on the basis of production-worthiness even if the infrastructure it's being trialed on top of need not be? Sounds good to me.

Cool, thanks for discussing this and helping to clarify the request :)

bd808 added a subscriber: bd808.Dec 27 2018, 2:52 AM

@JeanFred, I have a few, hopefully simple, questions:

  • Is https://sandbox.getindico.io/ suitable for evaluation of the feature set of the application?
  • Do you expect this to be a short lived project just for evaluation of the software or is it likely that following evaluation the project will continue to exist to operate an indico deployment related to Wikimania 2019?
    • If this is intended to be a short lived project, do you have any plans/ideas yet about how indico would actually be deployed to support Wikimania 2019?

A quick look at the upstream installation guide makes me think that getting this application security reviewed, packaged, and deployed in the Wikimedia production network will be a large amount of work and require cooperation from the SRE and likely Release Engineering teams. These are not reasons not to evaluate the application, but I think that expectations of the desired outcome should be set reasonably from the start of this work.

bd808 changed the task status from Open to Stalled.Jan 6 2019, 10:38 PM

Waiting for a reply to T212573#4843949 from @JeanFred

JeanFred changed the task status from Stalled to Open.Jan 7 2019, 9:11 PM

Sorry for the lag, I somehow missed the notification for your previous message :)

@JeanFred, I have a few, hopefully simple, questions:

Thanks for looking into this request :)

My understanding from @Wittylama is that the sandbox was good enough to get a feel that the application would be a good fit, but that a dedicated instance where they could experiment more, and maybe do some level of customization (mainly OAuth, maybe small stuff like changing CSS for Wikimedia colors […]) would be needed for them to make progress.

  • Do you expect this to be a short lived project just for evaluation of the software or is it likely that following evaluation the project will continue to exist to operate an indico deployment related to Wikimania 2019?
    • If this is intended to be a short lived project, do you have any plans/ideas yet about how indico would actually be deployed to support Wikimania 2019?

So… If the Wikimania team hates the result (based on the VPS deployment), then it will be short-lived ;-) If they like it, and decide to actually use it for Wikimania 2019, then yes I would expect that the VPS instance would be used for that purpose − unless I myself decide that administering the VPS Indico instance is too much for me, and they cannot find someone else to do it.

I don’t think there is, at the moment, any plan for this application to ever 'graduate' from VPS to production cluster − that would likely be beyond the scope of my own volunteering, and (as I understand/guess) quite likely beyond the WMF resources that the Wikimania team could request/secure. I don’t think the stakeholders (=the Wikimania team) care much where their Indico instance would run. My own take is that there are plenty of somewhat important/highly-used/critical tools running on VPS (after all, QuickStatements runs on Toolforge ;-) so that I don’t necessarily see the need to graduate things from VPS to the prod cluster (is that even a thing  − I know about and mentioned this page earlier but I wonder whether how often that happens − at least for projects not initiated by WMF staff). But my understanding may well be mistaken there − please do correct me if I’m off mark :)

A quick look at the upstream installation guide makes me think that getting this application security reviewed, packaged, and deployed in the Wikimedia production network will be a large amount of work and require cooperation from the SRE and likely Release Engineering teams. These are not reasons not to evaluate the application, but I think that expectations of the desired outcome should be set reasonably from the start of this work.

Agree with that assessment. To make it clear, at that point, I don’t expect to request Indico to be moved to the prod cluster, nor do I expect the Wikimania team to request that either (unless they would state otherwise now)

bd808 added a comment.Jan 8 2019, 4:42 PM

+1 for creation

+1 for creation for testing. Perhaps iron out the production issues later?

If this is indeed found to be desirable for Wikimania submissions, we can discuss whether an external hosted environment would be more appropriate.

Bstorm closed this task as Resolved.Jan 17 2019, 12:00 AM
Bstorm claimed this task.
Bstorm added a subscriber: Bstorm.

I've created the project. @JeanFred should see it in https://horizon.wikimedia.org/ now.