-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Enable defining a network as redundant during restart through the UI #7405
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
base: main
Are you sure you want to change the base?
Conversation
|
Kudos, SonarCloud Quality Gate passed! |
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## main #7405 +/- ##
============================================
- Coverage 17.51% 3.57% -13.95%
============================================
Files 5914 446 -5468
Lines 529867 37731 -492136
Branches 64722 6959 -57763
============================================
- Hits 92782 1347 -91435
+ Misses 426635 36218 -390417
+ Partials 10450 166 -10284
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@GaOrtiga i think this was removed from the UI on purpose. I don´t mind either way but it seems to me operators want to have control on whether users are allowed to make this mistake (as i understood it). |
|
code lgtm btw |
|
exactly, tbh I'm against this api option to exist at all since whether redundant or not should be defined in the offering not as a single action |
I understand, however, users already can do this through the API; therefore, operators don't fully control it. Also, for VPCs this option exists in the UI while restarting them. |
weizhouapache
left a comment
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.
As far as I know, some users wanted to disable this on UI, but some others want this.
As a compromise, can we enable it only for root admin ? if users want it to be visible for domain admins or regular users, create a new network offering and do it through network update with the new network offering.
We could also apply these changes to the UI to maintain consistence with the VPCs section and provide an option in the backend that lets admins determine whether or not to allow users to have access to this. This would standardize the code and address both issues. What are your thoughts on this? If you guys agree on that, we can move with this PR as is, and then create a new one to introduce this other featureset into ACS. |
I agree with the addition that disabling it in the backend should also remove the option on the UI. |
|
what's your opinions ? |
|
There were a lot of cases where people have "accidentally" switched this on and didn't know the consequences, so... not sure what is the best way forward. |
|
Sorry -1, we had a conversation in the past. In fact this feature never had existed, until I had put it in. After discussions and feedback from users esp service providers, we decided to remove the option from the UI though the API param may still be available via UI. This is because service providers may have an explicit network offering with redundant routers, users without using/paying for one could this form to circumvent to get redundant routers for a network not intended for them. However, there is a middle ground but probably not necessary - it could be via adding a global setting for operators to decide if they want to enable such a feature for end users. (listCapabilities or other means can export this option to the UI to show/hide such a setting). |
|
@GaOrtiga will you consider a new global setting to manage it ? (requires UI, API and service layer changes) |
We could add a warning message explaining the consequences when that option is selected
They can still do the same process using the API, so adding this to the UI would not make a difference in that case. As for the global setting, I do agree that is a good option, however it would fall out of the scope of this PR. And I still believe we should make these changes in order to keep consistence between the UI and the API, regardless of the addition of a global setting. |
|
@GaOrtiga how do you want to move forward with this? (moving it to 4.20 for now) |
yadvr
left a comment
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.
We can't accept this because (a) this was reverted after several service providers and users complaint that they don't want users to have rvr when the offering doesn't allow that by default, (b) isn't aligned with the original use-case. So, while the API may still allow for it, we don't necessarily want to expose that via UI.
|
@GaOrtiga the only way could be to introduce a feature flag in config.json (in UI) and have it disabled by default, when enabled you can pass the options in UI to show the elements. Could you review if this approach works for your use-case or close the PR. Thanks. |
|
Agree with what Rohit said, this was enabled some releases ago, and it created issues for the Operators. It should be "impossible" by default, with the option to make it configured/enabled if the operator really needs it. |
|
-1 on adding this to the UI. Until the fundamental issues with VRRP are solved this feature should be avoided at all costs. |
+1 what Andrija said. Not against having the feature, but let's make it depend on a global option or something, or a network offering like @borisstoyanov suggested. |
|
@blueorangutan package |
|
@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 13632 |
|
@JoaoJandre do you still want this (behind a feature flag)? |
As long as the default value for the config is true, to maintain the same behavior as the older versions, I'm fine with it. |
@GaOrtiga will you implement such a flag? |
bb53dbf to
969cd89
Compare
969cd89 to
cc7eb93
Compare
|
@DaanHoogland I added the config |
thanks @GaOrtiga . @andrijapanicsb @yadvr , can you concur with this solution? |
| User callerUser = _accountMgr.getActiveUser(CallContext.current().getCallingUserId()); | ||
| if (makeRedundant && !_accountMgr.isRootAdmin(callerUser.getAccountId()) && !AllowUsersToMakeNetworksRedundant.value() ) { | ||
| throw new InvalidParameterValueException(String.format("Could not make network redundant as calling user is not Root Admin and [%s] is set to false.", | ||
| AllowUsersToMakeNetworksRedundant.key())); |
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.
| AllowUsersToMakeNetworksRedundant.key())); |
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.
@sureshanaparti , this is a syntax error. I think I know what you mean, but let’s not apply this.
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>








Description
By utilizing the
restartNetworkAPI and setting themakeredundantparameter to true, ACS allows the user to make a guest network redundant during its restart process; however, this feature was only available through the API.An adjustment was made to add this functionality to the UI.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Screenshots (if appropriate):