On 01/03/2013 09:04, Deepak C Shetty wrote:
Hi All,
    I am seeing an error while testing the WIP engine patches  for
supporting GLUSTERFS_DOMAIN @

http://gerrit.ovirt.org/#/q/project:ovirt-engine+branch:master+topic:glusterfs,n,z

(Copyign Sharad, who is the author for the patch series)
Note my VDSM host has VDSM running which  has support for
GLUSTERFS_DOMAIN (its already upstream in VDSM)

I get the below error in GUI while trying to create a new Storage Domain
of type Data/GlusterFS
*Error: Cannot add Storage. Storage format V3 is not supported on the
selected host version." *

I cannot change storgae format in the GUI, its fixed at V3
DC is of type GlusterFS and so is cluster, compat version is 3.3

I have few questions ...

1) How are compat version and storage format related ?

storage formats are supported for specific compat version.


2) What does 'host version' in the above error msg mean. It doesn't tell
clearly why/what the incompatibility is about

host version is probably the supported cluster levels it has.


3) What needs to be done in the engine to make this work ?

it seems while 3.3 cluster version was added, not all config keys are available for it yet (yair/eli?)
for example:
backend/manager/dbscripts/upgrade/pre_upgrade/0000_config.sql:select fn_db_add_config_value('SupportedStorageFormats','0,2,3','3.2');

is missing for 3.3 cluster level.

Also, specifcially, need to review the logic of this method when adding a new type of storage domain. NFS is V0/V1 for backward compatibility and V3. but GlusterFS should probably only be V3:


in AddStorageDomainCommand:

     private boolean isStorageFormatCompatibleWithDomain() {
StorageFormatType storageFormat = getStorageDomain().getStorageFormat();
         StorageType storageType = getStorageDomain().getStorageType();
StorageDomainType storageDomainFunction = getStorageDomain().getStorageDomainType();

boolean isBlockStorage = storageType == StorageType.ISCSI || storageType == StorageType.FCP; boolean isDataStorageDomain = storageDomainFunction == StorageDomainType.Data;

         // V2 is applicable only for block data storage domains
if (storageFormat == StorageFormatType.V2 && (!isBlockStorage || !isDataStorageDomain)) {
             return false;
         }

         // V3 is applicable only for data storage domains
if (storageFormat == StorageFormatType.V3 && !isDataStorageDomain) {
             return false;
         }

         return true;
     }
_______________________________________________
Engine-devel mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-devel

Reply via email to