You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by yo...@apache.org on 2014/06/24 21:02:38 UTC
svn commit: r1605154 -
/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm
Author: yoh
Date: Tue Jun 24 19:02:38 2014
New Revision: 1605154
URL: http://svn.apache.org/r1605154
Log:
remove List::BinarySearch package in _get_flavor_type subroutine.
Modified:
vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm
Modified: vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm
URL: http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm?rev=1605154&r1=1605153&r2=1605154&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/Provisioning/openstack.pm Tue Jun 24 19:02:38 2014
@@ -513,6 +513,7 @@ sub _delete_computer_mapping {
sub _get_flavor_type {
my $openstack_image_name = shift;
my $image_disk_size;
+ # Change the glance image path based on your confirguration
my $openstack_image_info = "qemu-img info /var/lib/glance/images/$openstack_image_name";
my $openstack_image_info_output = `$openstack_image_info`;
if($openstack_image_info_output =~ m/virtual size:(\s\d{1,4})G/g)
@@ -542,41 +543,25 @@ sub _get_flavor_type {
notify($ERRORS{'WARNING'}, 0, "No flavor information or disk size is greater than the maximum flavor");
return 0;
}
+ my $flavor_type;
+ my $index=0;
+ foreach my $x (@flavor_disk_sizes) {
+ if($x >= $image_disk_size) {
+ $flavor_type = $flavor_ids[$index];
+ last;
+ }
+ $index = $index + 1;
+ }
+ notify($ERRORS{'OK'}, 0, "OpenStack flavor type = $flavor_type");
+=for comment
+# if you want to use List::BinarySearch package
# Use List::BinarySearch package to find the proper flavor type for the image based on its size.
my $index = binsearch_pos { $a <=> $b} $image_disk_size, @flavor_disk_sizes;
my $flavor_type = $flavor_ids[$index];
notify($ERRORS{'OK'}, 0, "OpenStack flavor type = $flavor_type");
-
-=for comment
-# if you do not want to use List::BinarySearch package
-# then use if, elsif, else based on your OpenStack flavor info
-# OR, use database to get the flavor information
-# for example,
- my @flavor_disk_sizes = (1, 20, 40, 80, 160);
- my $flavor_type;
-
- if($image_size < $flavor_disk_sizes[0]){
- $flavor_type = 1;
- }
- elsif($flavor_disk_sizes[0] <= $image_size && $image_size < $flavor_disk_sizes[1]) {
- $flavor_type = 2;
- }
- elsif($flavor_disk_sizes[1] <= $image_size && $image_size < $flavor_disk_sizes[2]) {
- $flavor_type = 3;
- }
- elsif($flavor_disk_sizes[2] <= $image_size && $image_size < $flavor_disk_sizes[3]) {
- $flavor_type = 4;
- }
- elsif($flavor_disk_sizes[3] <= $image_size && $image_size < $flavor_disk_sizes[4]) {
- $flavor_type = 5;
- }
- else {
- notify($ERRORS{'OK'}, 0, "No available OpenStack flavor for $openstack_image_name");
- return 0;
- }
-
=cut
+
return $flavor_type;
}