Page MenuHomePhabricator

Adjust our helm charts to support kubernetes 1.16
Closed, ResolvedPublic

Description

Per T244335 we want to update to at least 1.16. However 1.16 has a number of breaking changes regarding APIs. We need to upgrade our helm charts, however without breaking compatibility with the current kubernetes versions we are currently running, 1.12 and 1.13.

The changelogs are at: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.16.md

The breaking changes summary is at: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

Our charts are at: https://gerrit.wikimedia.org/g/operations/deployment-charts

Event Timeline

akosiaris triaged this task as Medium priority.Apr 10 2020, 2:54 PM
akosiaris created this task.

I tested charts on k8s 1.16 and they work. I ran test on Helm 2 and 3 with conftest to find any old api version and other issues.

Below is output Helm template + conftest

./citoid

10 tests, 10 passed, 0 warnings, 0 failures
./termbox

10 tests, 10 passed, 0 warnings, 0 failures
./mobileapps

12 tests, 12 passed, 0 warnings, 0 failures
./changeprop

12 tests, 12 passed, 0 warnings, 0 failures
./cxserver

12 tests, 12 passed, 0 warnings, 0 failures
./blubberoid

8 tests, 8 passed, 0 warnings, 0 failures
./mediawiki-dev

12 tests, 12 passed, 0 warnings, 0 failures
./mathoid

10 tests, 10 passed, 0 warnings, 0 failures
./kask

10 tests, 10 passed, 0 warnings, 0 failures
./zotero

8 tests, 8 passed, 0 warnings, 0 failures
./wikifeeds

12 tests, 12 passed, 0 warnings, 0 failures
./chromium-render

12 tests, 12 passed, 0 warnings, 0 failures
./eventstreams

14 tests, 14 passed, 0 warnings, 0 failures
./parsoid

12 tests, 12 passed, 0 warnings, 0 failures
./restrouter

12 tests, 12 passed, 0 warnings, 0 failures
./raw

4 tests, 4 passed, 0 warnings, 0 failures
./kafka-dev

8 tests, 8 passed, 0 warnings, 0 failures
./eventgate

14 tests, 14 passed, 0 warnings, 0 failures

Deployed carts on k8s

NAME           	NAMESPACE	REVISION	UPDATED                             	STATUS  	CHART                	APP VERSION
blubberoid     	test     	1       	2020-04-23 11:46:52.607433 +0300 +03	deployed	blubberoid-0.0.21
changeprop     	test     	1       	2020-04-23 11:48:37.332226 +0300 +03	deployed	changeprop-0.9.24
chromium-render	test     	1       	2020-04-23 11:48:53.020545 +0300 +03	deployed	chromium-render-0.0.3
citoid         	test     	1       	2020-04-23 11:48:29.332878 +0300 +03	deployed	citoid-0.0.10
cxserver       	test     	1       	2020-04-23 11:48:40.141266 +0300 +03	deployed	cxserver-0.0.14
eventgate      	test     	1       	2020-04-23 11:49:08.14446 +0300 +03 	deployed	eventgate-0.1.9
eventstreams   	test     	1       	2020-04-23 11:48:55.598979 +0300 +03	deployed	eventstreams-0.1.10
kafka-dev      	test     	1       	2020-04-23 11:49:05.965595 +0300 +03	deployed	kafka-dev-0.0.5
kask           	test     	1       	2020-04-23 11:48:47.895853 +0300 +03	deployed	kask-0.0.9
mathoid        	test     	1       	2020-04-23 11:48:45.526873 +0300 +03	deployed	mathoid-0.0.28
mediawiki-dev  	test     	1       	2020-04-23 11:48:43.0307 +0300 +03  	deployed	mediawiki-dev-0.0.6
mobileapps     	test     	1       	2020-04-23 11:48:34.619898 +0300 +03	deployed	mobileapps-0.0.4
parsoid        	test     	1       	2020-04-23 11:48:58.086162 +0300 +03	deployed	parsoid-0.0.5
raw            	test     	1       	2020-04-23 11:49:04.138028 +0300 +03	deployed	raw-0.2.0            	0.2.0
restrouter     	test     	1       	2020-04-23 11:49:00.683301 +0300 +03	deployed	restrouter-0.0.11
termbox        	test     	1       	2020-04-23 11:48:32.057929 +0300 +03	deployed	termbox-0.0.6
wikifeeds      	test     	1       	2020-04-23 11:46:21.270302 +0300 +03	deployed	wikifeeds-0.0.10
zotero         	test     	1       	2020-04-23 11:48:50.275152 +0300 +03	deployed	zotero-0.0.10

kubernetes version

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.4", GitCommit:"8d8aa39598534325ad77120c120a22b3a990b5ea", GitTreeState:"clean", BuildDate:"2020-03-12T23:41:24Z", GoVersion:"go1.14", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.7", GitCommit:"20c697423de11d4d5d08c6832a513217ca11a6aa", GitTreeState:"clean", BuildDate:"2020-02-21T10:47:45Z", GoVersion:"go1.13.6", Compiler:"gc", Platform:"linux/amd64"}

helm version

version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}

Tested on Helm 3 but will work on Helm 2 as well. As I can see, we don't need to change anything in charts.

Awesome. Really happy that the charts work fine in 1.16 as well, great. I 'll mark that as resolved. Thanks