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
ea207540
Commit
ea207540
authored
Feb 24, 2016
by
Piotr Szczesniak
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed cluster autoscaler types frome extensions/v1beta1
parent
9c1d8bf9
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
281 deletions
+0
-281
register.go
pkg/apis/extensions/register.go
+0
-4
types.go
pkg/apis/extensions/types.go
+0
-61
register.go
pkg/apis/extensions/v1beta1/register.go
+0
-4
types.go
pkg/apis/extensions/v1beta1/types.go
+0
-61
validation.go
pkg/apis/extensions/validation/validation.go
+0
-37
validation_test.go
pkg/apis/extensions/validation/validation_test.go
+0
-114
No files found.
pkg/apis/extensions/register.go
View file @
ea207540
...
...
@@ -47,8 +47,6 @@ func AddToScheme(scheme *runtime.Scheme) {
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
{
// TODO this gets cleaned up when the types are fixed
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
ClusterAutoscaler
{},
&
ClusterAutoscalerList
{},
&
Deployment
{},
&
DeploymentList
{},
&
DeploymentRollback
{},
...
...
@@ -75,8 +73,6 @@ func addKnownTypes(scheme *runtime.Scheme) {
)
}
func
(
obj
*
ClusterAutoscaler
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
ClusterAutoscalerList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
Deployment
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
DeploymentList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
DeploymentRollback
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
...
...
pkg/apis/extensions/types.go
View file @
ea207540
...
...
@@ -753,67 +753,6 @@ type IngressBackend struct {
ServicePort
intstr
.
IntOrString
`json:"servicePort"`
}
type
NodeResource
string
const
(
// Percentage of node's CPUs that is currently used.
CpuConsumption
NodeResource
=
"CpuConsumption"
// Percentage of node's CPUs that is currently requested for pods.
CpuRequest
NodeResource
=
"CpuRequest"
// Percentage od node's memory that is currently used.
MemConsumption
NodeResource
=
"MemConsumption"
// Percentage of node's CPUs that is currently requested for pods.
MemRequest
NodeResource
=
"MemRequest"
)
// NodeUtilization describes what percentage of a particular resource is used on a node.
type
NodeUtilization
struct
{
Resource
NodeResource
`json:"resource"`
// The accepted values are from 0 to 1.
Value
float64
`json:"value"`
}
// Configuration of the Cluster Autoscaler
type
ClusterAutoscalerSpec
struct
{
// Minimum number of nodes that the cluster should have.
MinNodes
int
`json:"minNodes"`
// Maximum number of nodes that the cluster should have.
MaxNodes
int
`json:"maxNodes"`
// Target average utilization of the cluster nodes. New nodes will be added if one of the
// targets is exceeded. Cluster size will be decreased if the current utilization is too low
// for all targets.
TargetUtilization
[]
NodeUtilization
`json:"target"`
}
type
ClusterAutoscaler
struct
{
unversioned
.
TypeMeta
`json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// For now (experimental api) it is required that the name is set to "ClusterAutoscaler" and namespace is "default".
api
.
ObjectMeta
`json:"metadata,omitempty"`
// Spec defines the desired behavior of this daemon set.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Spec
ClusterAutoscalerSpec
`json:"spec,omitempty"`
}
// There will be just one (or none) ClusterAutoscaler.
type
ClusterAutoscalerList
struct
{
unversioned
.
TypeMeta
`json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
unversioned
.
ListMeta
`json:"metadata,omitempty"`
Items
[]
ClusterAutoscaler
`json:"items"`
}
// +genclient=true
// ReplicaSet represents the configuration of a replica set.
...
...
pkg/apis/extensions/v1beta1/register.go
View file @
ea207540
...
...
@@ -37,8 +37,6 @@ func AddToScheme(scheme *runtime.Scheme) {
// Adds the list of known types to api.Scheme.
func
addKnownTypes
(
scheme
*
runtime
.
Scheme
)
{
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
ClusterAutoscaler
{},
&
ClusterAutoscalerList
{},
&
Deployment
{},
&
DeploymentList
{},
&
DeploymentRollback
{},
...
...
@@ -65,8 +63,6 @@ func addKnownTypes(scheme *runtime.Scheme) {
)
}
func
(
obj
*
ClusterAutoscaler
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
ClusterAutoscalerList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
Deployment
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
DeploymentList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
DeploymentRollback
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
...
...
pkg/apis/extensions/v1beta1/types.go
View file @
ea207540
...
...
@@ -763,67 +763,6 @@ type IngressBackend struct {
ServicePort
intstr
.
IntOrString
`json:"servicePort"`
}
type
NodeResource
string
const
(
// Percentage of node's CPUs that is currently used.
CpuConsumption
NodeResource
=
"CpuConsumption"
// Percentage of node's CPUs that is currently requested for pods.
CpuRequest
NodeResource
=
"CpuRequest"
// Percentage od node's memory that is currently used.
MemConsumption
NodeResource
=
"MemConsumption"
// Percentage of node's CPUs that is currently requested for pods.
MemRequest
NodeResource
=
"MemRequest"
)
// NodeUtilization describes what percentage of a particular resource is used on a node.
type
NodeUtilization
struct
{
Resource
NodeResource
`json:"resource"`
// The accepted values are from 0 to 1.
Value
float64
`json:"value"`
}
// Configuration of the Cluster Autoscaler
type
ClusterAutoscalerSpec
struct
{
// Minimum number of nodes that the cluster should have.
MinNodes
int32
`json:"minNodes"`
// Maximum number of nodes that the cluster should have.
MaxNodes
int32
`json:"maxNodes"`
// Target average utilization of the cluster nodes. New nodes will be added if one of the
// targets is exceeded. Cluster size will be decreased if the current utilization is too low
// for all targets.
TargetUtilization
[]
NodeUtilization
`json:"target"`
}
type
ClusterAutoscaler
struct
{
unversioned
.
TypeMeta
`json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
// For now (experimental api) it is required that the name is set to "ClusterAutoscaler" and namespace is "default".
v1
.
ObjectMeta
`json:"metadata,omitempty"`
// Spec defines the desired behavior of this daemon set.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Spec
ClusterAutoscalerSpec
`json:"spec,omitempty"`
}
// There will be just one (or none) ClusterAutoscaler.
type
ClusterAutoscalerList
struct
{
unversioned
.
TypeMeta
`json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
unversioned
.
ListMeta
`json:"metadata,omitempty"`
Items
[]
ClusterAutoscaler
`json:"items"`
}
// ExportOptions is the query options to the standard REST get call.
type
ExportOptions
struct
{
unversioned
.
TypeMeta
`json:",inline"`
...
...
pkg/apis/extensions/validation/validation.go
View file @
ea207540
...
...
@@ -594,43 +594,6 @@ func validateIngressBackend(backend *extensions.IngressBackend, fldPath *field.P
return
allErrs
}
func
validateClusterAutoscalerSpec
(
spec
extensions
.
ClusterAutoscalerSpec
,
fldPath
*
field
.
Path
)
field
.
ErrorList
{
allErrs
:=
field
.
ErrorList
{}
if
spec
.
MinNodes
<
0
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"minNodes"
),
spec
.
MinNodes
,
"must be greater than or equal to 0"
))
}
if
spec
.
MaxNodes
<
spec
.
MinNodes
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"maxNodes"
),
spec
.
MaxNodes
,
"must be greater than or equal to `minNodes`"
))
}
if
len
(
spec
.
TargetUtilization
)
==
0
{
allErrs
=
append
(
allErrs
,
field
.
Required
(
fldPath
.
Child
(
"targetUtilization"
),
""
))
}
for
_
,
target
:=
range
spec
.
TargetUtilization
{
if
len
(
target
.
Resource
)
==
0
{
allErrs
=
append
(
allErrs
,
field
.
Required
(
fldPath
.
Child
(
"targetUtilization"
,
"resource"
),
""
))
}
if
target
.
Value
<=
0
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"targetUtilization"
,
"value"
),
target
.
Value
,
"must be greater than 0"
))
}
if
target
.
Value
>
1
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
fldPath
.
Child
(
"targetUtilization"
,
"value"
),
target
.
Value
,
"must be less than or equal to 1"
))
}
}
return
allErrs
}
func
ValidateClusterAutoscaler
(
autoscaler
*
extensions
.
ClusterAutoscaler
)
field
.
ErrorList
{
allErrs
:=
field
.
ErrorList
{}
if
autoscaler
.
Name
!=
"ClusterAutoscaler"
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
field
.
NewPath
(
"metadata"
,
"name"
),
autoscaler
.
Name
,
"must be 'ClusterAutoscaler'"
))
}
if
autoscaler
.
Namespace
!=
api
.
NamespaceDefault
{
allErrs
=
append
(
allErrs
,
field
.
Invalid
(
field
.
NewPath
(
"metadata"
,
"namespace"
),
autoscaler
.
Namespace
,
"must be 'default'"
))
}
allErrs
=
append
(
allErrs
,
validateClusterAutoscalerSpec
(
autoscaler
.
Spec
,
field
.
NewPath
(
"spec"
))
...
)
return
allErrs
}
func
ValidateScale
(
scale
*
extensions
.
Scale
)
field
.
ErrorList
{
allErrs
:=
field
.
ErrorList
{}
allErrs
=
append
(
allErrs
,
apivalidation
.
ValidateObjectMeta
(
&
scale
.
ObjectMeta
,
true
,
apivalidation
.
NameIsDNSSubdomain
,
field
.
NewPath
(
"metadata"
))
...
)
...
...
pkg/apis/extensions/validation/validation_test.go
View file @
ea207540
...
...
@@ -1299,120 +1299,6 @@ func TestValidateIngressStatusUpdate(t *testing.T) {
}
}
func
TestValidateClusterAutoscaler
(
t
*
testing
.
T
)
{
successCases
:=
[]
extensions
.
ClusterAutoscaler
{
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"ClusterAutoscaler"
,
Namespace
:
api
.
NamespaceDefault
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
1
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{
{
Resource
:
extensions
.
CpuRequest
,
Value
:
0.7
,
},
},
},
},
}
for
_
,
successCase
:=
range
successCases
{
if
errs
:=
ValidateClusterAutoscaler
(
&
successCase
);
len
(
errs
)
!=
0
{
t
.
Errorf
(
"expected success: %v"
,
errs
)
}
}
errorCases
:=
map
[
string
]
extensions
.
ClusterAutoscaler
{
"must be 'ClusterAutoscaler'"
:
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"TestClusterAutoscaler"
,
Namespace
:
api
.
NamespaceDefault
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
1
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{
{
Resource
:
extensions
.
CpuRequest
,
Value
:
0.7
,
},
},
},
},
"must be 'default'"
:
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"ClusterAutoscaler"
,
Namespace
:
"test"
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
1
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{
{
Resource
:
extensions
.
CpuRequest
,
Value
:
0.7
,
},
},
},
},
`must be greater than or equal to 0`
:
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"ClusterAutoscaler"
,
Namespace
:
api
.
NamespaceDefault
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
-
1
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{
{
Resource
:
extensions
.
CpuRequest
,
Value
:
0.7
,
},
},
},
},
"must be greater than or equal to `minNodes`"
:
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"ClusterAutoscaler"
,
Namespace
:
api
.
NamespaceDefault
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
10
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{
{
Resource
:
extensions
.
CpuRequest
,
Value
:
0.7
,
},
},
},
},
"Required value"
:
{
ObjectMeta
:
api
.
ObjectMeta
{
Name
:
"ClusterAutoscaler"
,
Namespace
:
api
.
NamespaceDefault
,
},
Spec
:
extensions
.
ClusterAutoscalerSpec
{
MinNodes
:
1
,
MaxNodes
:
5
,
TargetUtilization
:
[]
extensions
.
NodeUtilization
{},
},
},
}
for
k
,
v
:=
range
errorCases
{
errs
:=
ValidateClusterAutoscaler
(
&
v
)
if
len
(
errs
)
==
0
{
t
.
Errorf
(
"[%s] expected failure"
,
k
)
}
else
if
!
strings
.
Contains
(
errs
[
0
]
.
Error
(),
k
)
{
t
.
Errorf
(
"unexpected error: %v, expected: %q"
,
errs
[
0
],
k
)
}
}
}
func
TestValidateScale
(
t
*
testing
.
T
)
{
successCases
:=
[]
extensions
.
Scale
{
{
...
...
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