New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vendor full aws-sdk instead of individual packages #12614
Conversation
Pinging @elastic/uptime |
How did you measure the new binary metricbeat size? When I tried
So if we decide to go with v0.9.0, then I need to fix aws module first 😬 |
@kaiyan-sheng weird! I just used |
@kaiyan-sheng works for me
|
Functionbeat is broken I should say though, I'll try and fix that |
Did you run the command under |
Ah, I see the issue was that I was using the OSS version. |
This is great! this change will require to update Functionbeat and Metricbeat AWS module, do you plan to do that? As a side note, it would probably make a lot of sense to unify how we initialize AWS client, so we all share the same parameters set, like we did with Kubernetes or Docker: https://github.com/elastic/beats/blob/master/libbeat/common/docker/client.go |
@exekias Glad to hear it! I just pushed the updates to functionbeat/metricbeat to make them compatible. I also merged in the latest master. I agree with unifying the initialization, but perhaps we can do that in a separate PR? The scope here is large as is. We also will need a separate PR to take advantage of the newer version of the AWS library's support for adding a |
That sounds great to me, thank you for taking the load here! |
@kaiyan-sheng @exekias I'm thinking I'm going to put this PR on indefinite hold and use preview5 for my ELB PR. I got pretty far here, but now I'm getting weird NPEs in functionbeat. I don't have the time to sink into this right now. Maybe @ph can take a look? |
@andrewvc Thanks for the update! I can also take a look later for the unit tests in metricbeat aws module that are still failing with v0.9.0, for example https://travis-ci.org/elastic/beats/jobs/550513776#L647 |
cc @kvch FYI |
I have tracked down the issue with Functionbeat tests. In
I've mailed the patch to you. |
Incorporated @kvch 's patch (thanks!) as well as merged in master and updated the new RDS stuff. 🤞 |
Sorry for the delay! I will fix the rest of the failing unit tests here! |
Fix unit tests for metricbeat aws module
jenkins, retest this please |
andrewvc#2 should fix the unit test. |
Fix unit test TestGetListMetricsOutput
jenkins, please retest this. |
jenkins, retest this please. |
andrewvc#3 one more please! |
Fix unit tests for aws module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yay the tests passed!
This takes over from #12548 , and resolves a lot of packaging weirdness by simply importing the full AWS SDK with govendor. This also updates the version to
v0.9.0
frompreview.5
. This is a prereq for #12401govendor
doesn't play well when attempting to update the individual packages, complaining frequently about subtree overwrites. With this change, an update is as simple asgovendor fetch github.com/aws/aws-sdk-go-v2/...@VERSION
.Previously I used a bash one liner to parse the package names out of
vendor.json
and attempt to invokegovendor
once per package. However, that hit the aforementioned problems with subtree overwrites.I've heard that there are some concerns about this potentially increasing binary size. I've tried compiling
metricbeat
from on this branch. The binary was 56 megabytes. Identical to master.