From 15757175bcb2a1894d46de07edcfc2d68f57c740 Mon Sep 17 00:00:00 2001 From: Travis Tripp Date: Mon, 30 Mar 2015 23:31:21 -0600 Subject: [PATCH] [Launch Instance Fix] Flavor Metadata Details The metadata display widget was developed as a common way to display additional metadata about images, volumes, and flavors in the launch instance workflow. This fix integrates the metadata widget into the source step for displaying the extra metadata. It also corrects any additional styling problems in the widget itself. The bug report includes detailed information on testing. Closes-Bug: #1438505 Co-Authored-By: Szymon Wroblewski Change-Id: Id84548cfaaa50a3d1e299b34b3a2591ec02ed25b --- .../static/dashboard/launch-instance/flavor/flavor.html | 6 ++++-- .../static/dashboard/launch-instance/flavor/flavor.js | 3 +++ .../launch-instance/flavor/select-flavor-table.html | 8 ++++++++ .../launch-instance/flavor/select-flavor-table.js | 3 ++- .../dashboard/launch-instance/launch-instance.model.js | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.html b/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.html index 36e6dd2258..47b33f9119 100644 --- a/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.html +++ b/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.html @@ -23,14 +23,16 @@ limitations under the License. validate-number-min="1" name="allocated-flavor"> + displayed-items="selectFlavorCtrl.displayedAllocatedFlavorFacades" + metadata-defs="selectFlavorCtrl.metadataDefs"> + displayed-items="selectFlavorCtrl.displayedAvailableFlavorFacades" + metadata-defs="selectFlavorCtrl.metadataDefs"> diff --git a/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.js b/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.js index fa2c033998..bcf663996d 100644 --- a/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.js +++ b/openstack_dashboard/static/dashboard/launch-instance/flavor/flavor.js @@ -50,6 +50,7 @@ // Convenience references to launch instance model elements this.flavors = []; + this.metadataDefs = launchInstanceModel.metadataDefs; this.novaLimits = {}; this.instanceCount = 1; @@ -121,6 +122,7 @@ ctrl.validateFlavor(); }); + // Convenience function to return a sensible value instead of // undefined this.defaultIfUndefined = function (value, defaultValue) { @@ -160,6 +162,7 @@ rootDisk: flavor.disk, ephemeralDisk: flavor['OS-FLV-EXT-DATA:ephemeral'], isPublic: flavor['os-flavor-access:is_public'], + extras: flavor.extras }; this.availableFlavorFacades.push(facade); } diff --git a/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.html b/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.html index f3c897f329..1f365d240a 100644 --- a/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.html +++ b/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.html @@ -117,6 +117,14 @@ limitations under the License. chart-settings="donutSettings"> +
+
+ + +
+
diff --git a/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.js b/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.js index 5ce2fafd5b..6c57dd6545 100644 --- a/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.js +++ b/openstack_dashboard/static/dashboard/launch-instance/flavor/select-flavor-table.js @@ -115,7 +115,8 @@ scope: { items: '=', displayedItems: '=', - isAvailableTable: '=?' + isAvailableTable: '=?', + metadataDefs: '=' }, templateUrl: path + 'launch-instance/flavor/select-flavor-table.html' }; diff --git a/openstack_dashboard/static/dashboard/launch-instance/launch-instance.model.js b/openstack_dashboard/static/dashboard/launch-instance/launch-instance.model.js index 8baf77581f..b47c549674 100644 --- a/openstack_dashboard/static/dashboard/launch-instance/launch-instance.model.js +++ b/openstack_dashboard/static/dashboard/launch-instance/launch-instance.model.js @@ -191,7 +191,7 @@ promise = $q.all([ getImages(), novaAPI.getAvailabilityZones().then(onGetAvailabilityZones, noop), - novaAPI.getFlavors().then(onGetFlavors, noop), + novaAPI.getFlavors(true, true).then(onGetFlavors, noop), novaAPI.getKeypairs().then(onGetKeypairs, noop), novaAPI.getLimits().then(onGetNovaLimits, noop), securityGroup.query().then(onGetSecurityGroups, noop),