From 7c839273c1703b722fc635ae0603b07d86fada85 Mon Sep 17 00:00:00 2001 From: Ash Wilson Date: Thu, 11 Dec 2014 14:33:29 -0500 Subject: [PATCH] Init methods are no-ops when already initialized. Signed-off-by: Ash Wilson --- drivers/openstack/client.go | 12 +++++++----- drivers/rackspace/client.go | 6 +++++- 2 files changed, 12 insertions(+), 6 deletions(-) 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{