image = disk['image']
backstore = disk['backstore']
required_rbd_features = settings['required_rbd_features'][backstore]
- supported_rbd_features = settings['supported_rbd_features'][backstore]
+ unsupported_rbd_features = settings['unsupported_rbd_features'][backstore]
IscsiTarget._validate_image(pool, image, backstore, required_rbd_features,
- supported_rbd_features)
+ unsupported_rbd_features)
@staticmethod
- def _validate_image(pool, image, backstore, required_rbd_features, supported_rbd_features):
+ def _validate_image(pool, image, backstore, required_rbd_features, unsupported_rbd_features):
try:
ioctx = mgr.rados.open_ioctx(pool)
try:
required_rbd_features)),
code='image_missing_required_features',
component='iscsi')
- if img.features() & supported_rbd_features != img.features():
+ if img.features() & unsupported_rbd_features != 0:
raise DashboardException(msg='Image {} cannot be exported using {} '
'backstore because it contains unsupported '
- 'features (supported features are '
+ 'features ('
'{})'.format(image,
backstore,
format_bitmask(
- supported_rbd_features)),
+ unsupported_rbd_features)),
code='image_contains_unsupported_features',
component='iscsi')
disk_default_controls: any;
backstores: string[];
default_backstore: string;
- supported_rbd_features: any;
+ unsupported_rbd_features: any;
required_rbd_features: any;
isEdit = false;
this.disk_default_controls = data[3].disk_default_controls;
this.backstores = data[3].backstores;
this.default_backstore = data[3].default_backstore;
- this.supported_rbd_features = data[3].supported_rbd_features;
+ this.unsupported_rbd_features = data[3].unsupported_rbd_features;
this.required_rbd_features = data[3].required_rbd_features;
// rbdService.list()
validFeatures(image, backstore) {
const imageFeatures = image.features;
const requiredFeatures = this.required_rbd_features[backstore];
- const supportedFeatures = this.supported_rbd_features[backstore];
+ const unsupportedFeatures = this.unsupported_rbd_features[backstore];
// tslint:disable-next-line:no-bitwise
const validRequiredFeatures = (imageFeatures & requiredFeatures) === requiredFeatures;
// tslint:disable-next-line:no-bitwise
- const validSupportedFeatures = (imageFeatures & supportedFeatures) === imageFeatures;
+ const validSupportedFeatures = (imageFeatures & unsupportedFeatures) === 0;
return validRequiredFeatures && validSupportedFeatures;
}