Handle duplicate storages in the refresh parser #361
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
VMware datastores in multiple datacenters will have the same location but different ems_refs. This leads to "duplicate" storages in the parser that will lead to a single storage record.
Due to an issue with the saver if duplicate storages are sent from the parser they will actually be all created so we get duplicate storage records, then subsequent refreshes pick up only the first one leading to orphans.
This change adapts the parser to handle these "duplicate" storages in the parser. One trick is that we need to handle mapping multiple ems_refs (mors) to the single storage record.