[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 <szymon.wroblewski@intel.com>
Change-Id: Id84548cfaaa50a3d1e299b34b3a2591ec02ed25b
This commit is contained in:
Travis Tripp 2015-03-30 23:31:21 -06:00
parent d353d01b2d
commit 15757175bc
5 changed files with 18 additions and 4 deletions

View File

@ -23,14 +23,16 @@ limitations under the License.
validate-number-min="1" name="allocated-flavor">
<select-flavor-table
items="selectFlavorCtrl.allocatedFlavorFacades"
displayed-items="selectFlavorCtrl.displayedAllocatedFlavorFacades">
displayed-items="selectFlavorCtrl.displayedAllocatedFlavorFacades"
metadata-defs="selectFlavorCtrl.metadataDefs">
</select-flavor-table>
</allocated>
<available>
<select-flavor-table
is-available-table="true"
items="selectFlavorCtrl.availableFlavorFacades"
displayed-items="selectFlavorCtrl.displayedAvailableFlavorFacades">
displayed-items="selectFlavorCtrl.displayedAvailableFlavorFacades"
metadata-defs="selectFlavorCtrl.metadataDefs">
</select-flavor-table>
</available>
</transfer-table>

View File

@ -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);
}

View File

@ -117,6 +117,14 @@ limitations under the License.
chart-settings="donutSettings"></pie-chart>
<pie-chart chart-data="item.ramChartData"
chart-settings="donutSettings"></pie-chart>
<div ng-if="metadataDefs.flavor">
<div class="row detail" ng-if="item.extras">
<hz-metadata-display
available="::metadataDefs.flavor"
existing="::item.extras">
</hz-metadata-display>
</div>
</div>
</td>
<td></td>
</tr>

View File

@ -115,7 +115,8 @@
scope: {
items: '=',
displayedItems: '=',
isAvailableTable: '=?'
isAvailableTable: '=?',
metadataDefs: '='
},
templateUrl: path + 'launch-instance/flavor/select-flavor-table.html'
};

View File

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