Kubeadm: Test pinned releases are still accessible

Created on 3 May 2017  路  12Comments  路  Source: kubernetes/kubeadm

In https://github.com/kubernetes/kubeadm/issues/250#issuecomment-296178197, a user suggested adding tests to verify that historic releases are still accessible in package managers.

The other part is that you'd like to see fixed-version tests (which I think is achievable by doing something like apt-get install kubeadm=1.5.6) to make sure older versions are still accessible in the repos and working as intended. Does that sound right?

This could be a corollary of #263.

arereleasing aretesting prioritimportant-longterm

All 12 comments

cc @mikedanese @pipejakob who own the apt/yum repos

@jamiehannaford What should this test look like? Where would it live?
Do you see yourself working on it ;)?

@mikedanese @pipejakob Is it possible to add a new job to prow/config which periodically runs apt/yum commands in distro containers against versioned kubeadm targets?

Something like:

- name: ci-kubeadm-e2e-ubuntu-release
  interval: 24h
  spec:
    containers:
    - args:
      - --timeout=300
      - --bare
      image: ubuntu
      command: apt-get update && apt-get install -y kubeadm-1.4

(just an idea, not sure how feasible)

It's certainly possible with some extra work. :-) If anyone is eager to take this on, I'll do my best to help introduce and guide through the test-infra layers, but I don't have bandwidth for this in the near term.

@pipejakob I can take this on after v1.7 is released

@pipejakob @jessicaochen Do you have bandwidth to help out with this for 1.9? I'm just wondering what such tests would look like apart from periodically performing apt-get

I have bandwidth to review I think. This should basically be a straightforward script verifying that all the latest 3 releases (in this case all v1.6.x, v1.7.x, v1.8.x) have corresponding debs.
e.g. it will query dl.k8s.io/stable.txt, dl.k8s.io/stable-1.7.txt, and so on, and verify all point releases are there as well.

@jamiehannaford do you have time to write such a script/go program?

(this actually belongs more to #sig-release than kubeadm, but...)

@luxas I think I'll have some time next week to take this on

Thanks @jamiehannaford!

@jamiehannaford I think you can add a simple script in kubeadm repo, and in prow we can have a periodic job that checks out kubeadm and runs that script.

@krzyzacy Cool. What roughly needs to be added for prow to check out the kubeadm repo?

for instance, currently we have

- name: ci-kubernetes-e2e-kubeadm-gce
    agent: kubernetes
    spec:
      containers:
      - image: gcr.io/k8s-testimages/e2e-kubeadm:v20171030-e52272c1
        args:
        - "--repo=k8s.io/kubernetes=master"
        - ...

you can also have

- name: ci-kubernetes-e2e-kubeadm-verify-version
    agent: kubernetes
    spec:
      containers:
      - image: gcr.io/k8s-testimages/e2e-kubeadm:v20171030-e52272c1
        args:
        - "--repo=k8s.io/kubernetes-anywhere=master"
        - ...

and in config.json you can run

"ci-kubernetes-e2e-kubeadm-verify-version": {
    "args": [
      "./path/to/your/script.sh"
    ],
    "scenario": "execute",
  },
Was this page helpful?
0 / 5 - 0 ratings