Commit d9bef05
FR79: Introducing storage tags on host, cluster and pods (apache#503)
The feature introduces Storage Access Groups on zone/cluster scoped storage pools and hosts/clusters/pods/zones to define the host and storage pool connections. Previously when a zone scoped storage pool is added it would connect to all the hosts in that zone, now with this feature one can define the scope of the connections of the storage to the required hosts.
* API and DB changes
* Added validations on vm and volume migrations wrt storage tags on host
* Fix tags during startupcommand
* update storagepool tags
* Added responses and UI changes
* Fix storage tags on cluster and pods
* some more fixes
* Fix storage tag deletion and tests
* Fix storage tags deletion
* Add & Remove PowerFlex/ScaleIO MDMs while preparing & unpreparing the storage SDC connections (instead of start & stop scini)
* storage pool detail null check
* Fix some tag edit scenarios
* Addressed review comments
* UI change for storage tags
* Fix empty storage tags on hosts validation during vm migrate
* Fix updating storage connection when applying tags on storage pool
* Fix to populate tags to hosts when tags are removed on cluster/pod
* Fix mysql queries
* Fixes for host tags and storage pool tags
* Add check for used volumes while updating storage pool
* Fix update cluster UI for tags deletion
* Fix update pod form to accept empty storage tags
* Zone storage pool tags introduction
* Added zone level storage tags
* Add storage tags to zone UI details
* Replace the usage of tags in storage pool with a new parameter for host connection
* Update host and storage connections based on consideration on empty tags
* Add hostId to liststoragepools API to list connected pools
* Few fixes and improvements
* Rename table
* Fix unit tests
* fix gen toc
* Add configureStorageAccess API to gen doc
* Change name from storagetags to storageaccessgroups
* Remove storagetags from all update APIs, just to use configureStorageAccess API
* Rename storage tags with storage access groups
* UI changes
* Add primary storage update UI
* UI changes
* Add proper migration checks and fix tests
* Add missing UI label
* Reorder mysql changes
* storage pool detail null check
* Add/Remove MDM IP addresses during Host connection/disconnection to/from storage pool when powerflex.connect.on.demand is false
* unit test fixes
* Fix storage access groups comparision
* Add check if all hosts are using the tags
* Fix error message
* Use listeners disconnect method
* Don't remove MDM IPs from SDC when any volumes mapped to SDC
* Fix hostDao
* Fix storage pool addition with the combined tags
* Addressed Review comments mainly on renaming
* Fix tests and some logic
* optimise the storage access group check
* Add tests for storage access group checks
* Added tests for volume migration checks
* Unit tests for checking all hosts using storage access groups
* Add tests for volumes in use by pools which needs to be disconnected
* Fix podId
* Add inherited storage groups to response and UI
* Fetch IDs from host object
* changes after rebasing apple-base418
* Don't remove MDM IPs when other pools of same ScaleIO/PowerFlex cluster are connected
* Add logs and a unit test
* Action event for configureStorageAccess API
* fetch eligible hosts while finding the endpoint for command executions
* Update storage access groups on host after Disconnected and Downstate
* Check for common accessible host for migrations
* update changes, to not remove/disconnect MDMs on maintenance
* Add volumes information in logging for better understanding
* Fix UI double notification
---------
Co-authored-by: Suresh Kumar Anaparti <suresh.anaparti@shapeblue.com>
Co-authored-by: Suresh Kumar Anaparti <sureshkumar.anaparti@gmail.com>1 parent 0473348 commit d9bef05
129 files changed
Lines changed: 4964 additions & 425 deletions
File tree
- api/src/main/java
- com/cloud
- configuration
- dc
- event
- host
- org
- resource
- storage
- org/apache/cloudstack/api
- command/admin
- cluster
- host
- pod
- storage
- zone
- response
- core/src
- main/java/com/cloud/agent/api
- test/java/org/apache/cloudstack/api/agent/test
- engine
- api/src/main/java/org/apache/cloudstack/engine/subsystem/api/storage
- components-api/src/main/java/com/cloud
- configuration
- resource
- storage
- orchestration/src/main/java/org/apache/cloudstack/engine/datacenter/entity/api/db
- schema/src/main
- java
- com/cloud
- dc
- host
- dao
- storage
- dao
- org/apache/cloudstack/storage/datastore/db
- resources/META-INF
- cloudstack/core
- db
- storage
- datamotion/src/main/java/org/apache/cloudstack/storage/motion
- snapshot/src/main/java/org/apache/cloudstack/storage/vmsnapshot
- src/main/java/org/apache/cloudstack/storage
- allocator
- volume/datastore
- plugins
- hypervisors/kvm/src
- main/java/com/cloud/hypervisor/kvm
- resource/wrapper
- storage
- test/java/com/cloud/hypervisor/kvm
- resource/wrapper
- storage
- network-elements/juniper-contrail/src/test/java/org/apache/cloudstack/network/contrail/management
- storage-allocators/random/src/main/java/org/apache/cloudstack/storage/allocator
- storage/volume
- cloudbyte/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- datera/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- default/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- linstor/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- nexenta/src/main/java/org/apache/cloudstack/storage/datastore/lifecylce
- scaleio/src
- main/java/org/apache/cloudstack/storage/datastore
- api
- client
- driver
- lifecycle
- manager
- provider
- util
- test/java/org/apache/cloudstack/storage/datastore/lifecycle
- solidfire/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- storpool/src/main/java/org/apache/cloudstack/storage/datastore/lifecycle
- server/src
- main/java/com/cloud
- api
- query
- dao
- vo
- configuration
- deploy
- resource
- server
- storage
- listener
- vm
- test
- java
- com/cloud
- configuration
- resource
- storage
- listener
- vm
- vpc
- org/apache/cloudstack/networkoffering
- resources
- tools/apidoc
- ui
- public/locales
- src
- config/section
- infra
- views
- infra
- utils/src/main/java/com/cloud/utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 9 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
204 | 198 | | |
205 | 199 | | |
206 | 200 | | |
207 | 201 | | |
208 | | - | |
| 202 | + | |
209 | 203 | | |
210 | 204 | | |
211 | 205 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
46 | 48 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
| 433 | + | |
| 434 | + | |
433 | 435 | | |
434 | 436 | | |
435 | 437 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
| 213 | + | |
212 | 214 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
| 42 | + | |
41 | 43 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
98 | 105 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
| 89 | + | |
| 90 | + | |
88 | 91 | | |
89 | 92 | | |
90 | 93 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
434 | 434 | | |
435 | 435 | | |
436 | 436 | | |
| 437 | + | |
437 | 438 | | |
438 | 439 | | |
439 | 440 | | |
| |||
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
117 | 123 | | |
118 | 124 | | |
119 | 125 | | |
| |||
188 | 194 | | |
189 | 195 | | |
190 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
191 | 201 | | |
192 | 202 | | |
193 | 203 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
121 | | - | |
| 121 | + | |
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
| |||
0 commit comments