[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Origin Kubernetes rebased

Hi everyone,

  A new rebase of Kubernetes landed in Origin master earlier today. The rebase includes, between a lot of other fixes and minor additions:


  - The `createall` command was removed and `create` now supports a filename, directory or URL to file as input.

  - Basic admission control framework introduced as a plugin[1].

  - .kubeconfig files were introduced in Kubernetes[2] to allow support to multiple clusters, authentication information and other general preferences. This is going to be refined specifically to the Origin needs and introduced in a couple weeks.

Under The Hood

  - Kubernetes landed v1beta3. This is not final, a few more changes are expected until the launch of v1. One of the major changes is that resource names are lowercase starting in v1beta3 - e.g. 'replicationcontrollers'. While Origin is still in v1beta1 so still camelCase, clients must explicitly require camelCase support through the client config `LegacyBehavior = true`[3].

  - RESTClient changed to a more semantic approach. The previous `Path` becomes obsolete in favor of the new methods `Prefix`, `Resource` and `Name`. These should preferably be used only once when building the path to an api endpoint. `Namespace` was already available and should still be used[4].

  - Resource functionality is now under its own package (`pkg/kubectl/resource`) and features additional flexibility to allow multi-type retrieval and access, directories, URLs, nested objects, and lists.

  - Deep equality checks for api objects (serialization) moved from plain `reflect` to `pkg/api`[5].

  - New package `pkg/util/errors`.

All tests are passing correctly, but let us know if you notice any problems.


Fabiano Franz 

[1] https://github.com/openshift/origin/blob/master/pkg/cmd/server/start.go#L263
[2] https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/kubeconfig-file.md
[3] https://github.com/openshift/origin/blob/master/pkg/client/client.go#L92
[4] https://github.com/openshift/origin/blob/master/pkg/client/images.go#L52
[5] https://github.com/GoogleCloudPlatform/kubernetes/blob/master/pkg/api/helpers.go#L45

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]