Skip to content

Conversation

@shwstppr
Copy link
Member

Description

Problem: Storage offerings cannot be linked to specified multiple domain(s) and zone(s).
Root cause: Storage or disk offerings are independent of zones and they can be linked to a single domain/sub-domain
Solution: Storage or disk offerings will be allowed to link with specified domain(s) and zone(s). Disk offering linked with multiple domains and zones can be created both with UI and API. Existing disk offerings can be updated for linking using API. Refactored createDiskOffering and updateDiskOffering API to allow passing list of domain and zone IDs with domainids and zoneids parameter respectively. UI has been refactored to allow selecting multiple domains and zones while creating disk offering using multi-select elements. Disk offering details will now show list of linked domains and zones as a comma-separated list of names. Linked domains and zones will be stored in the cloud.disk_offering_details table in database as comma-separated list of IDs with key domainids and zoneids respectively.

Types of changes

  • Breaking change (fix or feature that would cause existing functionality to change)
  • New feature (non-breaking change which adds functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Enhancement (improves an existing feature and functionality)
  • Cleanup (Code refactoring and cleanup, that may add test cases)

Screenshots (if appropriate):

Updated create disk offering form
Screenshot from 2019-03-27 17-12-50
Screenshot from 2019-03-27 17-11-11

Updated disk offering details with domains and zones,
Screenshot from 2019-03-27 17-07-44

Cloudmonkey API calls
Screenshot from 2019-03-27 17-07-27
Screenshot from 2019-03-27 17-06-14

How Has This Been Tested?

From UI and cmk

Allows craeting storage offerings associated with particular zones. In UI create disk/storage offfering form a mult-select control has been addded to select desired zone(s).
createDiskOffering API has been modified to allow passing list of zoneids. This list is stored in DB in disk_offering_details table with 'zoneids' key. Response for create and list disk offering APIs will return zoneids and zonenames in details object of response of offering is associated with zone(s).
listDiskOfferings API has been modified to allow passwing zoneid to return only offerings which are associated with the zone.

Signed-off-by: Abhishek Kumar <[email protected]>
This change allows changing domain and zone(s) for a disk offering. Added 'domainid' and 'zoneids' for the 'updateDiskOffering' API.

Signed-off-by: Abhishek Kumar <[email protected]>
Associating zones with disk offering will require volumes to be created in storage pool of those associated zones only.
This change adds check for validating allowed offering, zone combination while creating, resizing and migrating volumes.

Signed-off-by: Abhishek Kumar <[email protected]>
This change allows associating multiple domains with a disk offering.
ID of selected domains will be stored in disk_offering_details table as comma separated list with key 'domainids'.
create, update disk offering API now accepts new parameter domainids to provide ID of domains.
UI shows domains list as comma separated names string in offering details tab. Create disk offering form now allows multi-selection.

Signed-off-by: Abhishek Kumar <[email protected]>
This change enables filtering child domains while creating, updating disk offerings when both parent and child domains are passed.

Signed-off-by: Abhishek Kumar <[email protected]>
Fixes missing labels. Decouples zone selection with 'Public' check in create disk offering form.

Signed-off-by: Abhishek Kumar <[email protected]>
createDiskOffering and updateDiskOffering will allow using both 'domainid' for signle domain association with offering and 'domainds' for multiple domains.

Signed-off-by: Abhishek Kumar <[email protected]>
@shwstppr shwstppr added the WIP label Mar 27, 2019
@rohityadavcloud
Copy link
Member

Send to apache/cloudstack @shwstppr

@shwstppr
Copy link
Member Author

Moved: apache#3248

@shwstppr shwstppr closed this Mar 29, 2019
rohityadavcloud added a commit that referenced this pull request Jan 20, 2021
This fixes #41

Adds project specific dashboard tabs, custom actions and tabs for project view. Also adds quickview and other list/details view improvements.

Co-authored-by: hoangnm <[email protected]>
Co-authored-by: Rohit Yadav <[email protected]>
Signed-off-by: Rohit Yadav <[email protected]>
vishesh92 pushed a commit that referenced this pull request Sep 9, 2024
* Prevent addition of duplicate PF rules on scale up and no rules left behind on scale down (#32)

* fix missing dependency injection

* NSX: Fix concurrency issues on port forwarding rules deletion (#37)

* Fix concurrency issues on port forwarding rules deletion

* Refactor objectExists

* Fix unit test

* Fix test

* Small fixes

* CKS: Externalize control and worker node setup wait time and installation attempts (#38)

* NSX: Add shared network support (#41)

* NSX: Fix number of physical networks for Guest traffic checks and leftover rules on CKS cluster deletion (#45)

* Fix pf rules removal on CKS cluster deletion

* Fix check for number of physical networks for guest traffic

* Fix unit test

* fix logger

* NSX: Handle CheckHealthCommand to avoid host disconnection and errors on APIs

* NSX: Handle CheckHealthCommand to avoid host disconnection and errors on APIs

* Remove unused string

* fix logger

* Update UDP active monitor to ICMP

* Fix NPE on restarting VPC with additional public IPs

* NSX / VPC: Reuse Source NAT IP from systemVM range on restarts

* CKS: Public IP not found for VPC networks

* Externalize retries and inverval for NSX segment deletion (#67)

* remove unused import

* remove duplicate imports

* remove unused import

* revert externalizing cks settings

* fix test

* Refactor log messages

* Address comments

* Fix issue caused due to forward merge: 90fe1d

---------

Co-authored-by: Nicolas Vazquez <[email protected]>
Co-authored-by: Rohit Yadav <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants