Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
c00fa39e
Commit
c00fa39e
authored
Apr 28, 2016
by
Matt Liggett
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Define PodDisruption API types.
parent
0db3ca4b
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
482 additions
and
1 deletion
+482
-1
main.go
cmd/libs/go2idl/conversion-gen/main.go
+2
-0
main.go
cmd/libs/go2idl/deepcopy-gen/main.go
+2
-0
cmd.go
cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go
+1
-0
test-go.sh
hack/test-go.sh
+1
-1
install.go
pkg/apis/policy/install/install.go
+129
-0
register.go
pkg/apis/policy/register.go
+53
-0
types.go
pkg/apis/policy/types.go
+63
-0
doc.go
pkg/apis/policy/v1alpha1/doc.go
+21
-0
register.go
pkg/apis/policy/v1alpha1/register.go
+48
-0
types.go
pkg/apis/policy/v1alpha1/types.go
+64
-0
validation.go
pkg/apis/policy/validation/validation.go
+34
-0
validation_test.go
pkg/apis/policy/validation/validation_test.go
+62
-0
import_known_versions.go
pkg/client/unversioned/import_known_versions.go
+1
-0
import_known_versions.go
pkg/master/import_known_versions.go
+1
-0
No files found.
cmd/libs/go2idl/conversion-gen/main.go
View file @
c00fa39e
...
...
@@ -45,6 +45,8 @@ func main() {
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/policy"
,
"k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/extensions"
,
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
,
"k8s.io/kubernetes/pkg/apis/metrics"
,
...
...
cmd/libs/go2idl/deepcopy-gen/main.go
View file @
c00fa39e
...
...
@@ -45,6 +45,8 @@ func main() {
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
"k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/policy"
,
"k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/extensions"
,
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
,
"k8s.io/kubernetes/pkg/apis/metrics"
,
...
...
cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go
View file @
c00fa39e
...
...
@@ -66,6 +66,7 @@ func New() *Generator {
`+k8s.io/kubernetes/pkg/watch/versioned`
,
`k8s.io/kubernetes/pkg/api/unversioned`
,
`k8s.io/kubernetes/pkg/api/v1`
,
`k8s.io/kubernetes/pkg/apis/policy/v1alpha1`
,
`k8s.io/kubernetes/pkg/apis/extensions/v1beta1`
,
`k8s.io/kubernetes/pkg/apis/autoscaling/v1`
,
`k8s.io/kubernetes/pkg/apis/batch/v1`
,
...
...
hack/test-go.sh
View file @
c00fa39e
...
...
@@ -58,7 +58,7 @@ KUBE_GOVERALLS_BIN=${KUBE_GOVERALLS_BIN:-}
# Lists of API Versions of each groups that should be tested, groups are
# separated by comma, lists are separated by semicolon. e.g.,
# "v1,compute/v1alpha1,experimental/v1alpha2;v1,compute/v2,experimental/v1alpha3"
KUBE_TEST_API_VERSIONS
=
${
KUBE_TEST_API_VERSIONS
:-
"v1,extensions/v1beta1,metrics/v1alpha1,federation/v1alpha1;v1,autoscaling/v1,batch/v1,extensions/v1beta1,apps/v1alpha1,metrics/v1alpha1,federation/v1alpha1"
}
KUBE_TEST_API_VERSIONS
=
${
KUBE_TEST_API_VERSIONS
:-
"v1,extensions/v1beta1,metrics/v1alpha1,federation/v1alpha1;v1,autoscaling/v1,batch/v1,extensions/v1beta1,apps/v1alpha1,metrics/v1alpha1,federation/v1alpha1
,policy/v1alpha1
"
}
# once we have multiple group supports
# Run tests with the standard (registry) and a custom etcd prefix
# (kubernetes.io/registry).
...
...
pkg/apis/policy/install/install.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2015 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package install installs the experimental API group, making it available as
// an option to all of the API encoding/decoding machinery.
package
install
import
(
"fmt"
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apimachinery"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apis/policy"
"k8s.io/kubernetes/pkg/apis/policy/v1alpha1"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/sets"
)
const
importPrefix
=
"k8s.io/kubernetes/pkg/apis/policy"
var
accessor
=
meta
.
NewAccessor
()
// availableVersions lists all known external versions for this group from most preferred to least preferred
var
availableVersions
=
[]
unversioned
.
GroupVersion
{
v1alpha1
.
SchemeGroupVersion
}
func
init
()
{
registered
.
RegisterVersions
(
availableVersions
)
externalVersions
:=
[]
unversioned
.
GroupVersion
{}
for
_
,
v
:=
range
availableVersions
{
if
registered
.
IsAllowedVersion
(
v
)
{
externalVersions
=
append
(
externalVersions
,
v
)
}
}
if
len
(
externalVersions
)
==
0
{
glog
.
V
(
4
)
.
Infof
(
"No version is registered for group %v"
,
policy
.
GroupName
)
return
}
if
err
:=
registered
.
EnableVersions
(
externalVersions
...
);
err
!=
nil
{
glog
.
V
(
4
)
.
Infof
(
"%v"
,
err
)
return
}
if
err
:=
enableVersions
(
externalVersions
);
err
!=
nil
{
glog
.
V
(
4
)
.
Infof
(
"%v"
,
err
)
return
}
}
// TODO: enableVersions should be centralized rather than spread in each API
// group.
// We can combine registered.RegisterVersions, registered.EnableVersions and
// registered.RegisterGroup once we have moved enableVersions there.
func
enableVersions
(
externalVersions
[]
unversioned
.
GroupVersion
)
error
{
addVersionsToScheme
(
externalVersions
...
)
preferredExternalVersion
:=
externalVersions
[
0
]
groupMeta
:=
apimachinery
.
GroupMeta
{
GroupVersion
:
preferredExternalVersion
,
GroupVersions
:
externalVersions
,
RESTMapper
:
newRESTMapper
(
externalVersions
),
SelfLinker
:
runtime
.
SelfLinker
(
accessor
),
InterfacesFor
:
interfacesFor
,
}
if
err
:=
registered
.
RegisterGroup
(
groupMeta
);
err
!=
nil
{
return
err
}
api
.
RegisterRESTMapper
(
groupMeta
.
RESTMapper
)
return
nil
}
func
newRESTMapper
(
externalVersions
[]
unversioned
.
GroupVersion
)
meta
.
RESTMapper
{
// the list of kinds that are scoped at the root of the api hierarchy
// if a kind is not enumerated here, it is assumed to have a namespace scope
rootScoped
:=
sets
.
NewString
()
ignoredKinds
:=
sets
.
NewString
()
return
api
.
NewDefaultRESTMapper
(
externalVersions
,
interfacesFor
,
importPrefix
,
ignoredKinds
,
rootScoped
)
}
// interfacesFor returns the default Codec and ResourceVersioner for a given version
// string, or an error if the version is not known.
func
interfacesFor
(
version
unversioned
.
GroupVersion
)
(
*
meta
.
VersionInterfaces
,
error
)
{
switch
version
{
case
v1alpha1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
ObjectConvertor
:
api
.
Scheme
,
MetadataAccessor
:
accessor
,
},
nil
default
:
g
,
_
:=
registered
.
Group
(
policy
.
GroupName
)
return
nil
,
fmt
.
Errorf
(
"unsupported storage version: %s (valid: %v)"
,
version
,
g
.
GroupVersions
)
}
}
func
addVersionsToScheme
(
externalVersions
...
unversioned
.
GroupVersion
)
{
// add the internal version to Scheme
policy
.
AddToScheme
(
api
.
Scheme
)
// add the enabled external versions to Scheme
for
_
,
v
:=
range
externalVersions
{
if
!
registered
.
IsEnabledVersion
(
v
)
{
glog
.
Errorf
(
"Version %s is not enabled, so it will not be added to the Scheme."
,
v
)
continue
}
switch
v
{
case
v1alpha1
.
SchemeGroupVersion
:
v1alpha1
.
AddToScheme
(
api
.
Scheme
)
}
}
}
pkg/apis/policy/register.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2015 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
policy
import
(
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
)
// GroupName is the group name use in this package
const
GroupName
=
"policy"
// SchemeGroupVersion is group version used to register these objects
var
SchemeGroupVersion
=
unversioned
.
GroupVersion
{
Group
:
GroupName
,
Version
:
runtime
.
APIVersionInternal
}
// Kind takes an unqualified kind and returns back a Group qualified GroupKind
func
Kind
(
kind
string
)
unversioned
.
GroupKind
{
return
SchemeGroupVersion
.
WithKind
(
kind
)
.
GroupKind
()
}
// Resource takes an unqualified resource and returns back a Group qualified GroupResource
func
Resource
(
resource
string
)
unversioned
.
GroupResource
{
return
SchemeGroupVersion
.
WithResource
(
resource
)
.
GroupResource
()
}
func
AddToScheme
(
scheme
*
runtime
.
Scheme
)
{
// Add the API to Scheme.
addKnownTypes
(
scheme
)
}
// Adds the list of known types to api.Scheme.
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
{
// TODO this gets cleaned up when the types are fixed
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
PodDisruptionBudget
{},
)
}
func
(
obj
*
PodDisruptionBudget
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
pkg/apis/policy/types.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
policy
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/util/intstr"
)
// PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
type
PodDisruptionBudgetSpec
struct
{
// The minimum number of pods that must be available simultaneously. This
// can be either an integer or a string specifying a percentage, e.g. "28%".
MinAvailable
intstr
.
IntOrString
`json:"minAvailable,omitempty"`
// Selector is a label query over pods whose evictions are managed by the
// disruption budget.
Selector
*
unversioned
.
LabelSelector
`json:"selector,omitempty"`
}
// PodDisruptionBudgetStatus represents information about the status of a
// PodDisruptionBudget. Status may trail the actual state of a system.
type
PodDisruptionBudgetStatus
struct
{
// Whether or not a disruption is currently allowed.
PodDisruptionAllowed
bool
`json:"disruptionAllowed"`
// current number of healthy pods
CurrentHealthy
int32
`json:"currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy
int32
`json:"desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods
int32
`json:"expectedPods"`
}
// +genclient=true,noMethods=true
// PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods
type
PodDisruptionBudget
struct
{
unversioned
.
TypeMeta
`json:",inline"`
api
.
ObjectMeta
`json:"metadata,omitempty"`
// Specification of the desired behavior of the PodDisruptionBudget.
Spec
PodDisruptionBudgetSpec
`json:"spec,omitempty"`
// Most recently observed status of the PodDisruptionBudget.
Status
PodDisruptionBudgetStatus
`json:"status,omitempty"`
}
pkg/apis/policy/v1alpha1/doc.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package policy is for any kind of policy object. Suitable examples, even if
// they aren't all here, are PodDisruptionBudget, PodSecurityPolicy,
// NetworkPolicy, etc.
// +genconversion=true
package
v1alpha1
pkg/apis/policy/v1alpha1/register.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2015 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
v1alpha1
import
(
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"
versionedwatch
"k8s.io/kubernetes/pkg/watch/versioned"
)
// GroupName is the group name use in this package
const
GroupName
=
"policy"
// SchemeGroupVersion is group version used to register these objects
var
SchemeGroupVersion
=
unversioned
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v1alpha1"
}
func
AddToScheme
(
scheme
*
runtime
.
Scheme
)
{
addKnownTypes
(
scheme
)
/*
addDefaultingFuncs(scheme)
addConversionFuncs(scheme)
*/
}
// Adds the list of known types to api.Scheme.
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
PodDisruptionBudget
{},
)
// Add the watch version that applies
versionedwatch
.
AddToGroupVersion
(
scheme
,
SchemeGroupVersion
)
}
func
(
obj
*
PodDisruptionBudget
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
pkg/apis/policy/v1alpha1/types.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
v1alpha1
import
(
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/util/intstr"
)
// PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
type
PodDisruptionBudgetSpec
struct
{
// The minimum number of pods that must be available simultaneously. This
// can be either an integer or a string specifying a percentage, e.g. "28%".
MinAvailable
intstr
.
IntOrString
`json:"minAvailable,omitempty"`
// Selector is a label query over pods whose evictions are managed by the
// disruption budget.
Selector
*
unversioned
.
LabelSelector
`json:"selector,omitempty"`
}
// PodDisruptionBudgetStatus represents information about the status of a
// PodDisruptionBudget. Status may trail the actual state of a system.
type
PodDisruptionBudgetStatus
struct
{
// Whether or not a disruption is currently allowed.
PodDisruptionAllowed
bool
`json:"disruptionAllowed"`
// current number of healthy pods
CurrentHealthy
int32
`json:"currentHealthy"`
// minimum desired number of healthy pods
DesiredHealthy
int32
`json:"desiredHealthy"`
// total number of pods counted by this disruption budget
ExpectedPods
int32
`json:"expectedPods"`
}
// +genclient=true,noMethods=true
// PodDisruptionBudget is an object to define the max disruption that can be caused to a collection of pods
type
PodDisruptionBudget
struct
{
unversioned
.
TypeMeta
`json:",inline"`
v1
.
ObjectMeta
`json:"metadata,omitempty"`
// Specification of the desired behavior of the PodDisruptionBudget.
Spec
PodDisruptionBudgetSpec
`json:"spec,omitempty"`
// Most recently observed status of the PodDisruptionBudget.
Status
PodDisruptionBudgetStatus
`json:"status,omitempty"`
}
pkg/apis/policy/validation/validation.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
validation
import
(
unversionedvalidation
"k8s.io/kubernetes/pkg/api/unversioned/validation"
extensionsvalidation
"k8s.io/kubernetes/pkg/apis/extensions/validation"
"k8s.io/kubernetes/pkg/apis/policy"
"k8s.io/kubernetes/pkg/util/validation/field"
)
func
ValidatePodDisruptionBudgetSpec
(
spec
policy
.
PodDisruptionBudgetSpec
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
allErrs
:=
field
.
ErrorList
{}
allErrs
=
append
(
allErrs
,
extensionsvalidation
.
ValidatePositiveIntOrPercent
(
spec
.
MinAvailable
,
fldPath
.
Child
(
"minAvailable"
))
...
)
allErrs
=
append
(
allErrs
,
extensionsvalidation
.
IsNotMoreThan100Percent
(
spec
.
MinAvailable
,
fldPath
.
Child
(
"minAvailable"
))
...
)
allErrs
=
append
(
allErrs
,
unversionedvalidation
.
ValidateLabelSelector
(
spec
.
Selector
,
fldPath
.
Child
(
"selector"
))
...
)
return
allErrs
}
pkg/apis/policy/validation/validation_test.go
0 → 100644
View file @
c00fa39e
/*
Copyright 2016 The Kubernetes Authors All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package
validation
import
(
"testing"
"k8s.io/kubernetes/pkg/apis/policy"
"k8s.io/kubernetes/pkg/util/intstr"
"k8s.io/kubernetes/pkg/util/validation/field"
)
func
TestValidatePodDisruptionBudgetSpec
(
t
*
testing
.
T
)
{
successCases
:=
[]
intstr
.
IntOrString
{
intstr
.
FromString
(
"0%"
),
intstr
.
FromString
(
"1%"
),
intstr
.
FromString
(
"100%"
),
intstr
.
FromInt
(
0
),
intstr
.
FromInt
(
1
),
intstr
.
FromInt
(
100
),
}
for
_
,
c
:=
range
successCases
{
spec
:=
policy
.
PodDisruptionBudgetSpec
{
MinAvailable
:
c
,
}
errs
:=
ValidatePodDisruptionBudgetSpec
(
spec
,
field
.
NewPath
(
"foo"
))
if
len
(
errs
)
!=
0
{
t
.
Errorf
(
"unexpected failure %v for %v"
,
errs
,
spec
)
}
}
failureCases
:=
[]
intstr
.
IntOrString
{
intstr
.
FromString
(
"1.1%"
),
intstr
.
FromString
(
"nope"
),
intstr
.
FromString
(
"-1%"
),
intstr
.
FromString
(
"101%"
),
intstr
.
FromInt
(
-
1
),
}
for
_
,
c
:=
range
failureCases
{
spec
:=
policy
.
PodDisruptionBudgetSpec
{
MinAvailable
:
c
,
}
errs
:=
ValidatePodDisruptionBudgetSpec
(
spec
,
field
.
NewPath
(
"foo"
))
if
len
(
errs
)
==
0
{
t
.
Errorf
(
"unexpected success for %v"
,
spec
)
}
}
}
pkg/client/unversioned/import_known_versions.go
View file @
c00fa39e
...
...
@@ -29,6 +29,7 @@ import (
_
"k8s.io/kubernetes/pkg/apis/componentconfig/install"
_
"k8s.io/kubernetes/pkg/apis/extensions/install"
_
"k8s.io/kubernetes/pkg/apis/metrics/install"
_
"k8s.io/kubernetes/pkg/apis/policy/install"
)
func
init
()
{
...
...
pkg/master/import_known_versions.go
View file @
c00fa39e
...
...
@@ -28,6 +28,7 @@ import (
_
"k8s.io/kubernetes/pkg/apis/batch/install"
_
"k8s.io/kubernetes/pkg/apis/componentconfig/install"
_
"k8s.io/kubernetes/pkg/apis/extensions/install"
_
"k8s.io/kubernetes/pkg/apis/policy/install"
)
func
init
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment