17-add-boot-options.patch revision 6321
6321N/APatch to add kernel(1M) and boot(1M) options to horizon.
6321N/A
6321N/AThere are no plans to push this upstream.
6321N/A
6321N/A--- horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/views.py.orig 2016-01-12 15:39:19.871734393 -0700
6321N/A+++ horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/views.py 2016-01-14 13:36:28.185989955 -0700
6321N/A@@ -21,6 +21,7 @@ Views for managing instances.
6321N/A """
6321N/A import logging
6321N/A
6321N/A+from django.conf import settings
6321N/A from django.core.urlresolvers import reverse
6321N/A from django.core.urlresolvers import reverse_lazy
6321N/A from django import http
6321N/A@@ -251,6 +252,14 @@ class UpdateView(workflows.WorkflowView)
6321N/A initial = super(UpdateView, self).get_initial()
6321N/A initial.update({'instance_id': self.kwargs['instance_id'],
6321N/A 'name': getattr(self.get_object(), 'name', '')})
6321N/A+ if getattr(settings, 'SOLARIS_BOOTARGS', True):
6321N/A+ metadata = getattr(self.get_object(), 'metadata', '')
6321N/A+ bootargs = metadata.get('bootargs')
6321N/A+ bootargs_persist = metadata.get(
6321N/A+ 'bootargs_persist', 'False').lower() == 'true'
6321N/A+
6321N/A+ initial.update({'bootargs': bootargs,
6321N/A+ 'bootargs_persist': bootargs_persist})
6321N/A return initial
6321N/A
6321N/A
6321N/A--- horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py.orig 2016-02-08 15:35:17.142181350 -0600
6321N/A+++ horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/workflows/create_instance.py 2016-02-08 15:35:29.148388395 -0600
6321N/A@@ -22,6 +22,7 @@ import operator
6321N/A
6321N/A from oslo_utils import units
6321N/A
6321N/A+from django.conf import settings
6321N/A from django.template.defaultfilters import filesizeformat # noqa
6321N/A from django.utils.text import normalize_newlines # noqa
6321N/A from django.utils.translation import ugettext_lazy as _
6321N/A@@ -872,6 +873,14 @@ class LaunchInstance(workflows.Workflow)
6321N/A nics = self.set_network_port_profiles(request,
6321N/A context['network_id'],
6321N/A context['profile_id'])
6321N/A+ metadata = {}
6321N/A+ if getattr(settings, 'SOLARIS_BOOTARGS', True):
6321N/A+ bopts = context.get('boot_options').strip()
6321N/A+ if bopts:
6321N/A+ metadata = {
6321N/A+ "bootargs": bopts,
6321N/A+ "bootargs_persist": str(context.get('bootargs_persist'))
6321N/A+ }
6321N/A
6321N/A try:
6321N/A api.nova.server_create(request,
6321N/A@@ -888,7 +897,8 @@ class LaunchInstance(workflows.Workflow)
6321N/A instance_count=int(context['count']),
6321N/A admin_pass=context['admin_pass'],
6321N/A disk_config=context.get('disk_config'),
6321N/A- config_drive=context.get('config_drive'))
6321N/A+ config_drive=context.get('config_drive'),
6321N/A+ meta=metadata)
6321N/A return True
6321N/A except Exception:
6321N/A if port_profiles_supported:
6321N/A--- horizon-2015.1.2/openstack_dashboard/api/nova.py.orig 2015-12-08 16:05:40.611921571 -0700
6321N/A+++ horizon-2015.1.2/openstack_dashboard/api/nova.py 2015-12-08 16:06:20.242257576 -0700
6321N/A@@ -661,6 +661,10 @@ def server_update(request, instance_id,
6321N/A return novaclient(request).servers.update(instance_id, name=name)
6321N/A
6321N/A
6321N/A+def server_set_meta(request, instance_id, metadata):
6321N/A+ return novaclient(request).servers.set_meta(instance_id, metadata=metadata)
6321N/A+
6321N/A+
6321N/A def server_migrate(request, instance_id):
6321N/A novaclient(request).servers.migrate(instance_id)
6321N/A
6321N/A--- horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/tables.py.orig 2016-02-17 09:04:25.877390975 -0600
6321N/A+++ horizon-2015.1.2/openstack_dashboard/dashboards/project/instances/tables.py 2016-02-17 09:06:41.425616719 -0600
6321N/A@@ -390,6 +390,14 @@ class EditInstance(policy.PolicyTargetMi
6321N/A return not is_deleting(instance)
6321N/A
6321N/A
6321N/A+class EditBootargs(EditInstance):
6321N/A+ name = "edit_bootargs"
6321N/A+ verbose_name = _("Edit Instance Boot Options")
6321N/A+
6321N/A+ def get_link_url(self, project):
6321N/A+ return self._get_link_url(project, 'instance_bootargs')
6321N/A+
6321N/A+
6321N/A class EditInstanceSecurityGroups(EditInstance):
6321N/A name = "edit_secgroups"
6321N/A verbose_name = _("Edit Security Groups")
6321N/A@@ -1065,3 +1073,7 @@ class InstancesTable(tables.DataTable):
6321N/A ResizeLink, LockInstance, UnlockInstance,
6321N/A SoftRebootInstance, RebootInstance,
6321N/A StopInstance, RebuildInstance, TerminateInstance)
6321N/A+ pos = row_actions.index(ConsoleLink)
6321N/A+ if getattr(settings, 'SOLARIS_BOOTARGS', True):
6321N/A+ row_actions = (row_actions[:pos] + (EditBootargs,) +
6321N/A+ row_actions[pos:])