# HG changeset patch # User Strony # Date 1403535333 25200 # Node ID fe904db9c43844b9c68fac20833b2b7e8e41000a # Parent 5793a4efde2ccb68794338a518581c274bc484fe 18646500 Unable to attach a volume to a KZ instance using Horizon 19022958 Unable to specify solaris device names when attaching volumes to instances diff -r 5793a4efde2c -r fe904db9c438 components/openstack/horizon/files/local_settings.py --- a/components/openstack/horizon/files/local_settings.py Mon Jun 23 08:41:07 2014 -0600 +++ b/components/openstack/horizon/files/local_settings.py Mon Jun 23 07:55:33 2014 -0700 @@ -161,8 +161,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 diff -r 5793a4efde2c -r fe904db9c438 components/openstack/horizon/patches/06-launchpad-1255136.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/openstack/horizon/patches/06-launchpad-1255136.patch Mon Jun 23 07:55:33 2014 -0700 @@ -0,0 +1,107 @@ +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 +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 = {