Skip to content

Release 2.17 wrongfully removed EC2MetadataUtils#getInstanceInfo #2625

@slandelle

Description

@slandelle

Describe the bug

This commit, described as some internal clean up in order to remove Jackson dependencies.

Sadly, it also performed some other unrelated functional changes. In particular, it removed EC2MetadataUtils#getInstanceInfo (and some other methods too).

Expected Behavior

  • No functional change should occur in a PR that claims to just be a refactoring in order to change the JSON parser.
  • Removing features shouldn't be performed without providing a migration path.

Current Behavior

We contributed a change in EC2MetadataUtils 2 years ago in order to expose the AWS MarkerPlace product codes that were in the response payload but not mapped in the POJO.

This data is critical for us as AWS MarketPlace vendors.
This feature was removed without any further notice, without considering impacts (in particular for us who appear in the git history of this class) and without providing a migration path.

Steps to Reproduce

Please read the changes in EC2MetatadataUtils.

Possible Solution

Someone might argue that this method is an internal and users shouldn't it it. However:

  • using this REST API was the means the AWS MarketPlace people told us to use to fetch the AWS MarketPlace product codes
  • the AWS Java SDK doesn't provide any other means to achieve this
  • our contributions were reviewed and merged, you can't just simply remove them without considering the impact

Ideally, this SDK should provide a public stable API for fetching Marketplace ProductCodes. Or make EC2MetatadataUtils a stable API.

In the meantime, please restore this method.

Context

We've been using this class for years as it's the only way for AWS MarketPlace AMI vendors to fetch the AWS MarketPlace product codes. We even contributed to expose the field in the InstanceInfo object.

EC2MetadataUtils#getInstanceInfo was removed and we're left with no means of fetching the AWS MarketPlace product codes from the instance. As a result, we can't upgrade the software we sell on the AWS MarketPlace.

Your Environment

Irrelevant

Metadata

Metadata

Assignees

No one assigned

    Labels

    guidanceQuestion that needs advice or information.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions