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-- |
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 |
) |