Skip to content
This repository has been archived by the owner on Feb 8, 2021. It is now read-only.

Changes after k8s 1.3.0

harry edited this page Aug 16, 2016 · 2 revisions

Welcome to the hypernetes wiki!

Changes after rebase to kubernetes 1.3.0

1. Dependencies

Hypernetes currently use hyperhq/cadvisor@8035669, but in Godeps/Godeps.json, k8s 1.3 specified google/cadvisor@4dbefc9. Here's how we build Godeps vendor:

  • godep restore
  • checkout $GOPATH/src/github.com/google/cadvisor into hyperhq/cadvisor@8035669, code & test
  • godep save ./...
  • make sure cadvisor in Godeps/Godeps.json has been changed to 8035669
  • copy all files in $GOPATH/src/github.com/google/cadvisor, exclude *_test.go, docs to vendor/cadvisor

Done

2. Volume management

Kubernetes 1.3.0 added a independent attach/detach controller to deal with disk attachment in pkg/controller/volume/reconciler/reconciler.go, all attach/mount operations are defined in pkg/volume/util/operationexecutor/operation_executor.go.

But in our cinder volume plugin, the reconciler will be omitted since it requires OpenStack provider, so no cinder.attacher will be initilized. Instead, cinder disk will be attached during next step in reconciler, aka, cinder.SetUp, with the help of cinder.manager. This will be refactored in upstream, see: https://github.com/kubernetes/kubernetes/commit/d1e0a139243b4bc7826f760ac492e76c4bd209b9

Another thing is that cleanupOrphanedVolumes in kubelet has been removed, since pkg/kubelet/volume/reconciler/reconciler.go will manager the lifecycle of volumes.