From a6c44f5d4e11b5aa65380ba0b0cf1a4af02439a2 Mon Sep 17 00:00:00 2001 From: Amir Mohammad Saied Date: Fri, 6 Nov 2015 18:16:15 +0000 Subject: [PATCH] Use rackspace's specialized client `openstack.NewDerivedDriver` sets client to `openstack.GenericClient` therefore `rackspace.Client` is getting ignored. `rackspace.Client.Authenticate` has different semantics than `openstack.GenericClient.Authenticate`, thus almost all operations with `rackspace` driver fail at the moment. Signed-off-by: Amir Mohammad Saied --- drivers/openstack/openstack.go | 4 ++++ drivers/rackspace/rackspace.go | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/openstack/openstack.go b/drivers/openstack/openstack.go index f0e01b0b65..d91ac2b805 100644 --- a/drivers/openstack/openstack.go +++ b/drivers/openstack/openstack.go @@ -218,6 +218,10 @@ func (d *Driver) GetSSHHostname() (string, error) { return d.GetIP() } +func (d *Driver) SetClient(client Client) { + d.client = client +} + func (d *Driver) DriverName() string { return "openstack" } diff --git a/drivers/rackspace/rackspace.go b/drivers/rackspace/rackspace.go index df50a1bb45..8c1a50b836 100644 --- a/drivers/rackspace/rackspace.go +++ b/drivers/rackspace/rackspace.go @@ -87,10 +87,14 @@ func NewDriver(machineName, storePath string) drivers.Driver { }).Debug("Instantiating Rackspace driver.") inner := openstack.NewDerivedDriver(machineName, storePath) - - return &Driver{ + driver := &Driver{ Driver: inner, } + inner.SetClient(&Client{ + driver: driver, + }) + + return driver } // DriverName is the user-visible name of this driver.