[
https://issues.apache.org/jira/browse/CLOUDSTACK-8601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14661300#comment-14661300
]
ASF GitHub Bot commented on CLOUDSTACK-8601:
--------------------------------------------
Github user mike-tutkowski commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/547#discussion_r36490618
--- Diff:
engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java
---
@@ -71,6 +74,17 @@ public boolean hostConnect(long hostId, long poolId) {
assert (answer instanceof ModifyStoragePoolAnswer) : "Well, now
why won't you actually return the ModifyStoragePoolAnswer when it's
ModifyStoragePoolCommand? Pool=" +
pool.getId() + "Host=" + hostId;
ModifyStoragePoolAnswer mspAnswer =
(ModifyStoragePoolAnswer)answer;
+ if (mspAnswer.getLocalDatastoreName() != null && pool.isShared()) {
+ String datastoreName = mspAnswer.getLocalDatastoreName();
+ List<StoragePoolVO> localStoragePools =
this.primaryStoreDao.listLocalStoragePoolByPath(pool.getDataCenterId(),
datastoreName);
+ for (StoragePoolVO localStoragePool : localStoragePools) {
+ if (datastoreName.equals(localStoragePool.getPath())) {
+ s_logger.warn("Storage pool: " + pool.getId() + " has
already been added as local storage: " + localStoragePool.getName());
+ throw new StorageConflictException("Cannot add shared
storage pool: " + pool.getId() + " because it has already been added as local
storage:"
--- End diff --
Might want to put a space after the colon for readability.
> VMFS storage added as local storage can be re added as shared storage.
> ----------------------------------------------------------------------
>
> Key: CLOUDSTACK-8601
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8601
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Reporter: Likitha Shetty
> Assignee: Likitha Shetty
> Fix For: 4.6.0
>
>
> During host discovery, if local storage is enabled for a zone, all VMFS
> datastores that are mounted on just one host (i.e. not shared) will be added
> as local storage is CloudStack.
> When admin adds a VMFS datastore as shared, CS doesn't verify if the storage
> has already been added as local storage in the zone. This means the same
> primary storage is added as different storages in CS and this leads to
> failure in operations related to disks because of wrong storage look ups.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)