[PATCH conductor] BZ 787046 - reduce number of iwhd operations in deployments/overview
Petr Blaho
pblaho at redhat.com
Mon Feb 6 16:05:50 UTC 2012
On Thursday, February 02, 2012 06:04:57 PM Richard Su wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=787046
>
> The instance object makes multiple calls to iwhd to retrieve the image
> and image_build. We can reduce the number of calls by storing the result
> in an instance variable and reuse it on subsequent requests.
> ---
> src/app/models/instance.rb | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
> index 03bc119..68ed3bb 100644
> --- a/src/app/models/instance.rb
> +++ b/src/app/models/instance.rb
> @@ -178,11 +178,11 @@ class Instance < ActiveRecord::Base
>
>
> def image
> - Aeolus::Image::Warehouse::Image.find(image_uuid) if image_uuid
> + @image ||= Aeolus::Image::Warehouse::Image.find(image_uuid) if image_uuid
> end
>
> def image_build
> - Aeolus::Image::Warehouse::ImageBuild.find(image_build_uuid) if image_build_uuid
> + @image_build ||= Aeolus::Image::Warehouse::ImageBuild.find(image_build_uuid) if image_build_uuid
> end
>
> def build
> @@ -357,7 +357,7 @@ class Instance < ActiveRecord::Base
> # try to get architecture of the image associated with this instance
> # for imported images template is empty -> architecture is not set,
> # in this case we omit this check
> - return Aeolus::Image::Warehouse::Image.find(build.image.uuid).os.arch
> + return image.os.arch
> rescue
> logger.warn "failed to get image architecture for instance '#{name}', skipping architecture check: #{$!}"
> logger.warn $!.backtrace.join("\n ")
>
ACKed.
But this will not cache false and nil values.
--
With regards
Petr Blaho
More information about the aeolus-devel
mailing list