Skip to content
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

Include vhost limits and metadata in definitions exported from the management UI #11411

Closed

Conversation

anhanhnguyen
Copy link
Contributor

Proposed Changes

The change is to include vhost limits and metadata in definitions exported from the management UI.

Fix the issue reported at #10515.

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes issue Definitions export from management UI does not include vhost metadata #10515)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)
  • Build system and/or CI

Checklist

Put an x in the boxes that apply.
You can also fill these out after creating the PR.
If you're unsure about any of them, don't hesitate to ask on the mailing list.
We're here to help!
This is simply a reminder of what we are going to look for before merging your code.

@michaelklishin
Copy link
Member

Thank you but this PR won't be accepted (in its current form, the end goal sounds reasonable to me).

There are several serious omissions or incorrect assumptions:

  • You cannot just change the list of info keys willy-nilly, they usually exist for a reason
  • You have missed rabbit_definitions where you arguably should have started, therefore rabbitmqctl export_definitions may or may not return the limits
  • It does not add any tests to the definition import suites (both in core broker and in the management plugin)
  • Therefore it remains an open question whether such exported definitions can be imported back

@michaelklishin
Copy link
Member

Instead, limits should be exposed like so:

  • Start with rabbit_definitions, the management plugin code paths should arguably be removed by now and just use rabbit_definitions
  • definition_import_SUITE and its input cases should be covered first
  • Then test rabbitmqctl export_definitions and its importing counterpart manually
  • Test global definition import vs. single virtual host definition import
  • Then move on to the HTTP API

In addition, HTTP API clients — and there multiple popular ones — may have to be updated as some of them (Go, Ruby, Hop, Rust) include definition operations one way or another.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants