@@ -44,6 +44,7 @@ func (d *ProjectStatusDescriber) MakeGraph(namespace string) (osgraph.Graph, err
44
44
loaders := []GraphLoader {
45
45
& serviceLoader {namespace : namespace , lister : d .K },
46
46
& rcLoader {namespace : namespace , lister : d .K },
47
+ & podLoader {namespace : namespace , lister : d .K },
47
48
& bcLoader {namespace : namespace , lister : d .C },
48
49
& buildLoader {namespace : namespace , lister : d .C },
49
50
& isLoader {namespace : namespace , lister : d .C },
@@ -63,6 +64,8 @@ func (d *ProjectStatusDescriber) MakeGraph(namespace string) (osgraph.Graph, err
63
64
}
64
65
65
66
kubeedges .AddAllExposedPodTemplateSpecEdges (g )
67
+ kubeedges .AddAllExposedPodEdges (g )
68
+ kubeedges .AddAllManagedByRCPodEdges (g )
66
69
buildedges .AddAllInputOutputEdges (g )
67
70
buildedges .AddAllBuildEdges (g )
68
71
deployedges .AddAllTriggerEdges (g )
@@ -116,6 +119,17 @@ func (d *ProjectStatusDescriber) Describe(namespace, name string) (string, error
116
119
}
117
120
printLines (out , indent , 1 , describeRCInServiceGroup (rcNode )... )
118
121
}
122
+
123
+ pod:
124
+ for _ , podNode := range service .FulfillingPods {
125
+ // skip pods that have been displayed in a roll-up of RCs and DCs (by implicit usage of RCs)
126
+ for _ , coveredRC := range service .FulfillingRCs {
127
+ if g .EdgeBetween (podNode , coveredRC ) != nil {
128
+ continue pod
129
+ }
130
+ }
131
+ printLines (out , indent , 1 , describePodInServiceGroup (podNode )... )
132
+ }
119
133
}
120
134
121
135
for _ , standaloneDC := range standaloneDCs {
@@ -139,8 +153,8 @@ func (d *ProjectStatusDescriber) Describe(namespace, name string) (string, error
139
153
140
154
if hasUnresolvedImageStreamTag (g ) {
141
155
fmt .Fprintln (out , "Warning: Some of your builds are pointing to image streams, but the administrator has not configured the integrated Docker registry (oadm registry)." )
142
-
143
156
}
157
+
144
158
fmt .Fprintln (out , "To see more, use 'oc describe service <name>' or 'oc describe dc <name>'." )
145
159
fmt .Fprintln (out , "You can use 'oc get all' to see a list of other objects." )
146
160
}
@@ -214,6 +228,16 @@ func describeRCInServiceGroup(rcNode *kubegraph.ReplicationControllerNode) []str
214
228
return lines
215
229
}
216
230
231
+ func describePodInServiceGroup (podNode * kubegraph.PodNode ) []string {
232
+ images := []string {}
233
+ for _ , container := range podNode .Pod .Spec .Containers {
234
+ images = append (images , container .Image )
235
+ }
236
+
237
+ lines := []string {fmt .Sprintf ("pod/%s runs %s" , podNode .Pod .Name , strings .Join (images , ", " ))}
238
+ return lines
239
+ }
240
+
217
241
func describeDeploymentConfigTrigger (dc * deployapi.DeploymentConfig ) string {
218
242
if len (dc .Triggers ) == 0 {
219
243
return "(manual)"
@@ -625,14 +649,14 @@ func (l *serviceLoader) AddToGraph(g osgraph.Graph) error {
625
649
return nil
626
650
}
627
651
628
- type bcLoader struct {
652
+ type rcLoader struct {
629
653
namespace string
630
- lister client. BuildConfigsNamespacer
631
- items []buildapi. BuildConfig
654
+ lister kclient. ReplicationControllersNamespacer
655
+ items []kapi. ReplicationController
632
656
}
633
657
634
- func (l * bcLoader ) Load () error {
635
- list , err := l .lister .BuildConfigs (l .namespace ).List (labels . Everything (), fields .Everything ())
658
+ func (l * rcLoader ) Load () error {
659
+ list , err := l .lister .ReplicationControllers (l .namespace ).List (labels .Everything ())
636
660
if err != nil {
637
661
return err
638
662
}
@@ -641,9 +665,33 @@ func (l *bcLoader) Load() error {
641
665
return nil
642
666
}
643
667
644
- func (l * bcLoader ) AddToGraph (g osgraph.Graph ) error {
668
+ func (l * rcLoader ) AddToGraph (g osgraph.Graph ) error {
645
669
for i := range l .items {
646
- buildgraph .EnsureBuildConfigNode (g , & l .items [i ])
670
+ kubegraph .EnsureReplicationControllerNode (g , & l .items [i ])
671
+ }
672
+
673
+ return nil
674
+ }
675
+
676
+ type podLoader struct {
677
+ namespace string
678
+ lister kclient.PodsNamespacer
679
+ items []kapi.Pod
680
+ }
681
+
682
+ func (l * podLoader ) Load () error {
683
+ list , err := l .lister .Pods (l .namespace ).List (labels .Everything (), fields .Everything ())
684
+ if err != nil {
685
+ return err
686
+ }
687
+
688
+ l .items = list .Items
689
+ return nil
690
+ }
691
+
692
+ func (l * podLoader ) AddToGraph (g osgraph.Graph ) error {
693
+ for i := range l .items {
694
+ kubegraph .EnsurePodNode (g , & l .items [i ])
647
695
}
648
696
649
697
return nil
@@ -698,14 +746,14 @@ func (l *dcLoader) AddToGraph(g osgraph.Graph) error {
698
746
return nil
699
747
}
700
748
701
- type buildLoader struct {
749
+ type bcLoader struct {
702
750
namespace string
703
- lister client.BuildsNamespacer
704
- items []buildapi.Build
751
+ lister client.BuildConfigsNamespacer
752
+ items []buildapi.BuildConfig
705
753
}
706
754
707
- func (l * buildLoader ) Load () error {
708
- list , err := l .lister .Builds (l .namespace ).List (labels .Everything (), fields .Everything ())
755
+ func (l * bcLoader ) Load () error {
756
+ list , err := l .lister .BuildConfigs (l .namespace ).List (labels .Everything (), fields .Everything ())
709
757
if err != nil {
710
758
return err
711
759
}
@@ -714,22 +762,22 @@ func (l *buildLoader) Load() error {
714
762
return nil
715
763
}
716
764
717
- func (l * buildLoader ) AddToGraph (g osgraph.Graph ) error {
765
+ func (l * bcLoader ) AddToGraph (g osgraph.Graph ) error {
718
766
for i := range l .items {
719
- buildgraph .EnsureBuildNode (g , & l .items [i ])
767
+ buildgraph .EnsureBuildConfigNode (g , & l .items [i ])
720
768
}
721
769
722
770
return nil
723
771
}
724
772
725
- type rcLoader struct {
773
+ type buildLoader struct {
726
774
namespace string
727
- lister kclient. ReplicationControllersNamespacer
728
- items []kapi. ReplicationController
775
+ lister client. BuildsNamespacer
776
+ items []buildapi. Build
729
777
}
730
778
731
- func (l * rcLoader ) Load () error {
732
- list , err := l .lister .ReplicationControllers (l .namespace ).List (labels .Everything ())
779
+ func (l * buildLoader ) Load () error {
780
+ list , err := l .lister .Builds (l .namespace ).List (labels . Everything (), fields .Everything ())
733
781
if err != nil {
734
782
return err
735
783
}
@@ -738,9 +786,9 @@ func (l *rcLoader) Load() error {
738
786
return nil
739
787
}
740
788
741
- func (l * rcLoader ) AddToGraph (g osgraph.Graph ) error {
789
+ func (l * buildLoader ) AddToGraph (g osgraph.Graph ) error {
742
790
for i := range l .items {
743
- kubegraph . EnsureReplicationControllerNode (g , & l .items [i ])
791
+ buildgraph . EnsureBuildNode (g , & l .items [i ])
744
792
}
745
793
746
794
return nil
0 commit comments