You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Ted Smith (JIRA)" <ji...@apache.org> on 2013/03/22 01:03:15 UTC
[jira] [Commented] (CLOUDSTACK-1761) Available local storage disk
capacity incorrectly reported in KVM to manager.
[ https://issues.apache.org/jira/browse/CLOUDSTACK-1761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609720#comment-13609720 ]
Ted Smith commented on CLOUDSTACK-1761:
---------------------------------------
Submitted patch to review board at https://reviews.apache.org/r/10069/. Also attached patch to this bug report.
> Available local storage disk capacity incorrectly reported in KVM to manager.
> -----------------------------------------------------------------------------
>
> Key: CLOUDSTACK-1761
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1761
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Components: KVM
> Affects Versions: 4.0.0, 4.0.1, 4.1.0, 4.2.0
> Environment: Ubuntu 12.04, 4.0.0/4.0.1 agent, 4.0.0 manager.
> Reporter: Ted Smith
> Priority: Critical
> Labels: bug
> Attachments: CLOUDSTACK-1761.patch
>
>
> Currently the client is reporting the amount of disk space that has been used when first connecting to the manager instead of the amount of bytes available.
> Output of availableBytes from management-server.log:
> "capacityBytes":4956273893376,"availableBytes":318101676032
> Output of df from physical host with local storage enabled:
> /dev/mapper/somehostname003-root 4840111224 310646138 4285003000 7% /
> I'm fairly certain it is related to the two code snippets below. One of them is passing getUsed and the other is expecting availableBytes.
> From plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
> try {
> KVMStoragePool localStoragePool = _storagePoolMgr
> .createStoragePool(_localStorageUUID, "localhost", -1,
> _localStoragePath, "", StoragePoolType.Filesystem);
> com.cloud.agent.api.StoragePoolInfo pi = new com.cloud.agent.api.StoragePoolInfo(
> localStoragePool.getUuid(), cmd.getPrivateIpAddress(),
> _localStoragePath, _localStoragePath,
> StoragePoolType.Filesystem, localStoragePool.getCapacity(),
> localStoragePool.getUsed());
> sscmd = new StartupStorageCommand();
> sscmd.setPoolInfo(pi);
> sscmd.setGuid(pi.getUuid());
> sscmd.setDataCenter(_dcId);
> sscmd.setResourceType(Storage.StorageResourceType.STORAGE_POOL);
> }
> ---------------------------------------------------------------------------------------------------------------------------------
> From api/src/com/cloud/agent/api/StoragePoolInfo.java
> public StoragePoolInfo(String uuid, String host, String hostPath,
> String localPath, StoragePoolType poolType, long capacityBytes,
> long availableBytes) {
> super();
> this.uuid = uuid;
> this.host = host;
> this.localPath = localPath;
> this.hostPath = hostPath;
> this.poolType = poolType;
> this.capacityBytes = capacityBytes;
> this.availableBytes = availableBytes;
> }
> public StoragePoolInfo(String uuid, String host, String hostPath,
> String localPath, StoragePoolType poolType, long capacityBytes,
> long availableBytes, Map<String, String> details) {
> this(uuid, host, hostPath, localPath, poolType, capacityBytes, availableBytes);
> this.details = details;
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira