Add additional logging to openstack cloud provider

Turned out to be invaluable while debugging issues - I expect it will be
for others too.

Conflicts:
	pkg/cloudprovider/openstack/openstack.go
This commit is contained in:
Angus Lees 2014-11-26 16:41:11 +11:00
parent 5499981ad3
commit a00f73c360

View File

@ -38,6 +38,7 @@ import (
"github.com/GoogleCloudPlatform/kubernetes/pkg/api" "github.com/GoogleCloudPlatform/kubernetes/pkg/api"
"github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider" "github.com/GoogleCloudPlatform/kubernetes/pkg/cloudprovider"
"github.com/GoogleCloudPlatform/kubernetes/pkg/util" "github.com/GoogleCloudPlatform/kubernetes/pkg/util"
"github.com/golang/glog"
) )
var ErrNotFound = errors.New("Failed to find object") var ErrNotFound = errors.New("Failed to find object")
@ -147,10 +148,13 @@ type Instances struct {
// Instances returns an implementation of Instances for OpenStack. // Instances returns an implementation of Instances for OpenStack.
func (os *OpenStack) Instances() (cloudprovider.Instances, bool) { func (os *OpenStack) Instances() (cloudprovider.Instances, bool) {
glog.V(2).Info("openstack.Instances() called")
compute, err := openstack.NewComputeV2(os.provider, gophercloud.EndpointOpts{ compute, err := openstack.NewComputeV2(os.provider, gophercloud.EndpointOpts{
Region: os.region, Region: os.region,
}) })
if err != nil { if err != nil {
glog.Warningf("Failed to find compute endpoint: %v", err)
return nil, false return nil, false
} }
@ -177,13 +181,19 @@ func (os *OpenStack) Instances() (cloudprovider.Instances, bool) {
return true, nil return true, nil
}) })
if err != nil { if err != nil {
glog.Warningf("Failed to find compute flavors: %v", err)
return nil, false return nil, false
} }
glog.V(2).Infof("Found %v compute flavors", len(flavor_to_resource))
glog.V(1).Info("Claiming to support Instances")
return &Instances{compute, flavor_to_resource}, true return &Instances{compute, flavor_to_resource}, true
} }
func (i *Instances) List(name_filter string) ([]string, error) { func (i *Instances) List(name_filter string) ([]string, error) {
glog.V(2).Infof("openstack List(%v) called", name_filter)
opts := servers.ListOpts{ opts := servers.ListOpts{
Name: name_filter, Name: name_filter,
Status: "ACTIVE", Status: "ACTIVE",
@ -205,6 +215,8 @@ func (i *Instances) List(name_filter string) ([]string, error) {
return nil, err return nil, err
} }
glog.V(2).Infof("Found %v entries: %v", len(ret), ret)
return ret, nil return ret, nil
} }
@ -288,14 +300,21 @@ func getAddressByName(api *gophercloud.ServiceClient, name string) (string, erro
} }
func (i *Instances) IPAddress(name string) (net.IP, error) { func (i *Instances) IPAddress(name string) (net.IP, error) {
glog.V(2).Infof("IPAddress(%v) called", name)
ip, err := getAddressByName(i.compute, name) ip, err := getAddressByName(i.compute, name)
if err != nil { if err != nil {
return nil, err return nil, err
} }
glog.V(2).Infof("IPAddress(%v) => %v", name, ip)
return net.ParseIP(ip), err return net.ParseIP(ip), err
} }
func (i *Instances) GetNodeResources(name string) (*api.NodeResources, error) { func (i *Instances) GetNodeResources(name string) (*api.NodeResources, error) {
glog.V(2).Infof("GetNodeResources(%v) called", name)
srv, err := getServerByName(i.compute, name) srv, err := getServerByName(i.compute, name)
if err != nil { if err != nil {
return nil, err return nil, err
@ -314,6 +333,8 @@ func (i *Instances) GetNodeResources(name string) (*api.NodeResources, error) {
return nil, ErrNotFound return nil, ErrNotFound
} }
glog.V(2).Infof("GetNodeResources(%v) => %v", name, rsrc)
return rsrc, nil return rsrc, nil
} }
@ -333,6 +354,7 @@ func (os *OpenStack) TCPLoadBalancer() (cloudprovider.TCPLoadBalancer, bool) {
Region: os.region, Region: os.region,
}) })
if err != nil { if err != nil {
glog.Warningf("Failed to find neutron endpoint: %v", err)
return nil, false return nil, false
} }
@ -340,9 +362,12 @@ func (os *OpenStack) TCPLoadBalancer() (cloudprovider.TCPLoadBalancer, bool) {
Region: os.region, Region: os.region,
}) })
if err != nil { if err != nil {
glog.Warningf("Failed to find compute endpoint: %v", err)
return nil, false return nil, false
} }
glog.V(1).Info("Claiming to support TCPLoadBalancer")
return &LoadBalancer{network, compute, os.lbOpts}, true return &LoadBalancer{network, compute, os.lbOpts}, true
} }
@ -392,6 +417,8 @@ func (lb *LoadBalancer) TCPLoadBalancerExists(name, region string) (bool, error)
// each region. // each region.
func (lb *LoadBalancer) CreateTCPLoadBalancer(name, region string, externalIP net.IP, port int, hosts []string) (net.IP, error) { func (lb *LoadBalancer) CreateTCPLoadBalancer(name, region string, externalIP net.IP, port int, hosts []string) (net.IP, error) {
glog.V(2).Infof("CreateTCPLoadBalancer(%v, %v, %v, %v, %v)", name, region, externalIP, port, hosts)
pool, err := pools.Create(lb.network, pools.CreateOpts{ pool, err := pools.Create(lb.network, pools.CreateOpts{
Name: name, Name: name,
Protocol: pools.ProtocolTCP, Protocol: pools.ProtocolTCP,
@ -459,6 +486,8 @@ func (lb *LoadBalancer) CreateTCPLoadBalancer(name, region string, externalIP ne
} }
func (lb *LoadBalancer) UpdateTCPLoadBalancer(name, region string, hosts []string) error { func (lb *LoadBalancer) UpdateTCPLoadBalancer(name, region string, hosts []string) error {
glog.V(2).Infof("UpdateTCPLoadBalancer(%v, %v, %v)", name, region, hosts)
vip, err := getVipByName(lb.network, name) vip, err := getVipByName(lb.network, name)
if err != nil { if err != nil {
return err return err
@ -518,6 +547,8 @@ func (lb *LoadBalancer) UpdateTCPLoadBalancer(name, region string, hosts []strin
} }
func (lb *LoadBalancer) DeleteTCPLoadBalancer(name, region string) error { func (lb *LoadBalancer) DeleteTCPLoadBalancer(name, region string) error {
glog.V(2).Infof("DeleteTCPLoadBalancer(%v, %v)", name, region)
vip, err := getVipByName(lb.network, name) vip, err := getVipByName(lb.network, name)
if err != nil { if err != nil {
return err return err
@ -545,8 +576,12 @@ func (lb *LoadBalancer) DeleteTCPLoadBalancer(name, region string) error {
} }
func (os *OpenStack) Zones() (cloudprovider.Zones, bool) { func (os *OpenStack) Zones() (cloudprovider.Zones, bool) {
glog.V(1).Info("Claiming to support Zones")
return os, true return os, true
} }
func (os *OpenStack) GetZone() (cloudprovider.Zone, error) { func (os *OpenStack) GetZone() (cloudprovider.Zone, error) {
glog.V(1).Infof("Current zone is %v", os.region)
return cloudprovider.Zone{Region: os.region}, nil return cloudprovider.Zone{Region: os.region}, nil
} }