18646500 Unable to attach a volume to a KZ instance using Horizon
19022958 Unable to specify solaris device names when attaching volumes to instances
Although the following patch has been addressed in Icehouse 2014.1, it
still has not yet been released for Havana. It has been modified to
apply cleanly into our current Havana implementation
From 1b13a42b9edbd34e8bb4339a962cd2c30bda7d81 Mon Sep 17 00:00:00 2001
From: Zhenguo Niu <[email protected]>
Date: Wed, 4 Dec 2013 09:45:56 +0800
Subject: [PATCH] Set can_set_mount_point default to False
Patch https://review.openstack.org/#/c/59229/ only changed the default
value in the local_settings.py example file. If the setting isn't defined,
it still defaults to True
Change-Id: Ia3525786e5eb9ec83b8057c1cb6158ab153adc59
Closes-Bug: #1255136
--- horizon-2013.2.3/doc/source/topics/settings.rst.orig 2014-06-20 05:00:21.858630069 -0700
+++ horizon-2013.2.3/doc/source/topics/settings.rst 2014-06-20 06:27:39.151996410 -0700
@@ -204,14 +204,15 @@
``OPENSTACK_HYPERVISOR_FEATURES``
---------------------------------
-Default: ``{'can_set_mount_point': True, 'can_encrypt_volumes': False}``
+Default: ``{'can_set_mount_point': False, 'can_encrypt_volumes': False}``
A dictionary containing settings which can be used to identify the
capabilities of the hypervisor for Nova.
-Some hypervisors have the ability to set the mount point for volumes attached
-to instances (KVM does not). Setting ``can_set_mount_point`` to ``False`` will
-remove the option to set the mount point from the UI.
+The Xen Hypervisor has the ability to set the mount point for volumes attached
+to instances (other Hypervisors currently do not). Setting
+``can_set_mount_point`` to ``True`` will add the option to set the mount point
+from the UI.
In the Havana release, there will be a feature for encrypted volumes
which will be controlled by the ``can_encrypt_volumes``. Setting it to ``True``
--- horizon-2013.2.3/openstack_dashboard/dashboards/project/volumes/tests.py.orig 2014-06-20 04:56:16.805828523 -0700
+++ horizon-2013.2.3/openstack_dashboard/dashboards/project/volumes/tests.py 2014-06-20 06:32:26.947240676 -0700
@@ -555,6 +555,8 @@
@test.create_stubs({cinder: ('volume_get',), api.nova: ('server_list',)})
def test_edit_attachments(self):
+ PREV = settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point']
+ settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point'] = True
volume = self.volumes.first()
servers = [s for s in self.servers.list()
if s.tenant_id == self.request.user.tenant_id]
@@ -573,11 +575,10 @@
self.assertEqual(res.status_code, 200)
self.assertTrue(isinstance(form.fields['device'].widget,
widgets.TextInput))
+ settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point'] = PREV
@test.create_stubs({cinder: ('volume_get',), api.nova: ('server_list',)})
def test_edit_attachments_cannot_set_mount_point(self):
- PREV = settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point']
- settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point'] = False
volume = self.volumes.first()
servers = [s for s in self.servers.list()
@@ -593,7 +594,6 @@
form = res.context['form']
self.assertTrue(isinstance(form.fields['device'].widget,
widgets.HiddenInput))
- settings.OPENSTACK_HYPERVISOR_FEATURES['can_set_mount_point'] = PREV
@test.create_stubs({cinder: ('volume_get',),
api.nova: ('server_get', 'server_list',),
--- horizon-2013.2.3/openstack_dashboard/dashboards/project/volumes/forms.py.orig 2014-06-20 04:54:21.534957784 -0700
+++ horizon-2013.2.3/openstack_dashboard/dashboards/project/volumes/forms.py 2014-06-20 06:33:14.199293693 -0700
@@ -230,7 +230,7 @@
"OPENSTACK_HYPERVISOR_FEATURES",
{})
can_set_mount_point = hypervisor_features.get("can_set_mount_point",
- True)
+ False)
if not can_set_mount_point:
self.fields['device'].widget = forms.widgets.HiddenInput()
self.fields['device'].required = False
--- horizon-2013.2.3/openstack_dashboard/local/local_settings.py.example.orig 2014-06-20 06:49:38.061148762 -0700
+++ horizon-2013.2.3/openstack_dashboard/local/local_settings.py.example 2014-06-20 03:03:06.949623969 -0700
@@ -149,8 +149,12 @@
'can_edit_role': True
}
+# The Xen Hypervisor has the ability to set the mount point for volumes
+# attached to instances (other Hypervisors currently do not). Setting
+# can_set_mount_point to True will add the option to set the mount point
+# from the UI.
OPENSTACK_HYPERVISOR_FEATURES = {
- 'can_set_mount_point': True,
+ 'can_set_mount_point': False,
}
# The OPENSTACK_NEUTRON_NETWORK settings can be used to enable optional
--- horizon-2013.2.3/openstack_dashboard/test/settings.py.orig 2014-06-20 04:59:02.205734858 -0700
+++ horizon-2013.2.3/openstack_dashboard/test/settings.py 2014-06-20 06:28:57.101070812 -0700
@@ -107,7 +107,7 @@
}
OPENSTACK_HYPERVISOR_FEATURES = {
- 'can_set_mount_point': True,
+ 'can_set_mount_point': False,
}
OPENSTACK_IMAGE_BACKEND = {