def set_scaling_info(comp_instance, group_instance, cartridge)
if group_instance and comp_instance
app = group_instance.app
self.current_scale += group_instance.gears.length
if self.scales_with.nil?
app.embedded.each { |cart_name, cart_info|
cart = CartridgeCache::find_cartridge(cart_name)
if cart.categories.include? "scales"
self.scales_with = cart.name
break
end
}
end
sup_max = group_instance.supported_max
self.supported_scales_from += group_instance.supported_min
if self.supported_scales_to.nil? or sup_max==-1
self.supported_scales_to = sup_max
else
self.supported_scales_to += sup_max unless self.supported_scales_to==-1
end
self.scales_from += group_instance.min
if self.scales_to.nil? or group_instance.max == -1
self.scales_to = group_instance.max
else
self.scales_to += group_instance.max unless self.scales_to==-1
end
self.base_gear_storage = group_instance.get_cached_min_storage_in_gb
self.additional_gear_storage = comp_instance.addtl_fs_gb
self.gear_profile = group_instance.node_profile
group_instance.component_instances.each { |cname|
cinst = app.comp_instance_map[cname]
if cinst.parent_cart_name!=cartridge.name and cinst.parent_cart_name != app.name
collocated_with << cinst.parent_cart_name unless collocated_with.include? cinst.parent_cart_name
end
}
else
prof = cartridge.profiles(cartridge.default_profile)
group = prof.groups()[0]
self.current_scale = 0
scaling_cart = CartridgeCache::cartridges.find { |cart| ( cart.categories.include? "scales" and cart.name!=cartridge.name ) }
self.scales_with = scaling_cart.name unless scaling_cart.nil?
self.supported_scales_from = group.scaling.min
self.scales_from = group.scaling.min
self.supported_scales_to = group.scaling.max
self.scales_to = group.scaling.max
end
end