diff --git a/drivers/openstack/client.go b/drivers/openstack/client.go index a822fec6a6..ef85a02ec7 100644 --- a/drivers/openstack/client.go +++ b/drivers/openstack/client.go @@ -294,12 +294,10 @@ func (c *GenericClient) getPorts(d *Driver) ([]string, error) { } func (c *GenericClient) InitComputeClient(d *Driver) error { - if c.Provider == nil { - err := c.Authenticate(d) - if err != nil { - return err - } + if c.Compute != nil { + return nil } + compute, err := openstack.NewComputeV2(c.Provider, gophercloud.EndpointOpts{ Region: d.Region, Availability: c.getEndpointType(d), @@ -312,6 +310,10 @@ func (c *GenericClient) InitComputeClient(d *Driver) error { } func (c *GenericClient) InitNetworkClient(d *Driver) error { + if c.Network != nil { + return nil + } + network, err := openstack.NewNetworkV2(c.Provider, gophercloud.EndpointOpts{ Region: d.Region, Availability: c.getEndpointType(d), diff --git a/drivers/rackspace/client.go b/drivers/rackspace/client.go index ee2893110e..740633ba5e 100644 --- a/drivers/rackspace/client.go +++ b/drivers/rackspace/client.go @@ -22,9 +22,13 @@ type Client struct { // Authenticate creates a Rackspace-specific Gophercloud client. func (c *Client) Authenticate(d *openstack.Driver) error { + if c.Provider != nil { + return nil + } + log.WithFields(log.Fields{ "Username": d.Username, - }).Info("Authenticating...") + }).Info("Authenticating to Rackspace.") apiKey := c.driver.APIKey opts := gophercloud.AuthOptions{