本文整理汇总了Golang中github.com/kubernetes/dashboard/src/app/backend/resource/common.NewSameNamespaceQuery函数的典型用法代码示例。如果您正苦于以下问题:Golang NewSameNamespaceQuery函数的具体用法?Golang NewSameNamespaceQuery怎么用?Golang NewSameNamespaceQuery使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewSameNamespaceQuery函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: GetPodsEvents
// GetPodsEvents gets pods events associated to resource targeted by given resource selector.
func GetPodsEvents(client client.Interface, namespace string, resourceSelector map[string]string) (
[]api.Event, error) {
channels := &common.ResourceChannels{
PodList: common.GetPodListChannelWithOptions(
client,
common.NewSameNamespaceQuery(namespace),
api.ListOptions{
LabelSelector: labels.SelectorFromSet(resourceSelector),
FieldSelector: fields.Everything(),
},
1),
EventList: common.GetEventListChannel(client, common.NewSameNamespaceQuery(namespace), 1),
}
podList := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
eventList := <-channels.EventList.List
if err := <-channels.EventList.Error; err != nil {
return nil, err
}
events := filterEventsByPodsUID(eventList.Items, podList.Items)
return events, nil
}
示例2: GetDeploymentOldReplicaSets
// GetDeploymentEvents returns model events for a deployment with the given name in the given
// namespace
func GetDeploymentOldReplicaSets(client client.Interface, dsQuery *dataselect.DataSelectQuery,
namespace string, deploymentName string) (*replicasetlist.ReplicaSetList, error) {
deployment, err := client.Extensions().Deployments(namespace).Get(deploymentName)
if err != nil {
return nil, err
}
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
if err != nil {
return nil, err
}
options := api.ListOptions{LabelSelector: selector}
channels := &common.ResourceChannels{
ReplicaSetList: common.GetReplicaSetListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace), options, 1),
PodList: common.GetPodListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace), options, 1),
EventList: common.GetEventListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace), options, 1),
}
rawRs := <-channels.ReplicaSetList.List
if err := <-channels.ReplicaSetList.Error; err != nil {
return nil, err
}
rawPods := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
rawEvents := <-channels.EventList.List
if err := <-channels.EventList.Error; err != nil {
return nil, err
}
rawRepSets := make([]*extensions.ReplicaSet, 0)
for i := range rawRs.Items {
rawRepSets = append(rawRepSets, &rawRs.Items[i])
}
oldRs, _, err := deploymentutil.FindOldReplicaSets(deployment, rawRepSets, rawPods)
if err != nil {
return nil, err
}
oldReplicaSets := make([]extensions.ReplicaSet, len(oldRs))
for i, replicaSet := range oldRs {
oldReplicaSets[i] = *replicaSet
}
oldReplicaSetList := replicasetlist.CreateReplicaSetList(oldReplicaSets, rawPods.Items, rawEvents.Items,
dsQuery, nil)
return oldReplicaSetList, nil
}
示例3: GetDeploymentPods
// getJobPods returns list of pods targeting deployment.
func GetDeploymentPods(client client.Interface, heapsterClient heapster.HeapsterClient,
dsQuery *dataselect.DataSelectQuery, namespace string, deploymentName string) (*pod.PodList, error) {
deployment, err := client.Extensions().Deployments(namespace).Get(deploymentName)
if err != nil {
return nil, err
}
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
if err != nil {
return nil, err
}
options := api.ListOptions{LabelSelector: selector}
channels := &common.ResourceChannels{
PodList: common.GetPodListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace), options, 1),
}
rawPods := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
pods := common.FilterNamespacedPodsBySelector(rawPods.Items, deployment.ObjectMeta.Namespace,
deployment.Spec.Selector.MatchLabels)
podList := pod.CreatePodList(pods, []api.Event{}, dsQuery, heapsterClient)
return &podList, nil
}
示例4: GetEvents
// GetEvents gets events associated to resource with given name.
func GetEvents(client client.Interface, namespace, resourceName string) ([]api.Event, error) {
fieldSelector, err := fields.ParseSelector("involvedObject.name=" + resourceName)
if err != nil {
return nil, err
}
channels := &common.ResourceChannels{
EventList: common.GetEventListChannelWithOptions(
client,
common.NewSameNamespaceQuery(namespace),
api.ListOptions{
LabelSelector: labels.Everything(),
FieldSelector: fieldSelector,
},
1),
}
eventList := <-channels.EventList.List
if err := <-channels.EventList.Error; err != nil {
return nil, err
}
return eventList.Items, nil
}
示例5: GetServicePods
// GetServicePods gets list of pods targeted by given label selector in given namespace.
func GetServicePods(client k8sClient.Interface, heapsterClient client.HeapsterClient, namespace,
name string, dsQuery *dataselect.DataSelectQuery) (*pod.PodList, error) {
service, err := client.Core().Services(namespace).Get(name)
if err != nil {
return nil, err
}
labelSelector := labels.SelectorFromSet(service.Spec.Selector)
channels := &common.ResourceChannels{
PodList: common.GetPodListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace),
api.ListOptions{
LabelSelector: labelSelector,
FieldSelector: fields.Everything(),
},
1),
}
apiPodList := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
podList := pod.CreatePodList(apiPodList.Items, dsQuery, heapsterClient)
return &podList, nil
}
示例6: GetPodDetail
// GetPodDetail returns the details (PodDetail) of a named Pod from a particular
// namespace.
func GetPodDetail(client k8sClient.Interface, heapsterClient client.HeapsterClient,
namespace, name string) (*PodDetail, error) {
log.Printf("Getting details of %s pod in %s namespace", name, namespace)
channels := &common.ResourceChannels{
ConfigMapList: common.GetConfigMapListChannel(client, common.NewSameNamespaceQuery(namespace), 1),
PodMetrics: common.GetPodMetricsChannel(heapsterClient, name, namespace),
}
pod, err := client.Pods(namespace).Get(name)
if err != nil {
return nil, err
}
// Download metrics
_, metricPromises := dataselect.GenericDataSelectWithMetrics(toCells([]api.Pod{*pod}),
dataselect.StdMetricsDataSelect, dataselect.NoResourceCache, &heapsterClient)
metrics, _ := metricPromises.GetMetrics()
if err = <-channels.ConfigMapList.Error; err != nil {
return nil, err
}
configMapList := <-channels.ConfigMapList.List
podDetail := toPodDetail(pod, metrics, configMapList)
return &podDetail, nil
}
示例7: GetDeploymentEvents
// GetDeploymentEvents returns model events for a deployment with the given name in the given
// namespace
func GetDeploymentEvents(client client.Interface, dsQuery *dataselect.DataSelectQuery, namespace string, deploymentName string) (
*common.EventList, error) {
deployment, err := client.Extensions().Deployments(namespace).Get(deploymentName)
if err != nil {
return nil, err
}
selector, err := unversioned.LabelSelectorAsSelector(deployment.Spec.Selector)
if err != nil {
return nil, err
}
options := api.ListOptions{LabelSelector: selector}
channels := &common.ResourceChannels{
EventList: common.GetEventListChannelWithOptions(client,
common.NewSameNamespaceQuery(namespace), options, 1),
}
eventRaw := <-channels.EventList.List
if err := <-channels.EventList.Error; err != nil {
return nil, err
}
dpEvents := eventRaw.Items
if !event.IsTypeFilled(dpEvents) {
dpEvents = event.FillEventsType(dpEvents)
}
eventList := event.CreateEventList(dpEvents, dsQuery)
return &eventList, nil
}
示例8: GetPodDetail
// GetPodDetail returns the details (PodDetail) of a named Pod from a particular
// namespace.
func GetPodDetail(client k8sClient.Interface, heapsterClient client.HeapsterClient,
namespace, name string) (*PodDetail, error) {
log.Printf("Getting details of %s pod in %s namespace", name, namespace)
channels := &common.ResourceChannels{
ConfigMapList: common.GetConfigMapListChannel(client, common.NewSameNamespaceQuery(namespace), 1),
PodMetrics: common.GetPodMetricsChannel(heapsterClient, name, namespace),
}
pod, err := client.Core().Pods(namespace).Get(name)
if err != nil {
return nil, err
}
controller := Controller{
Kind: "unknown",
}
creatorAnnotation, found := pod.ObjectMeta.Annotations[api.CreatedByAnnotation]
if found {
creatorRef, err := getPodCreator(client, creatorAnnotation, common.NewSameNamespaceQuery(namespace), heapsterClient)
if err != nil {
return nil, err
}
controller = *creatorRef
}
// Download metrics
_, metricPromises := dataselect.GenericDataSelectWithMetrics(toCells([]api.Pod{*pod}),
dataselect.StdMetricsDataSelect, dataselect.NoResourceCache, &heapsterClient)
metrics, _ := metricPromises.GetMetrics()
if err = <-channels.ConfigMapList.Error; err != nil {
return nil, err
}
configMapList := <-channels.ConfigMapList.List
podDetail := toPodDetail(pod, metrics, configMapList, controller)
return &podDetail, nil
}
示例9: getJobPodInfo
// Returns simple info about pods(running, desired, failing, etc.) related to given job.
func getJobPodInfo(client k8sClient.Interface, job *batch.Job) (*common.PodInfo, error) {
labelSelector := labels.SelectorFromSet(job.Spec.Selector.MatchLabels)
channels := &common.ResourceChannels{
PodList: common.GetPodListChannelWithOptions(client, common.NewSameNamespaceQuery(
job.Namespace),
api.ListOptions{
LabelSelector: labelSelector,
FieldSelector: fields.Everything(),
}, 1),
}
pods := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
podInfo := common.GetPodInfo(job.Status.Active, *job.Spec.Completions, pods.Items)
return &podInfo, nil
}
示例10: GetHorizontalPodAutoscalerListForResource
func GetHorizontalPodAutoscalerListForResource(client k8sClient.Interface, namespace, kind, name string) (*HorizontalPodAutoscalerList, error) {
nsQuery := common.NewSameNamespaceQuery(namespace)
channel := common.GetHorizontalPodAutoscalerListChannel(client, nsQuery, 1)
hpaList := <-channel.List
if err := <-channel.Error; err != nil {
return nil, err
}
filteredHpaList := make([]autoscaling.HorizontalPodAutoscaler, 0)
for _, hpa := range hpaList.Items {
if hpa.Spec.ScaleTargetRef.Kind == kind && hpa.Spec.ScaleTargetRef.Name == name {
filteredHpaList = append(filteredHpaList, hpa)
}
}
return createHorizontalPodAutoscalerList(filteredHpaList), nil
}
示例11: getReplicationControllerPodInfo
// Returns simple info about pods(running, desired, failing, etc.) related to given replication
// controller.
func getReplicationControllerPodInfo(client k8sClient.Interface, rc *api.ReplicationController,
namespace string) (*common.PodInfo, error) {
labelSelector := labels.SelectorFromSet(rc.Spec.Selector)
channels := &common.ResourceChannels{
PodList: common.GetPodListChannelWithOptions(client, common.NewSameNamespaceQuery(namespace),
api.ListOptions{
LabelSelector: labelSelector,
FieldSelector: fields.Everything(),
}, 1),
}
pods := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
podInfo := common.GetPodInfo(rc.Status.Replicas, rc.Spec.Replicas, pods.Items)
return &podInfo, nil
}
示例12: getRawStatefulSetPods
// Returns array of api pods targeting pet set with given name.
func getRawStatefulSetPods(client *k8sClient.Clientset, statefulSetName, namespace string) (
[]api.Pod, error) {
statefulSet, err := client.Apps().StatefulSets(namespace).Get(statefulSetName)
if err != nil {
return nil, err
}
channels := &common.ResourceChannels{
PodList: common.GetPodListChannel(client, common.NewSameNamespaceQuery(namespace), 1),
}
podList := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
matchingPods := common.FilterNamespacedPodsByLabelSelector(podList.Items,
statefulSet.ObjectMeta.Namespace, statefulSet.Spec.Selector)
return matchingPods, nil
}
示例13: getRawDaemonSetPods
// Returns array of api pods targeting daemon set with given name.
func getRawDaemonSetPods(client k8sClient.Interface, daemonSetName, namespace string) (
[]api.Pod, error) {
daemonSet, err := client.Extensions().DaemonSets(namespace).Get(daemonSetName)
if err != nil {
return nil, err
}
channels := &common.ResourceChannels{
PodList: common.GetPodListChannel(client, common.NewSameNamespaceQuery(namespace), 1),
}
podList := <-channels.PodList.List
if err := <-channels.PodList.Error; err != nil {
return nil, err
}
matchingPods := common.FilterNamespacedPodsByLabelSelector(podList.Items,
daemonSet.ObjectMeta.Namespace, daemonSet.Spec.Selector)
return matchingPods, nil
}
示例14: GetDaemonSetServices
// GetDaemonSetServices returns list of services that are related to daemon set targeted by given
// name.
func GetDaemonSetServices(client client.Interface, dsQuery *dataselect.DataSelectQuery,
namespace, name string) (*service.ServiceList, error) {
daemonSet, err := client.Extensions().DaemonSets(namespace).Get(name)
if err != nil {
return nil, err
}
channels := &common.ResourceChannels{
ServiceList: common.GetServiceListChannel(client, common.NewSameNamespaceQuery(namespace),
1),
}
services := <-channels.ServiceList.List
if err := <-channels.ServiceList.Error; err != nil {
return nil, err
}
matchingServices := common.FilterNamespacedServicesBySelector(services.Items, namespace,
daemonSet.Spec.Selector.MatchLabels)
return service.CreateServiceList(matchingServices, dsQuery), nil
}
示例15: GetReplicationControllerServices
// GetReplicationControllerServices returns list of services that are related to replication
// controller targeted by given name.
func GetReplicationControllerServices(client client.Interface, dsQuery *dataselect.DataSelectQuery,
namespace, rcName string) (*service.ServiceList, error) {
replicationController, err := client.ReplicationControllers(namespace).Get(rcName)
if err != nil {
return nil, err
}
channels := &common.ResourceChannels{
ServiceList: common.GetServiceListChannel(client, common.NewSameNamespaceQuery(namespace),
1),
}
services := <-channels.ServiceList.List
if err := <-channels.ServiceList.Error; err != nil {
return nil, err
}
matchingServices := common.FilterNamespacedServicesBySelector(services.Items, namespace,
replicationController.Spec.Selector)
return service.CreateServiceList(matchingServices, dsQuery), nil
}