mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			1010 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1010 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package storageos
 | 
						|
 | 
						|
import (
 | 
						|
	"encoding/json"
 | 
						|
	"net/http"
 | 
						|
	"path"
 | 
						|
 | 
						|
	"github.com/storageos/go-api/types"
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	// NetworkDiagnosticsAPIPrefix is a partial path to the HTTP endpoint for
 | 
						|
	// the node connectivity diagnostics report.
 | 
						|
	NetworkDiagnosticsAPIPrefix = "diagnostics/network"
 | 
						|
)
 | 
						|
 | 
						|
// NetworkDiagnostics returns a collection of network connectivity reports.  If
 | 
						|
// a reference to a node is given, it will only check connectivity from that
 | 
						|
// node.  Otherwise, connectivity between all cluster nodes will be returned.
 | 
						|
func (c *Client) NetworkDiagnostics(ref string) (types.ConnectivityResults, error) {
 | 
						|
	resp, err := c.do("GET", path.Join(NetworkDiagnosticsAPIPrefix, ref), doOptions{})
 | 
						|
	if err != nil {
 | 
						|
		if e, ok := err.(*Error); ok && e.Status == http.StatusNotFound {
 | 
						|
			return nil, ErrNoSuchNode
 | 
						|
		}
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	defer resp.Body.Close()
 | 
						|
 | 
						|
	var results types.ConnectivityResults
 | 
						|
	if err := json.NewDecoder(resp.Body).Decode(&results); err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return results, nil
 | 
						|
}
 |