Use containerd version returned by version service.

Signed-off-by: Lantao Liu <lantaol@google.com>
This commit is contained in:
Lantao Liu 2017-06-07 22:03:55 +00:00
parent d0949687b4
commit f770d4fea3
2 changed files with 14 additions and 12 deletions

View File

@ -28,23 +28,20 @@ import (
const (
containerName = "containerd"
containerdAPIVersion = "0.0.0"
containerdVersion = "0.0.0"
// kubeAPIVersion is the api version of kubernetes.
kubeAPIVersion = "0.1.0"
)
// Version returns the runtime name, runtime version and runtime API version.
func (c *criContainerdService) Version(ctx context.Context, r *runtime.VersionRequest) (*runtime.VersionResponse, error) {
_, err := c.versionService.Version(ctx, &empty.Empty{})
resp, err := c.versionService.Version(ctx, &empty.Empty{})
if err != nil {
return nil, fmt.Errorf("failed to get containerd version: %v", err)
}
return &runtime.VersionResponse{
Version: kubeAPIVersion,
RuntimeName: containerName,
// Containerd doesn't return semver because of a bug.
// TODO(random-liu): Replace this with version from containerd.
RuntimeVersion: containerdVersion,
RuntimeVersion: resp.Version,
// Containerd doesn't have an api version now.
RuntimeApiVersion: containerdAPIVersion,
}, nil

View File

@ -38,6 +38,7 @@ func TestVersion(t *testing.T) {
versionRes *versionapi.VersionResponse
versionErr error
expectErr bool
expectedVersion string
}{
"should return error if containerd version returns error": {
versionErr: errors.New("random error"),
@ -55,7 +56,11 @@ func TestVersion(t *testing.T) {
mock.EXPECT().Version(ctx, &empty.Empty{}).Return(test.versionRes, test.versionErr)
c.versionService = mock
_, err := c.Version(ctx, &runtime.VersionRequest{})
v, err := c.Version(ctx, &runtime.VersionRequest{})
if test.expectErr {
assert.Equal(t, test.expectErr, err != nil)
} else {
assert.Equal(t, test.versionRes.Version, v.RuntimeVersion)
}
}
}