[ 
https://issues.apache.org/jira/browse/JCLOUDS-512?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ignasi Barrera resolved JCLOUDS-512.
------------------------------------
    Resolution: Fixed

> Cannot start instance from newly created image in ComputeService
> ----------------------------------------------------------------
>
>                 Key: JCLOUDS-512
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-512
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-compute
>    Affects Versions: 1.7.1
>            Reporter: Everett Toews
>            Assignee: Ignasi Barrera
>             Fix For: 2.0.0
>
>
> A user found that after they create an image, they cannot start an instance 
> of that image due to it not being found by the TemplateBuilder. See the 
> example code and log in the following gist.
> https://gist.github.com/everett-toews/5447098
> I suspect the images in the TemplateBuilder are being cached and the new one 
> isn't added to that cache but haven't been able to track down the offending 
> code yet.
> Some notes from IRC for future work:
> in TemplateBuilderImpl images is Memoized
> the supplier is in BaseComputeServiceContextModule.supplyImageCache()
>    protected Optional<SecurityGroupExtension> 
> provideSecurityGroupExtension(Injector i) {
> look at the aws code
> part of it is EC2TemplateBuilderImpl.lazyImageProvider 
> it is backed by a map
> which you could listen for and invalidate the image cache entry
> if the cache interval doesn't work, it is one thing
> to express an invalidation, well there's a couple ways
> dig deep
> and monkey around with internal classes
> or expose a ListOption.invalidate()
> and code'in providers to invalidate the cache when they encounter this flag
> it's not just cache interval, it's PROPERTY_SESSION_INTERVAL. from the name 
> it sounds like if you set it to something low it would invalidate the whole 
> session and reauth, just to invalidate that cache.
> there's no parameter for the cache
> probably what would be most helpful is to expose a property that corresponds 
> to CacheBuilderSpec format
> ex. images.cache-spec=expireAfterWrite=300,refreshInterval=10000
> pass that in as a property
> then people can go to town tuning without special casing everything or 
> conflating things like session interval with cache expiry
> basically, you can see how "template" is wired in
> then re-use that approach for the caches
> the most important one being images
> so you could skip the others for now



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to