Page MenuHomePhabricator

Figure out future for newly created deployment-prep jessie instances
Open, Needs TriagePublic

Description

So (per post to cloud-announce) jessie instance creation is disabled (see T218119: Disable jessie VM creation in VPS). However, deployment-sessionstore01 and deployment-eventgate-analytics-1 were recently created, using jessie. That can only be a short-term solution as jessie is scheduled for deprecation next year.
For the purposes of this task I assume older jessie instances were just created long enough ago that stretch was not an option, so just need a more trivial migration. These ones seem to have been done deliberately with jessie so may need more thought.

Event Timeline

Krenair created this task.Mar 18 2019, 9:26 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptMar 18 2019, 9:26 PM
<Krenair> ottomata, hi, I was wondering if you made deployment-eventgate-analytics-1 be jessie for any particular reason
<Krenair> is this mirroring a prod jessie setup?
<Krenair> just looking at the recent jessie instance creations in deployment-prep
<ottomata> Krenair:  it uses the docker_service stuff
<ottomata> so it runs docker machine
<ottomata> which iiuc is not avialable in stretch
<Krenair> ok
<Krenair> are you likely to need to make another in the future?
<ottomata> its possible ya, 
<Krenair> well
<ottomata> urandom just made one too
<ottomata> for another service
<Krenair> I saw, hadn't got to that yet
<Krenair> the thing is they're about to disable (may have already disabled?) jessie instance creation
<Krenair> so new things should be stretch
<Krenair> and existing things will need to be ported in order to have a future
<ottomata> https://github.com/wikimedia/puppet/blob/73aabd204810f1ba9212431cf84b220dfedb7340/modules/profile/manifests/docker/engine.pp
<ottomata> it look slike there is some stretch special casing in there
<ottomata> i don't remember exactly, but it didn't work
<ottomata> need to ping _joe_ on that one I think
<Krenair> ok
<ottomata> Krenair:  ah i have a message from urandom a few days ago
<ottomata> "for point of reference, the reason a docker_services using VM must be jessie is because it relies on the docker-engine package in jessie"

Jessie creation is now disabled in most projects (including deployment-prep). I'd prefer to leave it that way in order to provide some mild resistance to new Jessie VMs showing up in the cloud.

That said, enabling it for creation of select special VMs is easy -- just ping me and remind me that I documented how to do it in T218119.

Krenair updated the task description. (Show Details)Mar 19 2019, 7:30 PM
Krenair added a comment.EditedApr 17 2019, 7:59 PM

Jessie creation is now disabled in most projects (including deployment-prep). I'd prefer to leave it that way in order to provide some mild resistance to new Jessie VMs showing up in the cloud.

That said, enabling it for creation of select special VMs is easy -- just ping me and remind me that I documented how to do it in T218119.

I'd ask that that not be permitted within deployment-prep unless the intent is to specifically mirror an existing production setup that is using jessie. In such a case it could be enabled for just long enough to make the approved instance and then removed again. This is so we'd avoid people accidentally creating jessie instances where the implications involved are unknown, and to prevent someone who's tried stretch and had problems making something work simply switching to jessie and kicking the migration can down the road/over to someone else.
https://wikitech.wikimedia.org/wiki/Operating_system_upgrade_policy#Policy_proposal - while still technically a proposal, I expect it will get approved largely as-is - lists jessie as deprecated since a year ago.

Joe added a comment.May 9 2019, 11:49 AM

I don't really know why stretch won't work, are we sure that's the case?

I can't remember exactly, but it didn't when I tried months ago. We should try again.

Joe added a comment.May 9 2019, 3:21 PM

Ok so I can now confirm:

this all works on stretch. I've successfully installed deployment-docker-mathoid01 with stretch and managed to make mathoid run there:

deployment-docker-mathoid01:~$ curl -s localhost:10044/_info | jq .
{
  "name": "mathoid",
  "version": "0.7.1",
  "description": "Render TeX to SVG and MathML using MathJax. Based on svgtex.",
  "home": "https://github.com/wikimedia/mathoid"
}
Joe added a comment.May 9 2019, 3:21 PM

The only caveat is that apparently you need to rrun puppet once, run apt-get update, run puppet again to make it work.

GREAT I just made a stretch instance deployment-eventgate-1, and will move eventgate-analytics there. I will also run eventgate-main there in a different container, but I need to use the same image for both!

https://gerrit.wikimedia.org/r/c/operations/puppet/+/509141

I verified that this works. I had to run puppet, apt-get update, run puppet, and then run puppet again before it worked, but it did! :)

@Eevans as creator of deployment-sessionstore01 please can you take care of that one per the above?

Krenair assigned this task to Eevans.May 15 2019, 6:58 PM

I made deployment-sessionstore02 for it but couldn't get cassandra to work yet.

I pressed some buttons and it started. Success?