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
2086f815
Unverified
Commit
2086f815
authored
Mar 26, 2019
by
Kubernetes Prow Robot
Committed by
GitHub
Mar 26, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #74678 from pmcalpine/lint-bs_cj
Fix some golint failures for pkg/controller
parents
531dbd40
ac88e138
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
49 additions
and
49 deletions
+49
-49
batch.go
cmd/kube-controller-manager/app/batch.go
+1
-1
bootstrap.go
cmd/kube-controller-manager/app/bootstrap.go
+2
-2
.golint_failures
hack/.golint_failures
+0
-2
bootstrapsigner.go
pkg/controller/bootstrap/bootstrapsigner.go
+18
-19
bootstrapsigner_test.go
pkg/controller/bootstrap/bootstrapsigner_test.go
+13
-13
BUILD
pkg/controller/cronjob/BUILD
+2
-2
controller.go
pkg/controller/cronjob/controller.go
+8
-6
controller_test.go
pkg/controller/cronjob/controller_test.go
+0
-0
utils.go
pkg/controller/cronjob/utils.go
+2
-1
utils_test.go
pkg/controller/cronjob/utils_test.go
+1
-1
cronjob_test.go
test/integration/cronjob/cronjob_test.go
+2
-2
No files found.
cmd/kube-controller-manager/app/batch.go
View file @
2086f815
...
...
@@ -46,7 +46,7 @@ func startCronJobController(ctx ControllerContext) (http.Handler, bool, error) {
if
!
ctx
.
AvailableResources
[
schema
.
GroupVersionResource
{
Group
:
"batch"
,
Version
:
"v1beta1"
,
Resource
:
"cronjobs"
}]
{
return
nil
,
false
,
nil
}
cjc
,
err
:=
cronjob
.
NewC
ronJobC
ontroller
(
cjc
,
err
:=
cronjob
.
NewController
(
ctx
.
ClientBuilder
.
ClientOrDie
(
"cronjob-controller"
),
)
if
err
!=
nil
{
...
...
cmd/kube-controller-manager/app/bootstrap.go
View file @
2086f815
...
...
@@ -25,11 +25,11 @@ import (
)
func
startBootstrapSignerController
(
ctx
ControllerContext
)
(
http
.
Handler
,
bool
,
error
)
{
bsc
,
err
:=
bootstrap
.
New
Bootstrap
Signer
(
bsc
,
err
:=
bootstrap
.
NewSigner
(
ctx
.
ClientBuilder
.
ClientOrDie
(
"bootstrap-signer"
),
ctx
.
InformerFactory
.
Core
()
.
V1
()
.
Secrets
(),
ctx
.
InformerFactory
.
Core
()
.
V1
()
.
ConfigMaps
(),
bootstrap
.
Default
Bootstrap
SignerOptions
(),
bootstrap
.
DefaultSignerOptions
(),
)
if
err
!=
nil
{
return
nil
,
true
,
fmt
.
Errorf
(
"error creating BootstrapSigner controller: %v"
,
err
)
...
...
hack/.golint_failures
View file @
2086f815
...
...
@@ -73,14 +73,12 @@ pkg/cloudprovider/providers/photon
pkg/cloudprovider/providers/vsphere
pkg/controller
pkg/controller/apis/config/v1alpha1
pkg/controller/bootstrap
pkg/controller/certificates
pkg/controller/certificates/approver
pkg/controller/certificates/signer
pkg/controller/certificates/signer/config/v1alpha1
pkg/controller/cloud
pkg/controller/clusterroleaggregation
pkg/controller/cronjob
pkg/controller/daemon
pkg/controller/daemon/config/v1alpha1
pkg/controller/deployment
...
...
pkg/controller/bootstrap/bootstrapsigner.go
View file @
2086f815
...
...
@@ -39,8 +39,8 @@ import (
"k8s.io/kubernetes/pkg/util/metrics"
)
//
BootstrapSignerOptions contains options for the Bootstrap
Signer
type
Bootstrap
SignerOptions
struct
{
//
SignerOptions contains options for the
Signer
type
SignerOptions
struct
{
// ConfigMapNamespace is the namespace of the ConfigMap
ConfigMapNamespace
string
...
...
@@ -59,18 +59,17 @@ type BootstrapSignerOptions struct {
SecretResync
time
.
Duration
}
// DefaultBootstrapSignerOptions returns a set of default options for creating a
// BootstrapSigner
func
DefaultBootstrapSignerOptions
()
BootstrapSignerOptions
{
return
BootstrapSignerOptions
{
// DefaultSignerOptions returns a set of default options for creating a Signer.
func
DefaultSignerOptions
()
SignerOptions
{
return
SignerOptions
{
ConfigMapNamespace
:
api
.
NamespacePublic
,
ConfigMapName
:
bootstrapapi
.
ConfigMapClusterInfo
,
TokenSecretNamespace
:
api
.
NamespaceSystem
,
}
}
//
Bootstrap
Signer is a controller that signs a ConfigMap with a set of tokens.
type
Bootstrap
Signer
struct
{
// Signer is a controller that signs a ConfigMap with a set of tokens.
type
Signer
struct
{
client
clientset
.
Interface
configMapKey
string
configMapName
string
...
...
@@ -90,9 +89,9 @@ type BootstrapSigner struct {
configMapSynced
cache
.
InformerSynced
}
// New
BootstrapSigner returns a new *Bootstrap
Signer.
func
New
BootstrapSigner
(
cl
clientset
.
Interface
,
secrets
informers
.
SecretInformer
,
configMaps
informers
.
ConfigMapInformer
,
options
BootstrapSignerOptions
)
(
*
Bootstrap
Signer
,
error
)
{
e
:=
&
Bootstrap
Signer
{
// New
Signer returns a new *
Signer.
func
New
Signer
(
cl
clientset
.
Interface
,
secrets
informers
.
SecretInformer
,
configMaps
informers
.
ConfigMapInformer
,
options
SignerOptions
)
(
*
Signer
,
error
)
{
e
:=
&
Signer
{
client
:
cl
,
configMapKey
:
options
.
ConfigMapNamespace
+
"/"
+
options
.
ConfigMapName
,
configMapName
:
options
.
ConfigMapName
,
...
...
@@ -153,7 +152,7 @@ func NewBootstrapSigner(cl clientset.Interface, secrets informers.SecretInformer
}
// Run runs controller loops and returns when they are done
func
(
e
*
Bootstrap
Signer
)
Run
(
stopCh
<-
chan
struct
{})
{
func
(
e
*
Signer
)
Run
(
stopCh
<-
chan
struct
{})
{
// Shut down queues
defer
utilruntime
.
HandleCrash
()
defer
e
.
syncQueue
.
ShutDown
()
...
...
@@ -168,11 +167,11 @@ func (e *BootstrapSigner) Run(stopCh <-chan struct{}) {
klog
.
V
(
1
)
.
Infof
(
"Shutting down"
)
}
func
(
e
*
Bootstrap
Signer
)
pokeConfigMapSync
()
{
func
(
e
*
Signer
)
pokeConfigMapSync
()
{
e
.
syncQueue
.
Add
(
e
.
configMapKey
)
}
func
(
e
*
Bootstrap
Signer
)
serviceConfigMapQueue
()
{
func
(
e
*
Signer
)
serviceConfigMapQueue
()
{
key
,
quit
:=
e
.
syncQueue
.
Get
()
if
quit
{
return
...
...
@@ -184,7 +183,7 @@ func (e *BootstrapSigner) serviceConfigMapQueue() {
// signConfigMap computes the signatures on our latest cached objects and writes
// back if necessary.
func
(
e
*
Bootstrap
Signer
)
signConfigMap
()
{
func
(
e
*
Signer
)
signConfigMap
()
{
origCM
:=
e
.
getConfigMap
()
if
origCM
==
nil
{
...
...
@@ -241,7 +240,7 @@ func (e *BootstrapSigner) signConfigMap() {
}
}
func
(
e
*
Bootstrap
Signer
)
updateConfigMap
(
cm
*
v1
.
ConfigMap
)
{
func
(
e
*
Signer
)
updateConfigMap
(
cm
*
v1
.
ConfigMap
)
{
_
,
err
:=
e
.
client
.
CoreV1
()
.
ConfigMaps
(
cm
.
Namespace
)
.
Update
(
cm
)
if
err
!=
nil
&&
!
apierrors
.
IsConflict
(
err
)
&&
!
apierrors
.
IsNotFound
(
err
)
{
klog
.
V
(
3
)
.
Infof
(
"Error updating ConfigMap: %v"
,
err
)
...
...
@@ -249,7 +248,7 @@ func (e *BootstrapSigner) updateConfigMap(cm *v1.ConfigMap) {
}
// getConfigMap gets the ConfigMap we are interested in
func
(
e
*
Bootstrap
Signer
)
getConfigMap
()
*
v1
.
ConfigMap
{
func
(
e
*
Signer
)
getConfigMap
()
*
v1
.
ConfigMap
{
configMap
,
err
:=
e
.
configMapLister
.
ConfigMaps
(
e
.
configMapNamespace
)
.
Get
(
e
.
configMapName
)
// If we can't get the configmap just return nil. The resync will eventually
...
...
@@ -264,7 +263,7 @@ func (e *BootstrapSigner) getConfigMap() *v1.ConfigMap {
return
configMap
}
func
(
e
*
Bootstrap
Signer
)
listSecrets
()
[]
*
v1
.
Secret
{
func
(
e
*
Signer
)
listSecrets
()
[]
*
v1
.
Secret
{
secrets
,
err
:=
e
.
secretLister
.
Secrets
(
e
.
secretNamespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
utilruntime
.
HandleError
(
err
)
...
...
@@ -282,7 +281,7 @@ func (e *BootstrapSigner) listSecrets() []*v1.Secret {
// getTokens returns a map of tokenID->tokenSecret. It ensures the token is
// valid for signing.
func
(
e
*
Bootstrap
Signer
)
getTokens
()
map
[
string
]
string
{
func
(
e
*
Signer
)
getTokens
()
map
[
string
]
string
{
ret
:=
map
[
string
]
string
{}
secretObjs
:=
e
.
listSecrets
()
for
_
,
secret
:=
range
secretObjs
{
...
...
pkg/controller/bootstrap/bootstrapsigner_test.go
View file @
2086f815
...
...
@@ -39,13 +39,13 @@ func init() {
const
testTokenID
=
"abc123"
func
new
BootstrapSigner
()
(
*
Bootstrap
Signer
,
*
fake
.
Clientset
,
coreinformers
.
SecretInformer
,
coreinformers
.
ConfigMapInformer
,
error
)
{
options
:=
Default
Bootstrap
SignerOptions
()
func
new
Signer
()
(
*
Signer
,
*
fake
.
Clientset
,
coreinformers
.
SecretInformer
,
coreinformers
.
ConfigMapInformer
,
error
)
{
options
:=
DefaultSignerOptions
()
cl
:=
fake
.
NewSimpleClientset
()
informers
:=
informers
.
NewSharedInformerFactory
(
fake
.
NewSimpleClientset
(),
controller
.
NoResyncPeriodFunc
())
secrets
:=
informers
.
Core
()
.
V1
()
.
Secrets
()
configMaps
:=
informers
.
Core
()
.
V1
()
.
ConfigMaps
()
bsc
,
err
:=
New
Bootstrap
Signer
(
cl
,
secrets
,
configMaps
,
options
)
bsc
,
err
:=
NewSigner
(
cl
,
secrets
,
configMaps
,
options
)
if
err
!=
nil
{
return
nil
,
nil
,
nil
,
nil
,
err
}
...
...
@@ -70,18 +70,18 @@ func newConfigMap(tokenID, signature string) *v1.ConfigMap {
}
func
TestNoConfigMap
(
t
*
testing
.
T
)
{
signer
,
cl
,
_
,
_
,
err
:=
new
Bootstrap
Signer
()
signer
,
cl
,
_
,
_
,
err
:=
newSigner
()
if
err
!=
nil
{
t
.
Fatalf
(
"error creating
Bootstrap
Signer: %v"
,
err
)
t
.
Fatalf
(
"error creating Signer: %v"
,
err
)
}
signer
.
signConfigMap
()
verifyActions
(
t
,
[]
core
.
Action
{},
cl
.
Actions
())
}
func
TestSimpleSign
(
t
*
testing
.
T
)
{
signer
,
cl
,
secrets
,
configMaps
,
err
:=
new
Bootstrap
Signer
()
signer
,
cl
,
secrets
,
configMaps
,
err
:=
newSigner
()
if
err
!=
nil
{
t
.
Fatalf
(
"error creating
Bootstrap
Signer: %v"
,
err
)
t
.
Fatalf
(
"error creating Signer: %v"
,
err
)
}
cm
:=
newConfigMap
(
""
,
""
)
...
...
@@ -103,9 +103,9 @@ func TestSimpleSign(t *testing.T) {
}
func
TestNoSignNeeded
(
t
*
testing
.
T
)
{
signer
,
cl
,
secrets
,
configMaps
,
err
:=
new
Bootstrap
Signer
()
signer
,
cl
,
secrets
,
configMaps
,
err
:=
newSigner
()
if
err
!=
nil
{
t
.
Fatalf
(
"error creating
Bootstrap
Signer: %v"
,
err
)
t
.
Fatalf
(
"error creating Signer: %v"
,
err
)
}
cm
:=
newConfigMap
(
testTokenID
,
"eyJhbGciOiJIUzI1NiIsImtpZCI6ImFiYzEyMyJ9..QSxpUG7Q542CirTI2ECPSZjvBOJURUW5a7XqFpNI958"
)
...
...
@@ -121,9 +121,9 @@ func TestNoSignNeeded(t *testing.T) {
}
func
TestUpdateSignature
(
t
*
testing
.
T
)
{
signer
,
cl
,
secrets
,
configMaps
,
err
:=
new
Bootstrap
Signer
()
signer
,
cl
,
secrets
,
configMaps
,
err
:=
newSigner
()
if
err
!=
nil
{
t
.
Fatalf
(
"error creating
Bootstrap
Signer: %v"
,
err
)
t
.
Fatalf
(
"error creating Signer: %v"
,
err
)
}
cm
:=
newConfigMap
(
testTokenID
,
"old signature"
)
...
...
@@ -145,9 +145,9 @@ func TestUpdateSignature(t *testing.T) {
}
func
TestRemoveSignature
(
t
*
testing
.
T
)
{
signer
,
cl
,
_
,
configMaps
,
err
:=
new
Bootstrap
Signer
()
signer
,
cl
,
_
,
configMaps
,
err
:=
newSigner
()
if
err
!=
nil
{
t
.
Fatalf
(
"error creating
Bootstrap
Signer: %v"
,
err
)
t
.
Fatalf
(
"error creating Signer: %v"
,
err
)
}
cm
:=
newConfigMap
(
testTokenID
,
"old signature"
)
...
...
pkg/controller/cronjob/BUILD
View file @
2086f815
...
...
@@ -9,7 +9,7 @@ load(
go_library(
name = "go_default_library",
srcs = [
"c
ronjob_c
ontroller.go",
"controller.go",
"doc.go",
"injection.go",
"utils.go",
...
...
@@ -41,7 +41,7 @@ go_library(
go_test(
name = "go_default_test",
srcs = [
"c
ronjob_c
ontroller_test.go",
"controller_test.go",
"utils_test.go",
],
embed = [":go_default_library"],
...
...
pkg/controller/cronjob/c
ronjob_c
ontroller.go
→
pkg/controller/cronjob/controller.go
View file @
2086f815
...
...
@@ -58,7 +58,8 @@ import (
// controllerKind contains the schema.GroupVersionKind for this controller type.
var
controllerKind
=
batchv1beta1
.
SchemeGroupVersion
.
WithKind
(
"CronJob"
)
type
CronJobController
struct
{
// Controller is a controller for CronJobs.
type
Controller
struct
{
kubeClient
clientset
.
Interface
jobControl
jobControlInterface
sjControl
sjControlInterface
...
...
@@ -66,7 +67,8 @@ type CronJobController struct {
recorder
record
.
EventRecorder
}
func
NewCronJobController
(
kubeClient
clientset
.
Interface
)
(
*
CronJobController
,
error
)
{
// NewController creates and initializes a new Controller.
func
NewController
(
kubeClient
clientset
.
Interface
)
(
*
Controller
,
error
)
{
eventBroadcaster
:=
record
.
NewBroadcaster
()
eventBroadcaster
.
StartLogging
(
klog
.
Infof
)
eventBroadcaster
.
StartRecordingToSink
(
&
v1core
.
EventSinkImpl
{
Interface
:
kubeClient
.
CoreV1
()
.
Events
(
""
)})
...
...
@@ -77,7 +79,7 @@ func NewCronJobController(kubeClient clientset.Interface) (*CronJobController, e
}
}
jm
:=
&
C
ronJobC
ontroller
{
jm
:=
&
Controller
{
kubeClient
:
kubeClient
,
jobControl
:
realJobControl
{
KubeClient
:
kubeClient
},
sjControl
:
&
realSJControl
{
KubeClient
:
kubeClient
},
...
...
@@ -88,8 +90,8 @@ func NewCronJobController(kubeClient clientset.Interface) (*CronJobController, e
return
jm
,
nil
}
// Run the main goroutine responsible for watching and syncing jobs.
func
(
jm
*
C
ronJobC
ontroller
)
Run
(
stopCh
<-
chan
struct
{})
{
// Run
starts
the main goroutine responsible for watching and syncing jobs.
func
(
jm
*
Controller
)
Run
(
stopCh
<-
chan
struct
{})
{
defer
utilruntime
.
HandleCrash
()
klog
.
Infof
(
"Starting CronJob Manager"
)
// Check things every 10 second.
...
...
@@ -99,7 +101,7 @@ func (jm *CronJobController) Run(stopCh <-chan struct{}) {
}
// syncAll lists all the CronJobs and Jobs and reconciles them.
func
(
jm
*
C
ronJobC
ontroller
)
syncAll
()
{
func
(
jm
*
Controller
)
syncAll
()
{
// List children (Jobs) before parents (CronJob).
// This guarantees that if we see any Job that got orphaned by the GC orphan finalizer,
// we must also see that the parent CronJob has non-nil DeletionTimestamp (see #42639).
...
...
pkg/controller/cronjob/c
ronjob_c
ontroller_test.go
→
pkg/controller/cronjob/controller_test.go
View file @
2086f815
File moved
pkg/controller/cronjob/utils.go
View file @
2086f815
...
...
@@ -142,7 +142,7 @@ func getRecentUnmetScheduleTimes(sj batchv1beta1.CronJob, now time.Time) ([]time
// but less than "lots".
if
len
(
starts
)
>
100
{
// We can't get the most recent times so just return an empty slice
return
[]
time
.
Time
{},
fmt
.
Errorf
(
"
Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew.
"
)
return
[]
time
.
Time
{},
fmt
.
Errorf
(
"
too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew
"
)
}
}
return
starts
,
nil
...
...
@@ -183,6 +183,7 @@ func getFinishedStatus(j *batchv1.Job) (bool, batchv1.JobConditionType) {
return
false
,
""
}
// IsJobFinished returns whether or not a job has completed successfully or failed.
func
IsJobFinished
(
j
*
batchv1
.
Job
)
bool
{
isFinished
,
_
:=
getFinishedStatus
(
j
)
return
isFinished
...
...
pkg/controller/cronjob/utils_test.go
View file @
2086f815
...
...
@@ -35,7 +35,7 @@ func TestGetJobFromTemplate(t *testing.T) {
// and other fields, and add a created-by reference.
var
one
int64
=
1
var
no
bool
=
false
var
no
bool
sj
:=
batchv1beta1
.
CronJob
{
ObjectMeta
:
metav1
.
ObjectMeta
{
...
...
test/integration/cronjob/cronjob_test.go
View file @
2086f815
...
...
@@ -38,7 +38,7 @@ import (
"k8s.io/kubernetes/test/integration/framework"
)
func
setup
(
t
*
testing
.
T
)
(
*
httptest
.
Server
,
framework
.
CloseFunc
,
*
cronjob
.
C
ronJobC
ontroller
,
*
job
.
JobController
,
informers
.
SharedInformerFactory
,
clientset
.
Interface
,
rest
.
Config
)
{
func
setup
(
t
*
testing
.
T
)
(
*
httptest
.
Server
,
framework
.
CloseFunc
,
*
cronjob
.
Controller
,
*
job
.
JobController
,
informers
.
SharedInformerFactory
,
clientset
.
Interface
,
rest
.
Config
)
{
masterConfig
:=
framework
.
NewIntegrationTestMasterConfig
()
_
,
server
,
closeFn
:=
framework
.
RunAMaster
(
masterConfig
)
...
...
@@ -49,7 +49,7 @@ func setup(t *testing.T) (*httptest.Server, framework.CloseFunc, *cronjob.CronJo
}
resyncPeriod
:=
12
*
time
.
Hour
informerSet
:=
informers
.
NewSharedInformerFactory
(
clientset
.
NewForConfigOrDie
(
restclient
.
AddUserAgent
(
&
config
,
"cronjob-informers"
)),
resyncPeriod
)
cjc
,
err
:=
cronjob
.
NewC
ronJobC
ontroller
(
clientSet
)
cjc
,
err
:=
cronjob
.
NewController
(
clientSet
)
if
err
!=
nil
{
t
.
Fatalf
(
"Error creating CronJob controller: %v"
,
err
)
}
...
...
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