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
5ef870d4
Commit
5ef870d4
authored
Apr 25, 2016
by
Maciej Szulik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added JobTemplate, a preliminary step for ScheduledJob and Workflow
parent
de357fde
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
305 additions
and
15 deletions
+305
-15
main.go
cmd/libs/go2idl/conversion-gen/main.go
+1
-0
main.go
cmd/libs/go2idl/deepcopy-gen/main.go
+1
-0
cmd.go
cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go
+1
-0
update-generated-swagger-docs.sh
hack/update-generated-swagger-docs.sh
+1
-1
update-swagger-spec.sh
hack/update-swagger-spec.sh
+1
-1
install.go
pkg/apis/batch/install/install.go
+9
-1
register.go
pkg/apis/batch/register.go
+4
-2
types.go
pkg/apis/batch/types.go
+23
-0
conversion.go
pkg/apis/batch/v2alpha1/conversion.go
+113
-0
defaults.go
pkg/apis/batch/v2alpha1/defaults.go
+42
-0
doc.go
pkg/apis/batch/v2alpha1/doc.go
+18
-0
register.go
pkg/apis/batch/v2alpha1/register.go
+51
-0
types.go
pkg/apis/batch/v2alpha1/types.go
+0
-0
register.go
pkg/apis/extensions/register.go
+1
-0
batch.go
pkg/client/unversioned/batch.go
+28
-3
master.go
pkg/master/master.go
+11
-7
No files found.
cmd/libs/go2idl/conversion-gen/main.go
View file @
5ef870d4
...
@@ -41,6 +41,7 @@ func main() {
...
@@ -41,6 +41,7 @@ func main() {
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
,
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
,
"k8s.io/kubernetes/pkg/apis/batch"
,
"k8s.io/kubernetes/pkg/apis/batch"
,
"k8s.io/kubernetes/pkg/apis/batch/v1"
,
"k8s.io/kubernetes/pkg/apis/batch/v1"
,
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
,
"k8s.io/kubernetes/pkg/apis/apps"
,
"k8s.io/kubernetes/pkg/apis/apps"
,
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
...
...
cmd/libs/go2idl/deepcopy-gen/main.go
View file @
5ef870d4
...
@@ -41,6 +41,7 @@ func main() {
...
@@ -41,6 +41,7 @@ func main() {
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
,
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
,
"k8s.io/kubernetes/pkg/apis/batch"
,
"k8s.io/kubernetes/pkg/apis/batch"
,
"k8s.io/kubernetes/pkg/apis/batch/v1"
,
"k8s.io/kubernetes/pkg/apis/batch/v1"
,
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
,
"k8s.io/kubernetes/pkg/apis/apps"
,
"k8s.io/kubernetes/pkg/apis/apps"
,
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/apps/v1alpha1"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
"k8s.io/kubernetes/pkg/apis/componentconfig"
,
...
...
cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go
View file @
5ef870d4
...
@@ -70,6 +70,7 @@ func New() *Generator {
...
@@ -70,6 +70,7 @@ func New() *Generator {
`k8s.io/kubernetes/pkg/apis/extensions/v1beta1`
,
`k8s.io/kubernetes/pkg/apis/extensions/v1beta1`
,
`k8s.io/kubernetes/pkg/apis/autoscaling/v1`
,
`k8s.io/kubernetes/pkg/apis/autoscaling/v1`
,
`k8s.io/kubernetes/pkg/apis/batch/v1`
,
`k8s.io/kubernetes/pkg/apis/batch/v1`
,
`k8s.io/kubernetes/pkg/apis/batch/v2alpha1`
,
`k8s.io/kubernetes/pkg/apis/apps/v1alpha1`
,
`k8s.io/kubernetes/pkg/apis/apps/v1alpha1`
,
`k8s.io/kubernetes/federation/apis/federation/v1alpha1`
,
`k8s.io/kubernetes/federation/apis/federation/v1alpha1`
,
},
","
),
},
","
),
...
...
hack/update-generated-swagger-docs.sh
View file @
5ef870d4
...
@@ -57,7 +57,7 @@ EOF
...
@@ -57,7 +57,7 @@ EOF
mv
"
$TMPFILE
"
"pkg/
$(
kube::util::group-version-to-pkg-path
"
${
group_version
}
"
)
/types_swagger_doc_generated.go"
mv
"
$TMPFILE
"
"pkg/
$(
kube::util::group-version-to-pkg-path
"
${
group_version
}
"
)
/types_swagger_doc_generated.go"
}
}
GROUP_VERSIONS
=(
unversioned v1 authorization/v1beta1 autoscaling/v1 batch/v1 extensions/v1beta1 apps/v1alpha1
)
GROUP_VERSIONS
=(
unversioned v1 authorization/v1beta1 autoscaling/v1 batch/v1
batch/v2alpha1
extensions/v1beta1 apps/v1alpha1
)
# To avoid compile errors, remove the currently existing files.
# To avoid compile errors, remove the currently existing files.
for
group_version
in
"
${
GROUP_VERSIONS
[@]
}
"
;
do
for
group_version
in
"
${
GROUP_VERSIONS
[@]
}
"
;
do
rm
-f
"pkg/
$(
kube::util::group-version-to-pkg-path
"
${
group_version
}
"
)
/types_swagger_doc_generated.go"
rm
-f
"pkg/
$(
kube::util::group-version-to-pkg-path
"
${
group_version
}
"
)
/types_swagger_doc_generated.go"
...
...
hack/update-swagger-spec.sh
View file @
5ef870d4
...
@@ -74,7 +74,7 @@ APISERVER_PID=$!
...
@@ -74,7 +74,7 @@ APISERVER_PID=$!
kube::util::wait_for_url
"http://127.0.0.1:
${
API_PORT
}
/healthz"
"apiserver: "
kube::util::wait_for_url
"http://127.0.0.1:
${
API_PORT
}
/healthz"
"apiserver: "
SWAGGER_API_PATH
=
"http://127.0.0.1:
${
API_PORT
}
/swaggerapi/"
SWAGGER_API_PATH
=
"http://127.0.0.1:
${
API_PORT
}
/swaggerapi/"
DEFAULT_GROUP_VERSIONS
=
"v1 autoscaling/v1 batch/v1 extensions/v1beta1 apps/v1alpha1"
DEFAULT_GROUP_VERSIONS
=
"v1 autoscaling/v1 batch/v1
batch/v2alpha1
extensions/v1beta1 apps/v1alpha1"
VERSIONS
=
${
VERSIONS
:-
$DEFAULT_GROUP_VERSIONS
}
VERSIONS
=
${
VERSIONS
:-
$DEFAULT_GROUP_VERSIONS
}
kube::log::status
"Updating "
${
SWAGGER_ROOT_DIR
}
kube::log::status
"Updating "
${
SWAGGER_ROOT_DIR
}
...
...
pkg/apis/batch/install/install.go
View file @
5ef870d4
...
@@ -30,6 +30,7 @@ import (
...
@@ -30,6 +30,7 @@ import (
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch/v1"
"k8s.io/kubernetes/pkg/apis/batch/v1"
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/util/sets"
)
)
...
@@ -39,7 +40,7 @@ const importPrefix = "k8s.io/kubernetes/pkg/apis/batch"
...
@@ -39,7 +40,7 @@ const importPrefix = "k8s.io/kubernetes/pkg/apis/batch"
var
accessor
=
meta
.
NewAccessor
()
var
accessor
=
meta
.
NewAccessor
()
// availableVersions lists all known external versions for this group from most preferred to least preferred
// availableVersions lists all known external versions for this group from most preferred to least preferred
var
availableVersions
=
[]
unversioned
.
GroupVersion
{
v1
.
SchemeGroupVersion
}
var
availableVersions
=
[]
unversioned
.
GroupVersion
{
v1
.
SchemeGroupVersion
,
v2alpha1
.
SchemeGroupVersion
}
func
init
()
{
func
init
()
{
registered
.
RegisterVersions
(
availableVersions
)
registered
.
RegisterVersions
(
availableVersions
)
...
@@ -106,6 +107,11 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
...
@@ -106,6 +107,11 @@ func interfacesFor(version unversioned.GroupVersion) (*meta.VersionInterfaces, e
ObjectConvertor
:
api
.
Scheme
,
ObjectConvertor
:
api
.
Scheme
,
MetadataAccessor
:
accessor
,
MetadataAccessor
:
accessor
,
},
nil
},
nil
case
v2alpha1
.
SchemeGroupVersion
:
return
&
meta
.
VersionInterfaces
{
ObjectConvertor
:
api
.
Scheme
,
MetadataAccessor
:
accessor
,
},
nil
default
:
default
:
g
,
_
:=
registered
.
Group
(
batch
.
GroupName
)
g
,
_
:=
registered
.
Group
(
batch
.
GroupName
)
return
nil
,
fmt
.
Errorf
(
"unsupported storage version: %s (valid: %v)"
,
version
,
g
.
GroupVersions
)
return
nil
,
fmt
.
Errorf
(
"unsupported storage version: %s (valid: %v)"
,
version
,
g
.
GroupVersions
)
...
@@ -124,6 +130,8 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
...
@@ -124,6 +130,8 @@ func addVersionsToScheme(externalVersions ...unversioned.GroupVersion) {
switch
v
{
switch
v
{
case
v1
.
SchemeGroupVersion
:
case
v1
.
SchemeGroupVersion
:
v1
.
AddToScheme
(
api
.
Scheme
)
v1
.
AddToScheme
(
api
.
Scheme
)
case
v2alpha1
.
SchemeGroupVersion
:
v2alpha1
.
AddToScheme
(
api
.
Scheme
)
}
}
}
}
}
}
pkg/apis/batch/register.go
View file @
5ef870d4
...
@@ -48,9 +48,11 @@ func addKnownTypes(scheme *runtime.Scheme) {
...
@@ -48,9 +48,11 @@ func addKnownTypes(scheme *runtime.Scheme) {
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
scheme
.
AddKnownTypes
(
SchemeGroupVersion
,
&
Job
{},
&
Job
{},
&
JobList
{},
&
JobList
{},
&
JobTemplate
{},
&
api
.
ListOptions
{},
&
api
.
ListOptions
{},
)
)
}
}
func
(
obj
*
Job
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
Job
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
JobList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
JobList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
JobTemplate
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
pkg/apis/batch/types.go
View file @
5ef870d4
...
@@ -50,6 +50,29 @@ type JobList struct {
...
@@ -50,6 +50,29 @@ type JobList struct {
Items
[]
Job
`json:"items"`
Items
[]
Job
`json:"items"`
}
}
// JobTemplate describes a template for creating copies of a predefined pod.
type
JobTemplate
struct
{
unversioned
.
TypeMeta
`json:",inline"`
// Standard object's metadata.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
api
.
ObjectMeta
`json:"metadata,omitempty"`
// Template defines jobs that will be created from this template
// http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Template
JobTemplateSpec
`json:"template,omitempty"`
}
// JobTemplateSpec describes the data a Job should have when created from a template
type
JobTemplateSpec
struct
{
// Standard object's metadata of the jobs created from this template.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
api
.
ObjectMeta
`json:"metadata,omitempty"`
// Specification of the desired behavior of the job.
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#spec-and-status
Spec
JobSpec
`json:"spec,omitempty"`
}
// JobSpec describes how the job execution will look like.
// JobSpec describes how the job execution will look like.
type
JobSpec
struct
{
type
JobSpec
struct
{
...
...
pkg/apis/batch/v2alpha1/conversion.go
0 → 100644
View file @
5ef870d4
/*
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
v2alpha1
import
(
"fmt"
"reflect"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
v1
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/conversion"
"k8s.io/kubernetes/pkg/runtime"
)
func
addConversionFuncs
(
scheme
*
runtime
.
Scheme
)
{
// Add non-generated conversion functions
err
:=
scheme
.
AddConversionFuncs
(
Convert_batch_JobSpec_To_v2alpha1_JobSpec
,
Convert_v2alpha1_JobSpec_To_batch_JobSpec
,
)
if
err
!=
nil
{
// If one of the conversion functions is malformed, detect it immediately.
panic
(
err
)
}
err
=
api
.
Scheme
.
AddFieldLabelConversionFunc
(
"batch/v2alpha1"
,
"Job"
,
func
(
label
,
value
string
)
(
string
,
string
,
error
)
{
switch
label
{
case
"metadata.name"
,
"metadata.namespace"
,
"status.successful"
:
return
label
,
value
,
nil
default
:
return
""
,
""
,
fmt
.
Errorf
(
"field label not supported: %s"
,
label
)
}
})
if
err
!=
nil
{
// If one of the conversion functions is malformed, detect it immediately.
panic
(
err
)
}
}
func
Convert_batch_JobSpec_To_v2alpha1_JobSpec
(
in
*
batch
.
JobSpec
,
out
*
JobSpec
,
s
conversion
.
Scope
)
error
{
if
defaulting
,
found
:=
s
.
DefaultingInterface
(
reflect
.
TypeOf
(
*
in
));
found
{
defaulting
.
(
func
(
*
batch
.
JobSpec
))(
in
)
}
out
.
Parallelism
=
in
.
Parallelism
out
.
Completions
=
in
.
Completions
out
.
ActiveDeadlineSeconds
=
in
.
ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector
if
in
.
Selector
!=
nil
{
out
.
Selector
=
new
(
LabelSelector
)
if
err
:=
Convert_unversioned_LabelSelector_To_v2alpha1_LabelSelector
(
in
.
Selector
,
out
.
Selector
,
s
);
err
!=
nil
{
return
err
}
}
else
{
out
.
Selector
=
nil
}
if
in
.
ManualSelector
!=
nil
{
out
.
ManualSelector
=
new
(
bool
)
*
out
.
ManualSelector
=
*
in
.
ManualSelector
}
else
{
out
.
ManualSelector
=
nil
}
if
err
:=
v1
.
Convert_api_PodTemplateSpec_To_v1_PodTemplateSpec
(
&
in
.
Template
,
&
out
.
Template
,
s
);
err
!=
nil
{
return
err
}
return
nil
}
func
Convert_v2alpha1_JobSpec_To_batch_JobSpec
(
in
*
JobSpec
,
out
*
batch
.
JobSpec
,
s
conversion
.
Scope
)
error
{
if
defaulting
,
found
:=
s
.
DefaultingInterface
(
reflect
.
TypeOf
(
*
in
));
found
{
defaulting
.
(
func
(
*
JobSpec
))(
in
)
}
out
.
Parallelism
=
in
.
Parallelism
out
.
Completions
=
in
.
Completions
out
.
ActiveDeadlineSeconds
=
in
.
ActiveDeadlineSeconds
// unable to generate simple pointer conversion for unversioned.LabelSelector -> v1.LabelSelector
if
in
.
Selector
!=
nil
{
out
.
Selector
=
new
(
unversioned
.
LabelSelector
)
if
err
:=
Convert_v2alpha1_LabelSelector_To_unversioned_LabelSelector
(
in
.
Selector
,
out
.
Selector
,
s
);
err
!=
nil
{
return
err
}
}
else
{
out
.
Selector
=
nil
}
if
in
.
ManualSelector
!=
nil
{
out
.
ManualSelector
=
new
(
bool
)
*
out
.
ManualSelector
=
*
in
.
ManualSelector
}
else
{
out
.
ManualSelector
=
nil
}
if
err
:=
v1
.
Convert_v1_PodTemplateSpec_To_api_PodTemplateSpec
(
&
in
.
Template
,
&
out
.
Template
,
s
);
err
!=
nil
{
return
err
}
return
nil
}
pkg/apis/batch/v2alpha1/defaults.go
0 → 100644
View file @
5ef870d4
/*
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
v2alpha1
import
(
"k8s.io/kubernetes/pkg/runtime"
)
func
addDefaultingFuncs
(
scheme
*
runtime
.
Scheme
)
{
scheme
.
AddDefaultingFuncs
(
SetDefaults_Job
,
)
}
func
SetDefaults_Job
(
obj
*
Job
)
{
// For a non-parallel job, you can leave both `.spec.completions` and
// `.spec.parallelism` unset. When both are unset, both are defaulted to 1.
if
obj
.
Spec
.
Completions
==
nil
&&
obj
.
Spec
.
Parallelism
==
nil
{
obj
.
Spec
.
Completions
=
new
(
int32
)
*
obj
.
Spec
.
Completions
=
1
obj
.
Spec
.
Parallelism
=
new
(
int32
)
*
obj
.
Spec
.
Parallelism
=
1
}
if
obj
.
Spec
.
Parallelism
==
nil
{
obj
.
Spec
.
Parallelism
=
new
(
int32
)
*
obj
.
Spec
.
Parallelism
=
1
}
}
pkg/apis/batch/v2alpha1/doc.go
0 → 100644
View file @
5ef870d4
/*
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.
*/
// +genconversion=true
package
v2alpha1
pkg/apis/batch/v2alpha1/register.go
0 → 100644
View file @
5ef870d4
/*
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
v2alpha1
import
(
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/runtime"
versionedwatch
"k8s.io/kubernetes/pkg/watch/versioned"
)
// GroupName is the group name use in this package
const
GroupName
=
"batch"
// SchemeGroupVersion is group version used to register these objects
var
SchemeGroupVersion
=
unversioned
.
GroupVersion
{
Group
:
GroupName
,
Version
:
"v2alpha1"
}
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
,
&
Job
{},
&
JobList
{},
&
JobTemplate
{},
&
v1
.
ListOptions
{},
)
versionedwatch
.
AddToGroupVersion
(
scheme
,
SchemeGroupVersion
)
}
func
(
obj
*
JobTemplate
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
Job
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
func
(
obj
*
JobList
)
GetObjectKind
()
unversioned
.
ObjectKind
{
return
&
obj
.
TypeMeta
}
pkg/apis/batch/v2alpha1/types.go
0 → 100644
View file @
5ef870d4
This diff is collapsed.
Click to expand it.
pkg/apis/extensions/register.go
View file @
5ef870d4
...
@@ -55,6 +55,7 @@ func addKnownTypes(scheme *runtime.Scheme) {
...
@@ -55,6 +55,7 @@ func addKnownTypes(scheme *runtime.Scheme) {
&
HorizontalPodAutoscalerList
{},
&
HorizontalPodAutoscalerList
{},
&
batch
.
Job
{},
&
batch
.
Job
{},
&
batch
.
JobList
{},
&
batch
.
JobList
{},
&
batch
.
JobTemplate
{},
&
ReplicationControllerDummy
{},
&
ReplicationControllerDummy
{},
&
Scale
{},
&
Scale
{},
&
ThirdPartyResource
{},
&
ThirdPartyResource
{},
...
...
pkg/client/unversioned/batch.go
View file @
5ef870d4
...
@@ -18,8 +18,10 @@ package unversioned
...
@@ -18,8 +18,10 @@ package unversioned
import
(
import
(
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apimachinery/registered"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
"k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/restclient"
)
)
...
@@ -38,7 +40,19 @@ func (c *BatchClient) Jobs(namespace string) JobInterface {
...
@@ -38,7 +40,19 @@ func (c *BatchClient) Jobs(namespace string) JobInterface {
func
NewBatch
(
c
*
restclient
.
Config
)
(
*
BatchClient
,
error
)
{
func
NewBatch
(
c
*
restclient
.
Config
)
(
*
BatchClient
,
error
)
{
config
:=
*
c
config
:=
*
c
if
err
:=
setBatchDefaults
(
&
config
);
err
!=
nil
{
if
err
:=
setBatchDefaults
(
&
config
,
nil
);
err
!=
nil
{
return
nil
,
err
}
client
,
err
:=
restclient
.
RESTClientFor
(
&
config
)
if
err
!=
nil
{
return
nil
,
err
}
return
&
BatchClient
{
client
},
nil
}
func
NewBatchV2Alpha1
(
c
*
restclient
.
Config
)
(
*
BatchClient
,
error
)
{
config
:=
*
c
if
err
:=
setBatchDefaults
(
&
config
,
&
v2alpha1
.
SchemeGroupVersion
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
client
,
err
:=
restclient
.
RESTClientFor
(
&
config
)
client
,
err
:=
restclient
.
RESTClientFor
(
&
config
)
...
@@ -49,14 +63,22 @@ func NewBatch(c *restclient.Config) (*BatchClient, error) {
...
@@ -49,14 +63,22 @@ func NewBatch(c *restclient.Config) (*BatchClient, error) {
}
}
func
NewBatchOrDie
(
c
*
restclient
.
Config
)
*
BatchClient
{
func
NewBatchOrDie
(
c
*
restclient
.
Config
)
*
BatchClient
{
client
,
err
:=
NewBatch
(
c
)
var
(
client
*
BatchClient
err
error
)
if
c
.
ContentConfig
.
GroupVersion
!=
nil
&&
*
c
.
ContentConfig
.
GroupVersion
==
v2alpha1
.
SchemeGroupVersion
{
client
,
err
=
NewBatchV2Alpha1
(
c
)
}
else
{
client
,
err
=
NewBatch
(
c
)
}
if
err
!=
nil
{
if
err
!=
nil
{
panic
(
err
)
panic
(
err
)
}
}
return
client
return
client
}
}
func
setBatchDefaults
(
config
*
restclient
.
Config
)
error
{
func
setBatchDefaults
(
config
*
restclient
.
Config
,
gv
*
unversioned
.
GroupVersion
)
error
{
// if batch group is not registered, return an error
// if batch group is not registered, return an error
g
,
err
:=
registered
.
Group
(
batch
.
GroupName
)
g
,
err
:=
registered
.
Group
(
batch
.
GroupName
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -69,6 +91,9 @@ func setBatchDefaults(config *restclient.Config) error {
...
@@ -69,6 +91,9 @@ func setBatchDefaults(config *restclient.Config) error {
// TODO: Unconditionally set the config.Version, until we fix the config.
// TODO: Unconditionally set the config.Version, until we fix the config.
//if config.Version == "" {
//if config.Version == "" {
copyGroupVersion
:=
g
.
GroupVersion
copyGroupVersion
:=
g
.
GroupVersion
if
gv
!=
nil
{
copyGroupVersion
=
*
gv
}
config
.
GroupVersion
=
&
copyGroupVersion
config
.
GroupVersion
=
&
copyGroupVersion
//}
//}
...
...
pkg/master/master.go
View file @
5ef870d4
...
@@ -38,6 +38,7 @@ import (
...
@@ -38,6 +38,7 @@ import (
autoscalingapiv1
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
autoscalingapiv1
"k8s.io/kubernetes/pkg/apis/autoscaling/v1"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch"
batchapiv1
"k8s.io/kubernetes/pkg/apis/batch/v1"
batchapiv1
"k8s.io/kubernetes/pkg/apis/batch/v1"
batchapiv2alpha1
"k8s.io/kubernetes/pkg/apis/batch/v2alpha1"
"k8s.io/kubernetes/pkg/apis/extensions"
"k8s.io/kubernetes/pkg/apis/extensions"
extensionsapiv1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensionsapiv1beta1
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/pkg/apiserver"
"k8s.io/kubernetes/pkg/apiserver"
...
@@ -306,8 +307,9 @@ func (m *Master) InstallAPIs(c *Config) {
...
@@ -306,8 +307,9 @@ func (m *Master) InstallAPIs(c *Config) {
}
}
// Install batch unless disabled.
// Install batch unless disabled.
if
c
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
batchapiv1
.
SchemeGroupVersion
)
{
if
c
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
batchapiv1
.
SchemeGroupVersion
)
||
batchResources
:=
m
.
getBatchResources
(
c
)
c
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
batchapiv2alpha1
.
SchemeGroupVersion
)
{
batchv1Resources
:=
m
.
getBatchResources
(
c
,
batchapiv1
.
SchemeGroupVersion
)
batchGroupMeta
:=
registered
.
GroupOrDie
(
batch
.
GroupName
)
batchGroupMeta
:=
registered
.
GroupOrDie
(
batch
.
GroupName
)
// Hard code preferred group version to batch/v1
// Hard code preferred group version to batch/v1
...
@@ -316,13 +318,18 @@ func (m *Master) InstallAPIs(c *Config) {
...
@@ -316,13 +318,18 @@ func (m *Master) InstallAPIs(c *Config) {
apiGroupInfo
:=
genericapiserver
.
APIGroupInfo
{
apiGroupInfo
:=
genericapiserver
.
APIGroupInfo
{
GroupMeta
:
*
batchGroupMeta
,
GroupMeta
:
*
batchGroupMeta
,
VersionedResourcesStorageMap
:
map
[
string
]
map
[
string
]
rest
.
Storage
{
VersionedResourcesStorageMap
:
map
[
string
]
map
[
string
]
rest
.
Storage
{
"v1"
:
batchResources
,
"v1"
:
batch
v1
Resources
,
},
},
OptionsExternalVersion
:
&
registered
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
OptionsExternalVersion
:
&
registered
.
GroupOrDie
(
api
.
GroupName
)
.
GroupVersion
,
Scheme
:
api
.
Scheme
,
Scheme
:
api
.
Scheme
,
ParameterCodec
:
api
.
ParameterCodec
,
ParameterCodec
:
api
.
ParameterCodec
,
NegotiatedSerializer
:
api
.
Codecs
,
NegotiatedSerializer
:
api
.
Codecs
,
}
}
if
c
.
APIResourceConfigSource
.
AnyResourcesForVersionEnabled
(
batchapiv2alpha1
.
SchemeGroupVersion
)
{
batchv2alpha1Resources
:=
m
.
getBatchResources
(
c
,
batchapiv2alpha1
.
SchemeGroupVersion
)
apiGroupInfo
.
VersionedResourcesStorageMap
[
"v2alpha1"
]
=
batchv2alpha1Resources
}
apiGroupsInfo
=
append
(
apiGroupsInfo
,
apiGroupInfo
)
apiGroupsInfo
=
append
(
apiGroupsInfo
,
apiGroupInfo
)
batchGVForDiscovery
:=
unversioned
.
GroupVersionForDiscovery
{
batchGVForDiscovery
:=
unversioned
.
GroupVersionForDiscovery
{
...
@@ -819,10 +826,7 @@ func (m *Master) getAutoscalingResources(c *Config) map[string]rest.Storage {
...
@@ -819,10 +826,7 @@ func (m *Master) getAutoscalingResources(c *Config) map[string]rest.Storage {
}
}
// getBatchResources returns the resources for batch api
// getBatchResources returns the resources for batch api
func
(
m
*
Master
)
getBatchResources
(
c
*
Config
)
map
[
string
]
rest
.
Storage
{
func
(
m
*
Master
)
getBatchResources
(
c
*
Config
,
version
unversioned
.
GroupVersion
)
map
[
string
]
rest
.
Storage
{
// TODO update when we support more than one version of this group
version
:=
batchapiv1
.
SchemeGroupVersion
storage
:=
map
[
string
]
rest
.
Storage
{}
storage
:=
map
[
string
]
rest
.
Storage
{}
if
c
.
APIResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"jobs"
))
{
if
c
.
APIResourceConfigSource
.
ResourceEnabled
(
version
.
WithResource
(
"jobs"
))
{
jobsStorage
,
jobsStatusStorage
:=
jobetcd
.
NewREST
(
m
.
GetRESTOptionsOrDie
(
c
,
batch
.
Resource
(
"jobs"
)))
jobsStorage
,
jobsStatusStorage
:=
jobetcd
.
NewREST
(
m
.
GetRESTOptionsOrDie
(
c
,
batch
.
Resource
(
"jobs"
)))
...
...
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