dhslove opened a new issue, #6455:
URL: https://github.com/apache/cloudstack/issues/6455
After adding support for StorPool in CloudStack version 4.17, Default
Primary Storage of SharedMountPoint Type is no longer created.
This is an issue caused by the StoragePoolType of the StorPoolStorageAdaptor.
Currently, the Pool Type of StorPoolStorageAdaptor is set to
SharedMountPoint.
See the following code.
StorPoolStorageAdaptor :
~~~
@StorageAdaptorInfo(storagePoolType=StoragePoolType.SharedMountPoint)
public class StorPoolStorageAdaptor implements StorageAdaptor {
public static void SP_LOG(String fmt, Object... args) {
......
~~~
For this reason, even if it is a Default SharedMountPoint type of storage
other than StorPool, LibevirtStorageAdaptor is not selected by the following
code, but StorPoolStorageAdaptor is selected and an error occurs.
KVMStoragePoolManager :
~~~
private StorageAdaptor getStorageAdaptor(StoragePoolType type) {
// type can be null: LibVirtComputingResource:3238
if (type == null) {
return _storageMapper.get("libvirt");
}
StorageAdaptor adaptor = _storageMapper.get(type.toString());
if (adaptor == null) {
// LibvirtStorageAdaptor is selected by default
adaptor = _storageMapper.get("libvirt");
}
return adaptor;
}
~~~
In my opinion, it is better to create a separate Pool Type for
StorPoolStorageAdaptor like the LINSTOR Plugin.
##### ISSUE TYPE
<!-- Pick one below and delete the rest -->
* Bug Report
##### COMPONENT NAME
<!--
Categorize the issue, e.g. API, VR, VPN, UI, etc.
-->
~~~
UI, API, Plugin
~~~
##### CLOUDSTACK VERSION
<!--
New line separated list of affected versions, commit ID for issues on main
branch.
-->
~~~
4.17.0
~~~
##### CONFIGURATION
<!--
Information about the configuration if relevant, e.g. basic network,
advanced networking, etc. N/A otherwise
-->
3 Hosts, GFS2 Clustered File System, Shared Mount Point : /mnt/gfs2
##### OS / ENVIRONMENT
<!--
Information about the environment if relevant, N/A otherwise
-->
CentOS 8.5, CloudStack 4.17.0
##### SUMMARY
<!-- Explain the problem/feature briefly -->
##### STEPS TO REPRODUCE
<!--
For bugs, show exactly how to reproduce the problem, using a minimal
test-case. Use Screenshots if accurate.
For new features, show how the feature would be used.
-->
<!-- Paste example playbooks or commands between quotes below -->
~~~
1. AddPrimaryStorage
2. Select SharedMountPoint Protocol
3. Input Mount Directory
4. Select DefaultPrimary Provider
5. Submit
~~~
<!-- You can also paste gist.github.com links for larger files -->
##### EXPECTED RESULTS
<!-- What did you expect to happen when running the steps above? -->
Create Shared Mount Point Primary Storage
##### ACTUAL RESULTS
<!-- What actually happened? -->
SharedMountPoint Primary Storage is recorded in DB, but the pool is not
actually created because an appropriate StorageAdaptor is not selected.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]