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
dadb3322
Commit
dadb3322
authored
Aug 12, 2016
by
Kubernetes Submit Queue
Committed by
GitHub
Aug 12, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #30327 from janetkuo/sj-controller-client
Automatic merge from submit-queue Use unversioned client in scheduledjobs and set group version to batch/v2alpha1 Fixes #30323
parents
f0e5dac1
e4269d49
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
12 deletions
+18
-12
controllermanager.go
cmd/kube-controller-manager/app/controllermanager.go
+8
-1
controller.go
pkg/controller/scheduledjob/controller.go
+7
-8
injection.go
pkg/controller/scheduledjob/injection.go
+3
-3
No files found.
cmd/kube-controller-manager/app/controllermanager.go
View file @
dadb3322
...
@@ -36,6 +36,7 @@ import (
...
@@ -36,6 +36,7 @@ import (
"k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
"k8s.io/kubernetes/cmd/kube-controller-manager/app/options"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/batch"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/leaderelection"
"k8s.io/kubernetes/pkg/client/leaderelection"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
...
@@ -390,7 +391,13 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig
...
@@ -390,7 +391,13 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig
glog
.
Infof
(
"Starting %s apis"
,
groupVersion
)
glog
.
Infof
(
"Starting %s apis"
,
groupVersion
)
if
containsResource
(
resources
,
"scheduledjobs"
)
{
if
containsResource
(
resources
,
"scheduledjobs"
)
{
glog
.
Infof
(
"Starting scheduledjob controller"
)
glog
.
Infof
(
"Starting scheduledjob controller"
)
go
scheduledjob
.
NewScheduledJobController
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
kubeconfig
,
"scheduledjob-controller"
)))
.
// TODO: this is a temp fix for allowing kubeClient list v2alpha1 sj, should switch to using clientset
kubeconfig
.
ContentConfig
.
GroupVersion
=
&
unversioned
.
GroupVersion
{
Group
:
batch
.
GroupName
,
Version
:
"v2alpha1"
}
kubeClient
,
err
:=
client
.
New
(
kubeconfig
)
if
err
!=
nil
{
glog
.
Fatalf
(
"Invalid API configuration: %v"
,
err
)
}
go
scheduledjob
.
NewScheduledJobController
(
kubeClient
)
.
Run
(
wait
.
NeverStop
)
Run
(
wait
.
NeverStop
)
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
time
.
Sleep
(
wait
.
Jitter
(
s
.
ControllerStartInterval
.
Duration
,
ControllerStartJitter
))
...
...
pkg/controller/scheduledjob/controller.go
View file @
dadb3322
...
@@ -37,9 +37,8 @@ import (
...
@@ -37,9 +37,8 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
unversionedcore
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/controller/job"
"k8s.io/kubernetes/pkg/controller/job"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/runtime"
"k8s.io/kubernetes/pkg/util/metrics"
"k8s.io/kubernetes/pkg/util/metrics"
...
@@ -50,20 +49,20 @@ import (
...
@@ -50,20 +49,20 @@ import (
// Utilities for dealing with Jobs and ScheduledJobs and time.
// Utilities for dealing with Jobs and ScheduledJobs and time.
type
ScheduledJobController
struct
{
type
ScheduledJobController
struct
{
kubeClient
clientset
.
Interface
kubeClient
*
client
.
Client
jobControl
jobControlInterface
jobControl
jobControlInterface
sjControl
sjControlInterface
sjControl
sjControlInterface
recorder
record
.
EventRecorder
recorder
record
.
EventRecorder
}
}
func
NewScheduledJobController
(
kubeClient
clientset
.
Interface
)
*
ScheduledJobController
{
func
NewScheduledJobController
(
kubeClient
*
client
.
Client
)
*
ScheduledJobController
{
eventBroadcaster
:=
record
.
NewBroadcaster
()
eventBroadcaster
:=
record
.
NewBroadcaster
()
eventBroadcaster
.
StartLogging
(
glog
.
Infof
)
eventBroadcaster
.
StartLogging
(
glog
.
Infof
)
// TODO: remove the wrapper when every clients have moved to use the clientset.
// TODO: remove the wrapper when every clients have moved to use the clientset.
eventBroadcaster
.
StartRecordingToSink
(
&
unversionedcore
.
EventSinkImpl
{
Interface
:
kubeClient
.
Core
()
.
Events
(
""
)}
)
eventBroadcaster
.
StartRecordingToSink
(
kubeClient
.
Events
(
""
)
)
if
kubeClient
!=
nil
&&
kubeClient
.
Batch
()
.
GetRESTClient
()
.
GetRateLimiter
()
!=
nil
{
if
kubeClient
!=
nil
&&
kubeClient
.
GetRateLimiter
()
!=
nil
{
metrics
.
RegisterMetricAndTrackRateLimiterUsage
(
"scheduledjob_controller"
,
kubeClient
.
Batch
()
.
GetRESTClient
()
.
GetRateLimiter
())
metrics
.
RegisterMetricAndTrackRateLimiterUsage
(
"scheduledjob_controller"
,
kubeClient
.
GetRateLimiter
())
}
}
jm
:=
&
ScheduledJobController
{
jm
:=
&
ScheduledJobController
{
...
@@ -76,7 +75,7 @@ func NewScheduledJobController(kubeClient clientset.Interface) *ScheduledJobCont
...
@@ -76,7 +75,7 @@ func NewScheduledJobController(kubeClient clientset.Interface) *ScheduledJobCont
return
jm
return
jm
}
}
func
NewScheduledJobControllerFromClient
(
kubeClient
clientset
.
Interface
)
*
ScheduledJobController
{
func
NewScheduledJobControllerFromClient
(
kubeClient
*
client
.
Client
)
*
ScheduledJobController
{
jm
:=
NewScheduledJobController
(
kubeClient
)
jm
:=
NewScheduledJobController
(
kubeClient
)
return
jm
return
jm
}
}
...
...
pkg/controller/scheduledjob/injection.go
View file @
dadb3322
...
@@ -20,8 +20,8 @@ import (
...
@@ -20,8 +20,8 @@ import (
"sync"
"sync"
"k8s.io/kubernetes/pkg/apis/batch"
"k8s.io/kubernetes/pkg/apis/batch"
clientset
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/client/record"
"k8s.io/kubernetes/pkg/client/record"
client
"k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/labels"
)
)
...
@@ -33,7 +33,7 @@ type sjControlInterface interface {
...
@@ -33,7 +33,7 @@ type sjControlInterface interface {
// realSJControl is the default implementation of sjControlInterface.
// realSJControl is the default implementation of sjControlInterface.
type
realSJControl
struct
{
type
realSJControl
struct
{
KubeClient
clientset
.
Interface
KubeClient
*
client
.
Client
}
}
var
_
sjControlInterface
=
&
realSJControl
{}
var
_
sjControlInterface
=
&
realSJControl
{}
...
@@ -69,7 +69,7 @@ type jobControlInterface interface {
...
@@ -69,7 +69,7 @@ type jobControlInterface interface {
// realJobControl is the default implementation of jobControlInterface.
// realJobControl is the default implementation of jobControlInterface.
type
realJobControl
struct
{
type
realJobControl
struct
{
KubeClient
clientset
.
Interface
KubeClient
*
client
.
Client
Recorder
record
.
EventRecorder
Recorder
record
.
EventRecorder
}
}
...
...
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