fix issue #756
parent
6e5018c3a3
commit
9c7f3c64af
|
|
@ -249,7 +249,6 @@ func (a *APIClient) CheckConnectivity() bool {
|
||||||
log.Debug().Msgf("RESETING CON!!")
|
log.Debug().Msgf("RESETING CON!!")
|
||||||
a.reset()
|
a.reset()
|
||||||
}
|
}
|
||||||
a.connOK = true
|
|
||||||
} else {
|
} else {
|
||||||
log.Error().Err(err).Msgf("K9s can't connect to cluster")
|
log.Error().Err(err).Msgf("K9s can't connect to cluster")
|
||||||
a.connOK = false
|
a.connOK = false
|
||||||
|
|
@ -324,11 +323,12 @@ func (a *APIClient) RestConfig() (*restclient.Config, error) {
|
||||||
|
|
||||||
// CachedDiscovery returns a cached discovery client.
|
// CachedDiscovery returns a cached discovery client.
|
||||||
func (a *APIClient) CachedDiscovery() (*disk.CachedDiscoveryClient, error) {
|
func (a *APIClient) CachedDiscovery() (*disk.CachedDiscoveryClient, error) {
|
||||||
|
a.mx.Lock()
|
||||||
|
defer a.mx.Unlock()
|
||||||
|
|
||||||
if !a.connOK {
|
if !a.connOK {
|
||||||
return nil, errors.New("No connection to cached dial")
|
return nil, errors.New("No connection to cached dial")
|
||||||
}
|
}
|
||||||
a.mx.Lock()
|
|
||||||
defer a.mx.Unlock()
|
|
||||||
|
|
||||||
if a.cachedClient != nil {
|
if a.cachedClient != nil {
|
||||||
return a.cachedClient, nil
|
return a.cachedClient, nil
|
||||||
|
|
@ -392,25 +392,10 @@ func (a *APIClient) SwitchContext(name string) error {
|
||||||
defer a.mx.Unlock()
|
defer a.mx.Unlock()
|
||||||
|
|
||||||
log.Debug().Msgf("Switching context %q", name)
|
log.Debug().Msgf("Switching context %q", name)
|
||||||
currentCtx, err := a.config.CurrentContextName()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if currentCtx == name {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
if e := a.config.SwitchContext(name); e != nil {
|
if e := a.config.SwitchContext(name); e != nil {
|
||||||
return e
|
return e
|
||||||
}
|
}
|
||||||
a.clearCache()
|
|
||||||
a.reset()
|
a.reset()
|
||||||
a.connOK = true
|
|
||||||
_, err = a.supportsMetricsResources()
|
|
||||||
if err != nil {
|
|
||||||
a.connOK = false
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
ResetMetrics()
|
ResetMetrics()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -421,6 +406,7 @@ func (a *APIClient) reset() {
|
||||||
a.cache = cache.NewLRUExpireCache(cacheSize)
|
a.cache = cache.NewLRUExpireCache(cacheSize)
|
||||||
a.client, a.dClient, a.nsClient, a.mxsClient = nil, nil, nil, nil
|
a.client, a.dClient, a.nsClient, a.mxsClient = nil, nil, nil, nil
|
||||||
a.cachedClient = nil
|
a.cachedClient = nil
|
||||||
|
a.connOK = true
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *APIClient) supportsMetricsResources() (supported bool, err error) {
|
func (a *APIClient) supportsMetricsResources() (supported bool, err error) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue