Teevity / ice

AWS Usage Tool
2.85k stars 434 forks source link

Can't manually create app groups from the UI #278

Closed klausfiend closed 6 years ago

klausfiend commented 6 years ago

I've just updated to the latest version from master, and the 'Save' button in the UI is completely greyed out. I also can't seem to convince the app to honor an appgroups file I can generate on my own using Python, so the cost breakdown by application features are completely unusable.

screen shot 2017-12-12 at 11 05 15 pm

Anyone else have this issue? I'm not sure if I just missed a configuration tweak or what, but I seem to recall that this worked at one point.

nfonrose commented 6 years ago

Hello,

Can you check if you have an error message in the JavaScript console please?

Nicolas

Le mer. 13 déc. 2017 à 08:06, klausfiend notifications@github.com a écrit :

I've just updated to the latest version from master, and the 'Save' button in the UI is completely greyed out. I also can't seem to convince the app to honor an appgroups file I can generate on my own using Python, so the cost breakdown by application features are completely unusable.

[image: screen shot 2017-12-12 at 11 05 15 pm] https://user-images.githubusercontent.com/16393974/33925951-138f66d8-df91-11e7-94a7-7bb83246d34e.png

Anyone else have this issue? I'm not sure if I just missed a configuration tweak or what, but I seem to recall that this worked at one point.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Teevity/ice/issues/278, or mute the thread https://github.com/notifications/unsubscribe-auth/AACUpYpeIe3xw-QtZJJ5ejr48ax6RX6Rks5s_3eOgaJpZM4RAGS4 .

--

Nicolas Fonrose | Teevity | Founder +33.6.61.35.43.31 https://teevity.com - Cloud Costs Analytics built on NetflixOSS twitter - @nfonrose / @teevity

klausfiend commented 6 years ago

Totally forgot to check that first. Here's what I'm seeing in the JS console:

aws_usage1

This is the contents of one backtrace:

Error 2017-12-13 14:27:57,181 [http-nio-127.0.0.1-8080-exec-1] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /dashboard/getResourceGroupLists Stacktrace follows: Message: null Line Method ->> 126 getMonthMillis in com.netflix.ice.basic.BasicTagGroupManager
212 getResourceGroups in ''
247 getResourceGroups in ''
110 doCall in com.netflix.ice.DashboardController$_closure5
1152 runWorker . . . . in java.util.concurrent.ThreadPoolExecutor
622 run in java.util.concurrent.ThreadPoolExecutor$Worker
^ 748 run . . . . . . . in java.lang.Thread

although this cryptic and unhelpful backtrace is also showing up:

| Error 2017-12-13 14:43:51,268 [http-nio-127.0.0.1-8080-exec-8] ERROR errors.GrailsExceptionResolver - NullPointerException occurred when processing request: [GET] /dashboard/getResourceGroupLists Stacktrace follows: Message: null No stack trace available

The specific URL itself returns a 500 ISE with a generic "an error has occurred" message if you load /dashboard/getResourceGroupLists? on its own.

klausfiend commented 6 years ago

The cause of this issue was related to #279, which itself was the byproduct of corrupted data from the processor being handed off to the reader.

nfonrose commented 6 years ago

If you suspect you might have corrupted files, and if you want to force Ice to re-generate and then re-read everything, the best way to clear the doubt is to force Ice to reprocess all your billing data. In order to do that, re-run Ice with a different "working bucket" and after having cleared all the local files in the /tmp directory it uses as a local cache.

From what I understand, you have probably tried that when working on issue

279 https://github.com/Teevity/ice/issues/279, have you?

Nicolas

-- Nicolas Fonrose | Teevity | Founder +33.6.61.35.43.31 <+33%206%2061%2035%2043%2031> https://teevity.com - Cloud Costs Analytics built on NetflixOSS twitter - @nfonrose / @teevity

On Thu, Jan 4, 2018 at 7:19 AM, klausfiend notifications@github.com wrote:

It looks like this may have been related to issue #279 https://github.com/Teevity/ice/issues/279, although now I don't see any of our custom tags, I only see AWS' own identifiers.

If I add a custom group, it updates the appgroups file appropriately, but it doesn't load any of the custom tag data from the file itself (presumably because there are no records with any of those identifiers).

Assuming that this information has just been corrupted like the other billing records were, where does that data normally live, e.g., how can I convince ICE to re-read it so I get valid application tag data available again?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Teevity/ice/issues/278#issuecomment-355207617, or mute the thread https://github.com/notifications/unsubscribe-auth/AACUpWG3cD8IW6azF7p41bTSa8-uByxyks5tHG17gaJpZM4RAGS4 .

klausfiend commented 6 years ago

Yes, that's what I did, I created new buckets for both processor and reader, copied all my detailed billing reports across, and started an instance of the app with the new copies instead. I would not have suspected that corrupted reader data would have affected tags, but as long as it's fixable, I'm happy.

For the instance that's currently live in our production environment, I'm going to do the same thing for it and purge all its generated data so that the app is forced to regenerate it; that process faithfully regenerated everything in testing, so it should do likewise in production.