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
5cb7ddbf
Commit
5cb7ddbf
authored
Aug 17, 2017
by
Yinan Li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added lister expansions for DaemonSet, Deployment, ReplicaSet, and
StatefulSet for apps/v1beta2
parent
ca893082
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
339 additions
and
32 deletions
+339
-32
BUILD
staging/src/k8s.io/client-go/listers/apps/v1beta2/BUILD
+6
-0
daemonset_expansion.go
....io/client-go/listers/apps/v1beta2/daemonset_expansion.go
+113
-0
deployment_expansion.go
...io/client-go/listers/apps/v1beta2/deployment_expansion.go
+70
-0
expansion_generated.go
....io/client-go/listers/apps/v1beta2/expansion_generated.go
+0
-32
replicaset_expansion.go
...io/client-go/listers/apps/v1beta2/replicaset_expansion.go
+73
-0
statefulset_expansion.go
...o/client-go/listers/apps/v1beta2/statefulset_expansion.go
+77
-0
No files found.
staging/src/k8s.io/client-go/listers/apps/v1beta2/BUILD
View file @
5cb7ddbf
...
...
@@ -10,15 +10,21 @@ go_library(
srcs = [
"controllerrevision.go",
"daemonset.go",
"daemonset_expansion.go",
"deployment.go",
"deployment_expansion.go",
"expansion_generated.go",
"replicaset.go",
"replicaset_expansion.go",
"scale.go",
"statefulset.go",
"statefulset_expansion.go",
],
deps = [
"//vendor/k8s.io/api/apps/v1beta2:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/labels:go_default_library",
"//vendor/k8s.io/client-go/tools/cache:go_default_library",
],
...
...
staging/src/k8s.io/client-go/listers/apps/v1beta2/daemonset_expansion.go
0 → 100644
View file @
5cb7ddbf
/*
Copyright 2017 The Kubernetes Authors.
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
v1beta2
import
(
"fmt"
apps
"k8s.io/api/apps/v1beta2"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
// DaemonSetListerExpansion allows custom methods to be added to
// DaemonSetLister.
type
DaemonSetListerExpansion
interface
{
GetPodDaemonSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
DaemonSet
,
error
)
GetHistoryDaemonSets
(
history
*
apps
.
ControllerRevision
)
([]
*
apps
.
DaemonSet
,
error
)
}
// DaemonSetNamespaceListerExpansion allows custom methods to be added to
// DaemonSetNamespaceLister.
type
DaemonSetNamespaceListerExpansion
interface
{}
// GetPodDaemonSets returns a list of DaemonSets that potentially match a pod.
// Only the one specified in the Pod's ControllerRef will actually manage it.
// Returns an error only if no matching DaemonSets are found.
func
(
s
*
daemonSetLister
)
GetPodDaemonSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
DaemonSet
,
error
)
{
var
selector
labels
.
Selector
var
daemonSet
*
apps
.
DaemonSet
if
len
(
pod
.
Labels
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"no daemon sets found for pod %v because it has no labels"
,
pod
.
Name
)
}
list
,
err
:=
s
.
DaemonSets
(
pod
.
Namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
return
nil
,
err
}
var
daemonSets
[]
*
apps
.
DaemonSet
for
i
:=
range
list
{
daemonSet
=
list
[
i
]
if
daemonSet
.
Namespace
!=
pod
.
Namespace
{
continue
}
selector
,
err
=
metav1
.
LabelSelectorAsSelector
(
daemonSet
.
Spec
.
Selector
)
if
err
!=
nil
{
// this should not happen if the DaemonSet passed validation
return
nil
,
err
}
// If a daemonSet with a nil or empty selector creeps in, it should match nothing, not everything.
if
selector
.
Empty
()
||
!
selector
.
Matches
(
labels
.
Set
(
pod
.
Labels
))
{
continue
}
daemonSets
=
append
(
daemonSets
,
daemonSet
)
}
if
len
(
daemonSets
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"could not find daemon set for pod %s in namespace %s with labels: %v"
,
pod
.
Name
,
pod
.
Namespace
,
pod
.
Labels
)
}
return
daemonSets
,
nil
}
// GetHistoryDaemonSets returns a list of DaemonSets that potentially
// match a ControllerRevision. Only the one specified in the ControllerRevision's ControllerRef
// will actually manage it.
// Returns an error only if no matching DaemonSets are found.
func
(
s
*
daemonSetLister
)
GetHistoryDaemonSets
(
history
*
apps
.
ControllerRevision
)
([]
*
apps
.
DaemonSet
,
error
)
{
if
len
(
history
.
Labels
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"no DaemonSet found for ControllerRevision %s because it has no labels"
,
history
.
Name
)
}
list
,
err
:=
s
.
DaemonSets
(
history
.
Namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
return
nil
,
err
}
var
daemonSets
[]
*
apps
.
DaemonSet
for
_
,
ds
:=
range
list
{
selector
,
err
:=
metav1
.
LabelSelectorAsSelector
(
ds
.
Spec
.
Selector
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid label selector: %v"
,
err
)
}
// If a DaemonSet with a nil or empty selector creeps in, it should match nothing, not everything.
if
selector
.
Empty
()
||
!
selector
.
Matches
(
labels
.
Set
(
history
.
Labels
))
{
continue
}
daemonSets
=
append
(
daemonSets
,
ds
)
}
if
len
(
daemonSets
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"could not find DaemonSets for ControllerRevision %s in namespace %s with labels: %v"
,
history
.
Name
,
history
.
Namespace
,
history
.
Labels
)
}
return
daemonSets
,
nil
}
staging/src/k8s.io/client-go/listers/apps/v1beta2/deployment_expansion.go
0 → 100644
View file @
5cb7ddbf
/*
Copyright 2017 The Kubernetes Authors.
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
v1beta2
import
(
"fmt"
apps
"k8s.io/api/apps/v1beta2"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
// DeploymentListerExpansion allows custom methods to be added to
// DeploymentLister.
type
DeploymentListerExpansion
interface
{
GetDeploymentsForReplicaSet
(
rs
*
apps
.
ReplicaSet
)
([]
*
apps
.
Deployment
,
error
)
}
// DeploymentNamespaceListerExpansion allows custom methods to be added to
// DeploymentNamespaceLister.
type
DeploymentNamespaceListerExpansion
interface
{}
// GetDeploymentsForReplicaSet returns a list of Deployments that potentially
// match a ReplicaSet. Only the one specified in the ReplicaSet's ControllerRef
// will actually manage it.
// Returns an error only if no matching Deployments are found.
func
(
s
*
deploymentLister
)
GetDeploymentsForReplicaSet
(
rs
*
apps
.
ReplicaSet
)
([]
*
apps
.
Deployment
,
error
)
{
if
len
(
rs
.
Labels
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"no deployments found for ReplicaSet %v because it has no labels"
,
rs
.
Name
)
}
// TODO: MODIFY THIS METHOD so that it checks for the podTemplateSpecHash label
dList
,
err
:=
s
.
Deployments
(
rs
.
Namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
return
nil
,
err
}
var
deployments
[]
*
apps
.
Deployment
for
_
,
d
:=
range
dList
{
selector
,
err
:=
metav1
.
LabelSelectorAsSelector
(
d
.
Spec
.
Selector
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid label selector: %v"
,
err
)
}
// If a deployment with a nil or empty selector creeps in, it should match nothing, not everything.
if
selector
.
Empty
()
||
!
selector
.
Matches
(
labels
.
Set
(
rs
.
Labels
))
{
continue
}
deployments
=
append
(
deployments
,
d
)
}
if
len
(
deployments
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"could not find deployments set for ReplicaSet %s in namespace %s with labels: %v"
,
rs
.
Name
,
rs
.
Namespace
,
rs
.
Labels
)
}
return
deployments
,
nil
}
staging/src/k8s.io/client-go/listers/apps/v1beta2/expansion_generated.go
View file @
5cb7ddbf
...
...
@@ -26,30 +26,6 @@ type ControllerRevisionListerExpansion interface{}
// ControllerRevisionNamespaceLister.
type
ControllerRevisionNamespaceListerExpansion
interface
{}
// DaemonSetListerExpansion allows custom methods to be added to
// DaemonSetLister.
type
DaemonSetListerExpansion
interface
{}
// DaemonSetNamespaceListerExpansion allows custom methods to be added to
// DaemonSetNamespaceLister.
type
DaemonSetNamespaceListerExpansion
interface
{}
// DeploymentListerExpansion allows custom methods to be added to
// DeploymentLister.
type
DeploymentListerExpansion
interface
{}
// DeploymentNamespaceListerExpansion allows custom methods to be added to
// DeploymentNamespaceLister.
type
DeploymentNamespaceListerExpansion
interface
{}
// ReplicaSetListerExpansion allows custom methods to be added to
// ReplicaSetLister.
type
ReplicaSetListerExpansion
interface
{}
// ReplicaSetNamespaceListerExpansion allows custom methods to be added to
// ReplicaSetNamespaceLister.
type
ReplicaSetNamespaceListerExpansion
interface
{}
// ScaleListerExpansion allows custom methods to be added to
// ScaleLister.
type
ScaleListerExpansion
interface
{}
...
...
@@ -57,11 +33,3 @@ type ScaleListerExpansion interface{}
// ScaleNamespaceListerExpansion allows custom methods to be added to
// ScaleNamespaceLister.
type
ScaleNamespaceListerExpansion
interface
{}
// StatefulSetListerExpansion allows custom methods to be added to
// StatefulSetLister.
type
StatefulSetListerExpansion
interface
{}
// StatefulSetNamespaceListerExpansion allows custom methods to be added to
// StatefulSetNamespaceLister.
type
StatefulSetNamespaceListerExpansion
interface
{}
staging/src/k8s.io/client-go/listers/apps/v1beta2/replicaset_expansion.go
0 → 100644
View file @
5cb7ddbf
/*
Copyright 2017 The Kubernetes Authors.
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
v1beta2
import
(
"fmt"
apps
"k8s.io/api/apps/v1beta2"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
// ReplicaSetListerExpansion allows custom methods to be added to
// ReplicaSetLister.
type
ReplicaSetListerExpansion
interface
{
GetPodReplicaSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
ReplicaSet
,
error
)
}
// ReplicaSetNamespaceListerExpansion allows custom methods to be added to
// ReplicaSetNamespaceLister.
type
ReplicaSetNamespaceListerExpansion
interface
{}
// GetPodReplicaSets returns a list of ReplicaSets that potentially match a pod.
// Only the one specified in the Pod's ControllerRef will actually manage it.
// Returns an error only if no matching ReplicaSets are found.
func
(
s
*
replicaSetLister
)
GetPodReplicaSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
ReplicaSet
,
error
)
{
if
len
(
pod
.
Labels
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"no ReplicaSets found for pod %v because it has no labels"
,
pod
.
Name
)
}
list
,
err
:=
s
.
ReplicaSets
(
pod
.
Namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
return
nil
,
err
}
var
rss
[]
*
apps
.
ReplicaSet
for
_
,
rs
:=
range
list
{
if
rs
.
Namespace
!=
pod
.
Namespace
{
continue
}
selector
,
err
:=
metav1
.
LabelSelectorAsSelector
(
rs
.
Spec
.
Selector
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid selector: %v"
,
err
)
}
// If a ReplicaSet with a nil or empty selector creeps in, it should match nothing, not everything.
if
selector
.
Empty
()
||
!
selector
.
Matches
(
labels
.
Set
(
pod
.
Labels
))
{
continue
}
rss
=
append
(
rss
,
rs
)
}
if
len
(
rss
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"could not find ReplicaSet for pod %s in namespace %s with labels: %v"
,
pod
.
Name
,
pod
.
Namespace
,
pod
.
Labels
)
}
return
rss
,
nil
}
staging/src/k8s.io/client-go/listers/apps/v1beta2/statefulset_expansion.go
0 → 100644
View file @
5cb7ddbf
/*
Copyright 2017 The Kubernetes Authors.
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
v1beta2
import
(
"fmt"
apps
"k8s.io/api/apps/v1beta2"
"k8s.io/api/core/v1"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
)
// StatefulSetListerExpansion allows custom methods to be added to
// StatefulSetLister.
type
StatefulSetListerExpansion
interface
{
GetPodStatefulSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
StatefulSet
,
error
)
}
// StatefulSetNamespaceListerExpansion allows custom methods to be added to
// StatefulSetNamespaceLister.
type
StatefulSetNamespaceListerExpansion
interface
{}
// GetPodStatefulSets returns a list of StatefulSets that potentially match a pod.
// Only the one specified in the Pod's ControllerRef will actually manage it.
// Returns an error only if no matching StatefulSets are found.
func
(
s
*
statefulSetLister
)
GetPodStatefulSets
(
pod
*
v1
.
Pod
)
([]
*
apps
.
StatefulSet
,
error
)
{
var
selector
labels
.
Selector
var
ps
*
apps
.
StatefulSet
if
len
(
pod
.
Labels
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"no StatefulSets found for pod %v because it has no labels"
,
pod
.
Name
)
}
list
,
err
:=
s
.
StatefulSets
(
pod
.
Namespace
)
.
List
(
labels
.
Everything
())
if
err
!=
nil
{
return
nil
,
err
}
var
psList
[]
*
apps
.
StatefulSet
for
i
:=
range
list
{
ps
=
list
[
i
]
if
ps
.
Namespace
!=
pod
.
Namespace
{
continue
}
selector
,
err
=
metav1
.
LabelSelectorAsSelector
(
ps
.
Spec
.
Selector
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"invalid selector: %v"
,
err
)
}
// If a StatefulSet with a nil or empty selector creeps in, it should match nothing, not everything.
if
selector
.
Empty
()
||
!
selector
.
Matches
(
labels
.
Set
(
pod
.
Labels
))
{
continue
}
psList
=
append
(
psList
,
ps
)
}
if
len
(
psList
)
==
0
{
return
nil
,
fmt
.
Errorf
(
"could not find StatefulSet for pod %s in namespace %s with labels: %v"
,
pod
.
Name
,
pod
.
Namespace
,
pod
.
Labels
)
}
return
psList
,
nil
}
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