mine
derailed 2020-01-02 07:20:39 -07:00
parent 565cd12fd3
commit 0e1f5abfdd
10 changed files with 9 additions and 41 deletions

View File

@ -12,7 +12,7 @@ import (
)
// GVR represents a kubernetes resource schema as a string.
// Format is group/version/resources
// Format is group/version/resources:subresource
type GVR struct {
raw, g, v, r, sr string
}
@ -35,7 +35,7 @@ func NewGVR(gvr string) GVR {
case 1:
r = tokens[0]
default:
panic(fmt.Sprintf("can't parse GVR %q", gvr))
log.Error().Err(fmt.Errorf("can't parse GVR %q", gvr)).Msg("GVR init failed!")
}
return GVR{raw: gvr, g: g, v: v, r: r, sr: sr}

View File

@ -3,7 +3,6 @@ package model
import (
"context"
"fmt"
"time"
"github.com/derailed/k9s/internal"
"github.com/derailed/k9s/internal/dao"
@ -23,10 +22,6 @@ type Node struct {
// List returns a collection of node resources.
func (n *Node) List(ctx context.Context) ([]runtime.Object, error) {
defer func(t time.Time) {
log.Debug().Msgf("LIST NODES elapsed %v", time.Since(t))
}(time.Now())
nmx, ok := ctx.Value(internal.KeyMetrics).(*mv1beta1.NodeMetricsList)
if !ok {
log.Warn().Msgf("No node metrics available in context")
@ -54,10 +49,6 @@ func (n *Node) List(ctx context.Context) ([]runtime.Object, error) {
// Hydrate returns nodes as rows.
func (n *Node) Hydrate(oo []runtime.Object, rr render.Rows, re Renderer) error {
defer func(t time.Time) {
log.Debug().Msgf("HYDRATE NODES elapsed %v", time.Since(t))
}(time.Now())
for i, o := range oo {
nmx, ok := o.(*render.NodeWithMetrics)
if !ok {

View File

@ -3,7 +3,6 @@ package model
import (
"context"
"fmt"
"time"
"github.com/derailed/k9s/internal"
"github.com/derailed/k9s/internal/render"
@ -21,10 +20,6 @@ type Pod struct {
// List returns a collection of nodes.
func (p *Pod) List(ctx context.Context) ([]runtime.Object, error) {
defer func(t time.Time) {
log.Debug().Msgf("LIST PODS elapsed %v", time.Since(t))
}(time.Now())
oo, err := p.Resource.List(ctx)
if err != nil {
return oo, err
@ -70,10 +65,6 @@ func (p *Pod) List(ctx context.Context) ([]runtime.Object, error) {
// Hydrate returns pod resources as rows.
func (p *Pod) Hydrate(oo []runtime.Object, rr render.Rows, re Renderer) error {
defer func(t time.Time) {
log.Debug().Msgf("HYDRATE PODS elapsed %v", time.Since(t))
}(time.Now())
var index int
for _, o := range oo {
po, ok := o.(*render.PodWithMetrics)

View File

@ -218,7 +218,7 @@ func (b *Browser) deleteCmd(evt *tcell.EventKey) *tcell.EventKey {
b.Stop()
defer b.Start()
{
msg := fmt.Sprintf("Delete %s %s?", b.gvr, selections[0])
msg := fmt.Sprintf("Delete %s %s?", b.gvr.ToR(), selections[0])
if len(selections) > 1 {
msg = fmt.Sprintf("Delete %d marked %s?", len(selections), b.gvr)
}

View File

@ -1,8 +1,6 @@
package view
import (
"strings"
"github.com/derailed/k9s/internal/client"
"github.com/derailed/k9s/internal/render"
"github.com/derailed/k9s/internal/ui"
@ -55,7 +53,7 @@ func (d *Deploy) showPods(app *App, _, _, path string) {
app.Flash().Err(err)
}
showPodsFromSelector(app, strings.Replace(path, "/", "::", 1), dp.Spec.Selector)
showPodsFromSelector(app, path, dp.Spec.Selector)
}
// Helpers...

View File

@ -1,8 +1,6 @@
package view
import (
"strings"
"github.com/derailed/k9s/internal/client"
"github.com/derailed/k9s/internal/render"
"github.com/derailed/k9s/internal/ui"
@ -54,5 +52,5 @@ func (d *DaemonSet) showPods(app *App, _, _, path string) {
d.App().Flash().Err(err)
}
showPodsFromSelector(app, strings.Replace(path, "/", "::", 1), ds.Spec.Selector)
showPodsFromSelector(app, path, ds.Spec.Selector)
}

View File

@ -41,7 +41,8 @@ func (l *LogsExtender) logsCmd(prev bool) func(evt *tcell.EventKey) *tcell.Event
if path == "" {
return nil
}
if isResourcePath(l.GetTable().Path) {
if !isResourcePath(path) {
path = l.GetTable().Path
}
l.showLogs(path, prev)

View File

@ -1,8 +1,6 @@
package view
import (
"strings"
"github.com/derailed/k9s/internal/client"
"github.com/derailed/k9s/internal/render"
"github.com/derailed/k9s/internal/ui"
@ -46,7 +44,7 @@ func (s *StatefulSet) showPods(app *App, _, gvr, path string) {
return
}
showPodsFromSelector(app, strings.Replace(path, "/", "::", 1), sts.Spec.Selector)
showPodsFromSelector(app, path, sts.Spec.Selector)
}
func (s *StatefulSet) sts(path string) (*appsv1.StatefulSet, error) {

View File

@ -60,7 +60,7 @@ func (s *Service) showPods(app *App, ns, gvr, path string) {
return
}
showPodsWithLabels(app, strings.Replace(path, "/", "::", 1), svc.Spec.Selector)
showPodsWithLabels(app, path, svc.Spec.Selector)
}
func (s *Service) benchStopCmd(evt *tcell.EventKey) *tcell.EventKey {

View File

@ -62,11 +62,6 @@ func (f *Factory) Terminate() {
// List returns a resource collection.
func (f *Factory) List(gvr, ns string, wait bool, sel labels.Selector) ([]runtime.Object, error) {
defer func(t time.Time) {
log.Debug().Msgf("LIST elapsed %v", time.Since(t))
}(time.Now())
Dump(f)
log.Debug().Msgf("List %q:%q", ns, gvr)
inf, err := f.CanForResource(ns, gvr, []string{"list", "watch"})
if err != nil {
@ -84,10 +79,6 @@ func (f *Factory) List(gvr, ns string, wait bool, sel labels.Selector) ([]runtim
// Get retrieves a given resource.
func (f *Factory) Get(gvr, path string, wait bool, sel labels.Selector) (runtime.Object, error) {
defer func(t time.Time) {
log.Debug().Msgf("GET elapsed %v", time.Since(t))
}(time.Now())
ns, n := namespaced(path)
inf, err := f.CanForResource(ns, gvr, []string{"get"})
if err != nil {