ice icon indicating copy to clipboard operation
ice copied to clipboard

Operation converted to ReservedInstancesHeavy

Open ansoni opened this issue 10 years ago • 4 comments

Hello

Been debugging an issue where my OnDemandInstances seem to be getting converted to ReservedInstancesHeavy.

I narrowed it down to this code in BasicLineItemProcessor:204

if (product == Product.ec2_instance && !reservationUsage && operation == Operation.ondemandInstances) operation = Operation.getReservedInstances(config.reservationService.getDefaultReservationUtilization(0L));

Can someone shed some light onto the purpose of this line?

ansoni avatar Aug 15 '14 15:08 ansoni

FYI, I only see the ec2 instance Operation mis-represented on the Details with Resource Groups page.

ansoni avatar Aug 15 '14 16:08 ansoni

Anthony, I'm looking into it.

On Fri, Aug 15, 2014 at 9:35 AM, Anthony [email protected] wrote:

FYI, I only see the ec2 instance Operation mis-represented on the Details with Resource Groups page.

— Reply to this email directly or view it on GitHub https://github.com/Netflix/ice/issues/118#issuecomment-52328242.

vfilanovsky avatar Aug 15 '14 16:08 vfilanovsky

Anthony, I see this code was changed on March 19: https://github.com/Netflix/ice/commit/3d181779d86e3cb6840cb1f7bc31ab43a51c5146 Perhaps you didn't pull in this commit?

vfilanovsky avatar Aug 18 '14 23:08 vfilanovsky

Hi there, I have re-based that March 19th change and it did address one of my issues, but I still drop into the if statement below it which causes a weird error and an apparent calculation of the resource cost:

if (product == Product.ec2_instance && operation instanceof Operation.ReservationOperation) {

This looks to be due to the fact that Operation.ondemandInstance is an instance of ReservationOperation. I saw this happening because of this error:

2014-09-03 19:17:54,743 [com.netflix.ice.processor.BillingFileProcessor] ERROR basic.BasicLineItemProcessor - failed to get RI price for us-east-1 cc1.4xlarge

I made the following change locally and is seemed to keep me out of that if statement:

if (product == Product.ec2_instance && operation instanceof Operation.ReservationOperation && operation != Operation.ondemandInstances) {

ansoni avatar Sep 03 '14 19:09 ansoni