Merge pull request #1492 from micafer/fix_1491
Fix error setting ex_force_xxx_url without setting ex_force_base_url
diff --git a/CHANGES.rst b/CHANGES.rst
index 56ed8da..b5fab03 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -11,6 +11,11 @@
(GITHUB-1485)
[Poul Petersen - @petersen-poul]
+- [OpenStack] Fix error setting ``ex_force_XXX_url`` without setting
+ ``ex_force_base_url``.
+ (GITHUB-1492)
+ [Miguel Caballer - @micafer]
+
- [EC2] Update supported EC2 regions and instance sizes and add support
for eu-north-1 region.
(GITHUB-1486)
diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py
index 9362542..4b6f89b 100644
--- a/libcloud/compute/drivers/openstack.py
+++ b/libcloud/compute/drivers/openstack.py
@@ -2841,6 +2841,9 @@
self._ex_force_base_url = original_ex_force_base_url
if original_ex_force_base_url:
kwargs['ex_force_base_url'] = self._ex_force_base_url
+ # if ex_force_base_url is not set in original params delete it
+ elif 'ex_force_base_url' in kwargs:
+ del kwargs['ex_force_base_url']
self.connectionCls = original_connectionCls
super(OpenStack_2_NodeDriver, self).__init__(*args, **kwargs)
diff --git a/libcloud/test/compute/test_openstack.py b/libcloud/test/compute/test_openstack.py
index 3aea4b5..b85dc79 100644
--- a/libcloud/test/compute/test_openstack.py
+++ b/libcloud/test/compute/test_openstack.py
@@ -2127,6 +2127,15 @@
ret = self.driver.ex_remove_security_group_from_node(security_group, node)
self.assertTrue(ret)
+ def test_force_net_url(self):
+ d = OpenStack_2_NodeDriver(
+ 'user', 'correct_password',
+ ex_force_auth_version='2.0_password',
+ ex_force_auth_url='http://x.y.z.y:5000',
+ ex_force_network_url='http://network.com:9696',
+ ex_tenant_name='admin')
+ self.assertEqual(d._ex_force_base_url, None)
+
class OpenStack_1_1_FactoryMethodTests(OpenStack_1_1_Tests):
should_list_locations = False