components/openstack/horizon/files/overrides.py
author Matt Keenan <matt.keenan@oracle.com>
Thu, 24 Nov 2016 00:59:36 +0000
changeset 7390 ed91ff551438
parent 7315 5cc40226273b
permissions -rw-r--r--
20370821 Users should be able to select zone type at flavour creation PSARC/2016/609 Solaris zone brand support for flavors in OpenStack Horizon
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5313
17713196eb0c 22464594 Nova driver should support rebuild
Sean Wilcox <sean.wilcox@oracle.com>
parents: 5195
diff changeset
     1
# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
1820
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     2
#
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     3
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     4
#    not use this file except in compliance with the License. You may obtain
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     5
#    a copy of the License at
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     6
#
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     7
#         http://www.apache.org/licenses/LICENSE-2.0
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     8
#
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     9
#    Unless required by applicable law or agreed to in writing, software
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    10
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    11
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    12
#    License for the specific language governing permissions and limitations
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    13
#    under the License.
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    14
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    15
"""
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    16
Solaris-specific customizations for Horizon
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    17
"""
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    18
5640
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    19
from django.conf import settings
7390
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    20
from django.conf.urls import patterns
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    21
from django.conf.urls import url
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    22
from django.core.urlresolvers import reverse_lazy
5640
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    23
from django.utils.translation import ugettext_lazy as _
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    24
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    25
from horizon import exceptions
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    26
from horizon import forms
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    27
from horizon import workflows
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    28
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    29
from openstack_dashboard import api
7390
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    30
from openstack_dashboard.dashboards.admin.flavors import \
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    31
    urls as flavor_urls, views as flavor_views, workflows as flavor_workflows
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    32
from openstack_dashboard.dashboards.admin.flavors.views import INDEX_URL
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    33
from openstack_dashboard.dashboards.admin.instances.forms import \
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    34
    LiveMigrateForm
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    35
from openstack_dashboard.dashboards.admin.instances.tables import \
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    36
    AdminInstancesTable, MigrateInstance
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    37
from openstack_dashboard.dashboards.project.images.images.tables import \
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    38
    ImagesTable, CreateVolumeFromImage
1970
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    39
from openstack_dashboard.dashboards.project.instances import tables \
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    40
    as project_tables
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    41
from openstack_dashboard.dashboards.project.instances.tables import \
7315
5cc40226273b PSARC/2016/531 OpenStack Neutron Security Groups
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents: 6973
diff changeset
    42
    InstancesTable, TogglePause
1820
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    43
from openstack_dashboard.dashboards.project.instances.workflows import \
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    44
    create_instance, update_instance
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    45
7390
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    46
SOLARIS_ZONE_TYPE_CHOICES = (('solaris-kz', 'Solaris Kernel Zone'),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    47
                             ('solaris', 'Solaris Non-Global Zone'))
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    48
SOLARIS_ZONE_TYPE_DEFAULT = SOLARIS_ZONE_TYPE_CHOICES[0][0]
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
    49
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
    50
5640
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    51
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    52
# Add bootargs feature to 'SetAdvanced' workflow action.
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    53
# Part of Project/Compute/Instances/Launch Instance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    54
class SolarisSetAdvancedAction(create_instance.SetAdvancedAction):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    55
    if getattr(settings, 'SOLARIS_BOOTARGS', True):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    56
        boot_options = forms.CharField(
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    57
            label=_("Instance Boot Options"), required=False, max_length=255,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    58
            help_text=_("Solaris kernel(8) and boot(8) options."))
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    59
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    60
        bootargs_persist = forms.BooleanField(
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    61
            label=_("Make Instance Boot Options Persistent"),
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    62
            required=False,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    63
            help_text=_("Instance Boot Options are retained and used for each "
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    64
                        "subsequent boot."))
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    65
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    66
    def __init__(self, request, context, *args, **kwargs):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    67
        super(SolarisSetAdvancedAction, self).__init__(request, context,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    68
                                                       *args, **kwargs)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    69
        try:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    70
            if context.get('workflow_slug') != 'launch_instance' and \
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    71
                    getattr(settings, 'SOLARIS_BOOTARGS', True):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    72
                self.fields.pop('boot_options', None)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    73
                self.fields.pop('bootargs_persist', None)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    74
            self.fields.pop('disk_config', None)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    75
            self.fields.pop('config_drive', None)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    76
        except Exception:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    77
            exceptions.handle(request, _('Unable to retrieve extensions '
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    78
                                         'information.'))
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    79
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    80
    class Meta(object):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    81
        name = _("Advanced Options")
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    82
        help_text_template = ("project/instances/"
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    83
                              "_launch_advanced_help.html")
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    84
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    85
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    86
# If locally configured to do so add bootargs metadata vars
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    87
# to Project/Compute/Instances/Launch Instance/Advanced Options
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    88
if getattr(settings, 'SOLARIS_BOOTARGS', True):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    89
    create_instance.SetAdvanced.action_class = SolarisSetAdvancedAction
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    90
    create_instance.SetAdvanced.contributes += (
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    91
        'boot_options', 'bootargs_persist',
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
    92
    )
1820
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    93
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    94
# Remove 'PostCreationStep', 'SetAdvanced' from
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
    95
# Project/Compute/Instances/Launch Instance
1970
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    96
create_instance.LaunchInstance.default_steps = (
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    97
    create_instance.SelectProjectUser,
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    98
    create_instance.SetInstanceDetails,
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
    99
    create_instance.SetAccessControls,
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
   100
    create_instance.SetNetwork
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
   101
)
1820
f3a6bd7bd4a6 18545343 nova-conductor's method shouldn't try to enable mysql
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   102
5640
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   103
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   104
# if locally configured to do so add back 'SetAdvanced'
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   105
# to Project/Compute/Instances/Launch Instance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   106
if getattr(settings, 'SOLARIS_BOOTARGS', True):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   107
    create_instance.LaunchInstance.default_steps += (
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   108
        create_instance.SetAdvanced,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   109
    )
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   110
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   111
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   112
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   113
# Add bootargs feature to 'UpdateInstance' workflow action class.
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   114
# Part of Project/Compute/Instances/Actions/Edit Instance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   115
class UpdateInstanceBootargAction(workflows.Action):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   116
    bootargs = forms.CharField(
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   117
        label=_("Instance Boot Options"), required=False, max_length=255,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   118
        help_text=_("Solaris kernel(8) and boot(8) options."))
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   119
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   120
    bootargs_persist = forms.BooleanField(
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   121
        label=_("Make Instance Boot Options Persistent"),
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   122
        required=False,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   123
        help_text=_("Instance Boot Options are retained and used for each "
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   124
                    "subsequent boot."))
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   125
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   126
    def handle(self, request, data):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   127
        if data is None:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   128
            return True
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   129
        metadata = {'bootargs': data['bootargs'].strip()}
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   130
        if metadata['bootargs']:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   131
            metadata['bootargs_persist'] = str(data['bootargs_persist'])
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   132
        else:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   133
            metadata['bootargs_persist'] = "False"
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   134
        try:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   135
            api.nova.server_set_meta(request,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   136
                                     data['instance_id'],
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   137
                                     metadata)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   138
        except Exception:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   139
            exceptions.handle(request, ignore=True)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   140
            return False
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   141
        return True
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   142
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   143
    class Meta(object):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   144
        name = _("Instance Boot Options")
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   145
        slug = 'instance_bootargs'
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   146
        help_text = _("Edit Instance Boot Options.")
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   147
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   148
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   149
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   150
# Add bootargs To the action class for UpdateInstance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   151
# contained in Project/Compute/Instances/Actions/Edit Instance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   152
class UpdateInstanceBootarg(workflows.Step):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   153
    action_class = UpdateInstanceBootargAction
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   154
    depends_on = ("instance_id",)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   155
    contributes = ("bootargs", "bootargs_persist",)
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   156
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   157
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   158
# Bootargs feature:
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   159
# if locally configured to do so add UpdateInstanceBootarg
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   160
# to Project/Compute/Instances/Actions/Edit Instance
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   161
if getattr(settings, 'SOLARIS_BOOTARGS', True):
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   162
    update_instance.UpdateInstance.default_steps += (
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   163
        UpdateInstanceBootarg,
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   164
    )
47302747b363 PSARC/2016/031 OpenStack Nova support for boot options for guests
Brian Reitz <Brian.Reitz@Oracle.COM>
parents: 5405
diff changeset
   165
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   166
# Remove 'TogglePause', 'MigrateInstance' actions from
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   167
# Admin/System/Instances/Actions
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   168
temp = list(AdminInstancesTable._meta.row_actions)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   169
temp.remove(MigrateInstance)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   170
temp.remove(TogglePause)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   171
AdminInstancesTable._meta.row_actions = tuple(temp)
1970
f37782924749 19056291 A couple of links to zone consoles still exist
Drew Fisher <drew.fisher@oracle.com>
parents: 1944
diff changeset
   172
7315
5cc40226273b PSARC/2016/531 OpenStack Neutron Security Groups
Girish Moodalbail <Girish.Moodalbail@oracle.COM>
parents: 6973
diff changeset
   173
# Remove 'TogglePause' action from Project/Compute/Instances/Actions
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   174
temp = list(InstancesTable._meta.row_actions)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   175
temp.remove(TogglePause)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   176
InstancesTable._meta.row_actions = tuple(temp)
1990
c1c6cc703d7a 18686478 kstat warning every minute in nova-compute log on SPARC
david.comay@oracle.com
parents: 1989
diff changeset
   177
6912
d4b1a12dae66 24673856 snapshot fails when instance is stopped
Drew Fisher <drew.fisher@oracle.com>
parents: 6856
diff changeset
   178
# Set the available states for Create Snapshot to only be 'ACTIVE'
d4b1a12dae66 24673856 snapshot fails when instance is stopped
Drew Fisher <drew.fisher@oracle.com>
parents: 6856
diff changeset
   179
project_tables.SNAPSHOT_READY_STATES = ('ACTIVE',)
d4b1a12dae66 24673856 snapshot fails when instance is stopped
Drew Fisher <drew.fisher@oracle.com>
parents: 6856
diff changeset
   180
5195
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   181
# Disable 'disk_over_commit', 'block_migration' in
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   182
# Admin/System/Instances/Actions/Live Migrate Instance. Note that this is
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   183
# unchecked by default.
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   184
LiveMigrateForm.base_fields['disk_over_commit'].widget.attrs['disabled'] = True
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   185
LiveMigrateForm.base_fields['block_migration'].widget.attrs['disabled'] = True
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   186
694672bf3c17 PSARC 2015/324 OpenStack Nova support for kernel zone live-migration
david.comay@oracle.com
parents: 4982
diff changeset
   187
# Remove 'CreateVolumeFromImage' checkbox from Project/Compute/Images/Actions
6856
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   188
temp = list(ImagesTable._meta.row_actions)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   189
temp.remove(CreateVolumeFromImage)
356aeea98c39 24465729 Update Horizon for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents: 5640
diff changeset
   190
ImagesTable._meta.row_actions = tuple(temp)
7390
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   191
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   192
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   193
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   194
# Override CreateFlavorInfoAction adding Solaris Zone Brand drop down
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   195
# if SOLARIS_BRANDTYPE is set to True
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   196
class SolarisCreateFlavorInfoAction(flavor_workflows.CreateFlavorInfoAction):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   197
    if getattr(settings, 'SOLARIS_BRANDTYPE', True):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   198
        zone_brand = forms.ChoiceField(label=_("Solaris Zone Brand"),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   199
                                       required=True,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   200
                                       choices=SOLARIS_ZONE_TYPE_CHOICES)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   201
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   202
    class Meta(object):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   203
        name = _("Flavor Information")
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   204
        help_text = _("Flavors define the sizes for RAM, disk, number of "
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   205
                      "cores, and other resources and can be selected when "
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   206
                      "users deploy instances.")
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   207
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   208
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   209
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   210
# Override UpdateFlavorInfoAction adding Solaris Zone Brand drop down
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   211
# if SOLARIS_BRANDTYPE is set to True
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   212
class SolarisUpdateFlavorInfoAction(flavor_workflows.UpdateFlavorInfoAction):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   213
    if getattr(settings, 'SOLARIS_BRANDTYPE', True):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   214
        zone_brand = forms.ChoiceField(label=_("Solaris Zone Brand"),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   215
                                       required=True,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   216
                                       choices=SOLARIS_ZONE_TYPE_CHOICES)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   217
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   218
    class Meta(object):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   219
        name = _("Flavor Information")
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   220
        slug = 'update_info'
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   221
        help_text = _("Edit the flavor details. Flavors define the sizes for "
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   222
                      "RAM, disk, number of cores, and other resources. "
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   223
                      "Flavors are selected when users deploy instances.")
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   224
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   225
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   226
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   227
# Override CreateFlavor ensuring brand type metadata is saved to flavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   228
class SolarisCreateFlavor(flavor_workflows.CreateFlavor):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   229
    def handle(self, request, data):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   230
        flavor_id = data.get('flavor_id') or 'auto'
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   231
        swap = data.get('swap_mb') or 0
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   232
        ephemeral = data.get('eph_gb') or 0
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   233
        flavor_access = data['flavor_access']
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   234
        is_public = not flavor_access
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   235
        rxtx_factor = data.get('rxtx_factor') or 1
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   236
        zone_brand = data.get('zone_brand')
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   237
        metadata = {'zonecfg:brand': zone_brand}
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   238
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   239
        # Create the flavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   240
        try:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   241
            self.object = api.nova.flavor_create(request,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   242
                                                 name=data['name'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   243
                                                 memory=data['memory_mb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   244
                                                 vcpu=data['vcpus'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   245
                                                 disk=data['disk_gb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   246
                                                 ephemeral=ephemeral,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   247
                                                 swap=swap,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   248
                                                 flavorid=flavor_id,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   249
                                                 is_public=is_public,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   250
                                                 rxtx_factor=rxtx_factor,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   251
                                                 metadata=metadata)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   252
        except Exception:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   253
            exceptions.handle(request, _('Unable to create flavor.'))
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   254
            return False
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   255
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   256
        # Update flavor access if the new flavor is not public
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   257
        flavor_id = self.object.id
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   258
        for project in flavor_access:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   259
            try:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   260
                api.nova.add_tenant_to_flavor(
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   261
                    request, flavor_id, project)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   262
            except Exception:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   263
                exceptions.handle(
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   264
                    request,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   265
                    _('Unable to set flavor access for project %s.') % project)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   266
        return True
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   267
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   268
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   269
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   270
# Override UpdateFlavor ensuring brand type metadata is saved to flavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   271
class SolarisUpdateFlavor(flavor_workflows.UpdateFlavor):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   272
    def handle(self, request, data):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   273
        flavor_projects = data["flavor_access"]
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   274
        is_public = not flavor_projects
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   275
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   276
        # Update flavor information
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   277
        try:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   278
            flavor_id = data['flavor_id']
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   279
            # Grab any existing extra specs, because flavor edit is currently
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   280
            # implemented as a delete followed by a create.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   281
            extras_dict = api.nova.flavor_get_extras(self.request,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   282
                                                     flavor_id,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   283
                                                     raw=True)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   284
            extras_dict['zonecfg:brand'] = data['zone_brand']
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   285
            # Mark the existing flavor as deleted.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   286
            api.nova.flavor_delete(request, flavor_id)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   287
            # Then create a new flavor with the same name but a new ID.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   288
            # This is in the same try/except block as the delete call
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   289
            # because if the delete fails the API will error out because
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   290
            # active flavors can't have the same name.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   291
            flavor = api.nova.flavor_create(request,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   292
                                            data['name'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   293
                                            data['memory_mb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   294
                                            data['vcpus'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   295
                                            data['disk_gb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   296
                                            ephemeral=data['eph_gb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   297
                                            swap=data['swap_mb'],
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   298
                                            is_public=is_public,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   299
                                            rxtx_factor=data['rxtx_factor'])
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   300
            if (extras_dict):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   301
                api.nova.flavor_extra_set(request, flavor.id, extras_dict)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   302
        except Exception:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   303
            exceptions.handle(request, ignore=True)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   304
            return False
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   305
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   306
        # Add flavor access if the flavor is not public.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   307
        for project in flavor_projects:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   308
            try:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   309
                api.nova.add_tenant_to_flavor(request, flavor.id, project)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   310
            except Exception:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   311
                exceptions.handle(request, _('Modified flavor information, '
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   312
                                             'but unable to modify flavor '
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   313
                                             'access.'))
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   314
        return True
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   315
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   316
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   317
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   318
# Override UpdateView ensuring brand type metadata is retrieved from flavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   319
class SolarisUpdateView(flavor_views.UpdateView):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   320
    def get_initial(self):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   321
        flavor_id = self.kwargs['id']
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   322
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   323
        try:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   324
            # Get initial flavor information
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   325
            flavor = api.nova.flavor_get(self.request, flavor_id,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   326
                                         get_extras=True)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   327
        except Exception:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   328
            exceptions.handle(self.request,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   329
                              _('Unable to retrieve flavor details.'),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   330
                              redirect=reverse_lazy(INDEX_URL))
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   331
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   332
        if "zonecfg:brand" not in flavor.extras:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   333
            zone_brand = SOLARIS_ZONE_TYPE_DEFAULT
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   334
        else:
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   335
            zone_brand = flavor.extras['zonecfg:brand']
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   336
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   337
        return {'flavor_id': flavor.id,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   338
                'name': flavor.name,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   339
                'vcpus': flavor.vcpus,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   340
                'memory_mb': flavor.ram,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   341
                'disk_gb': flavor.disk,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   342
                'swap_mb': flavor.swap or 0,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   343
                'rxtx_factor': flavor.rxtx_factor or 1,
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   344
                'eph_gb': getattr(flavor, 'OS-FLV-EXT-DATA:ephemeral', None),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   345
                'zone_brand': zone_brand}
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   346
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   347
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   348
# Solaris brand type feature.
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   349
# Various overrides only peformed if SOLARIS_BRANDTYPE is set to True
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   350
if getattr(settings, 'SOLARIS_BRANDTYPE', True):
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   351
    flavor_workflows.CreateFlavorInfo.action_class = \
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   352
        SolarisCreateFlavorInfoAction
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   353
    flavor_workflows.CreateFlavorInfo.contributes += ('zone_brand',)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   354
    flavor_workflows.UpdateFlavorInfo.action_class = \
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   355
        SolarisUpdateFlavorInfoAction
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   356
    flavor_workflows.UpdateFlavorInfo.contributes += ('zone_brand',)
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   357
    flavor_views.CreateView.workflow_class = SolarisCreateFlavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   358
    flavor_views.UpdateView.workflow_class = SolarisUpdateFlavor
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   359
    flavor_urls.urlpatterns = patterns(
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   360
        'openstack_dashboard.dashboards.admin.flavors.views',
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   361
        url(r'^$', flavor_views.IndexView.as_view(), name='index'),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   362
        url(r'^create/$', flavor_views.CreateView.as_view(), name='create'),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   363
        url(r'^(?P<id>[^/]+)/update/$', SolarisUpdateView.as_view(),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   364
            name='update'),
ed91ff551438 20370821 Users should be able to select zone type at flavour creation
Matt Keenan <matt.keenan@oracle.com>
parents: 7315
diff changeset
   365
    )