Skip to content

Commit

Permalink
Merge pull request #18344 from juanvallejo/jvallejo/pick-origin-pr-18150
Browse files Browse the repository at this point in the history
Automatic merge from submit-queue.

Pick 18150: track deployment scaleRefs for hpas

Picks #18150
Backport part of fix for https://bugzilla.redhat.com/show_bug.cgi?id=1539876

Manual pick [due to merge conflicts](#18150 (comment)) with cherry-picking from original PR onto 3.8 / 3.7

cc @soltysh
  • Loading branch information
openshift-merge-robot authored Jan 31, 2018
2 parents c15b800 + a9aa3e3 commit 47a7399
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pkg/api/kubegraph/edges.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
kapi "k8s.io/kubernetes/pkg/api"
kapisext "k8s.io/kubernetes/pkg/apis/extensions"

osgraph "github.com/openshift/origin/pkg/api/graph"
kubegraph "github.com/openshift/origin/pkg/api/kubegraph/nodes"
deployapi "github.com/openshift/origin/pkg/apps/apis/apps"
appsgraph "github.com/openshift/origin/pkg/apps/graph/nodes"
deploygraph "github.com/openshift/origin/pkg/apps/graph/nodes"
)

Expand Down Expand Up @@ -241,6 +243,8 @@ func AddHPAScaleRefEdges(g osgraph.Graph) {
syntheticNode = kubegraph.FindOrCreateSyntheticReplicationControllerNode(g, &kapi.ReplicationController{ObjectMeta: syntheticMeta})
case deployapi.IsResourceOrLegacy("deploymentconfigs", r):
syntheticNode = deploygraph.FindOrCreateSyntheticDeploymentConfigNode(g, &deployapi.DeploymentConfig{ObjectMeta: syntheticMeta})
case r == kapisext.Resource("deployments"):
syntheticNode = appsgraph.FindOrCreateSyntheticDeploymentNode(g, &kapisext.Deployment{ObjectMeta: syntheticMeta})
default:
continue
}
Expand Down
28 changes: 28 additions & 0 deletions pkg/oc/cli/describe/projectstatus.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ import (
kapi "k8s.io/kubernetes/pkg/api"
kapps "k8s.io/kubernetes/pkg/apis/apps"
"k8s.io/kubernetes/pkg/apis/autoscaling"
kapisext "k8s.io/kubernetes/pkg/apis/extensions"
kclientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
kappsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/apps/internalversion"
kautoscalingclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/autoscaling/internalversion"
kcoreclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/internalversion"
kapisextclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion"

osgraph "github.com/openshift/origin/pkg/api/graph"
"github.com/openshift/origin/pkg/api/graph/graphview"
Expand All @@ -30,6 +32,7 @@ import (
appsclient "github.com/openshift/origin/pkg/apps/generated/internalclientset/typed/apps/internalversion"
deployedges "github.com/openshift/origin/pkg/apps/graph"
deployanalysis "github.com/openshift/origin/pkg/apps/graph/analysis"
appsgraph "github.com/openshift/origin/pkg/apps/graph/nodes"
deploygraph "github.com/openshift/origin/pkg/apps/graph/nodes"
deployutil "github.com/openshift/origin/pkg/apps/util"
buildapi "github.com/openshift/origin/pkg/build/apis/build"
Expand Down Expand Up @@ -93,6 +96,7 @@ func (d *ProjectStatusDescriber) MakeGraph(namespace string) (osgraph.Graph, set
&podLoader{namespace: namespace, lister: d.K.Core()},
&statefulSetLoader{namespace: namespace, lister: d.K.Apps()},
&horizontalPodAutoscalerLoader{namespace: namespace, lister: d.K.Autoscaling()},
&deploymentLoader{namespace: namespace, lister: d.K.Extensions()},
// TODO check swagger for feature enablement and selectively add bcLoader and buildLoader
// then remove errors.TolerateNotFoundError method.
&bcLoader{namespace: namespace, lister: d.BuildClient},
Expand Down Expand Up @@ -1381,6 +1385,30 @@ func (l *horizontalPodAutoscalerLoader) AddToGraph(g osgraph.Graph) error {
return nil
}

type deploymentLoader struct {
namespace string
lister kapisextclient.DeploymentsGetter
items []kapisext.Deployment
}

func (l *deploymentLoader) Load() error {
list, err := l.lister.Deployments(l.namespace).List(metav1.ListOptions{})
if err != nil {
return err
}

l.items = list.Items
return nil
}

func (l *deploymentLoader) AddToGraph(g osgraph.Graph) error {
for i := range l.items {
appsgraph.EnsureDeploymentNode(g, &l.items[i])
}

return nil
}

type serviceAccountLoader struct {
namespace string
lister kcoreclient.ServiceAccountsGetter
Expand Down

0 comments on commit 47a7399

Please sign in to comment.