diff --git a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html
index 5da25e4f0..dd07b3349 100644
--- a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html
+++ b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.html
@@ -15,6 +15,9 @@
ng-disabled="$ctrl.state.selectedItemCount === 0" ng-click="$ctrl.addAction($ctrl.state.selectedItems)">
Add to storage pool
+
diff --git a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js
index 63e4e5994..170e724f8 100644
--- a/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js
+++ b/app/extensions/storidge/components/drives-datatable/storidgeDrivesDatatable.js
@@ -9,6 +9,7 @@ angular.module('extension.storidge').component('storidgeDrivesDatatable', {
orderBy: '@',
reverseOrder: '<',
removeAction: '<',
- addAction: '<'
+ addAction: '<',
+ rescanAction: '<'
}
});
diff --git a/app/extensions/storidge/rest/storidge.js b/app/extensions/storidge/rest/storidge.js
index 7f090cec4..bb6a36333 100644
--- a/app/extensions/storidge/rest/storidge.js
+++ b/app/extensions/storidge/rest/storidge.js
@@ -28,6 +28,7 @@ angular.module('extension.storidge')
getDrive: { method: 'GET', params: { resource: 'drives', id: '@id' } },
addDrive: { method: 'POST', params: { resource: 'drives' } },
removeDrive: { method: 'DELETE', params: { resource: 'drives', id: '@id' } },
+ rescanDrives: { method: 'POST', params: { resource: 'drives', action: 'rescan' } },
queryVolumes: { method: 'GET', params: { resource: 'volumes' } },
createVolume: { method: 'POST', params: { resource: 'volumes' } },
diff --git a/app/extensions/storidge/services/driveService.js b/app/extensions/storidge/services/driveService.js
index d10638c9c..0479a5e57 100644
--- a/app/extensions/storidge/services/driveService.js
+++ b/app/extensions/storidge/services/driveService.js
@@ -69,5 +69,9 @@ angular.module('extension.storidge')
return deferred.promise;
};
+ service.rescan = function () {
+ return Storidge.rescanDrives().$promise;
+ };
+
return service;
}]);
diff --git a/app/extensions/storidge/views/drives/drives.html b/app/extensions/storidge/views/drives/drives.html
index 8a35e8164..bdf07bc6b 100644
--- a/app/extensions/storidge/views/drives/drives.html
+++ b/app/extensions/storidge/views/drives/drives.html
@@ -17,6 +17,7 @@
order-by="Id"
remove-action="removeAction"
add-action="addAction"
+ rescan-action="rescanAction"
>
diff --git a/app/extensions/storidge/views/drives/drivesController.js b/app/extensions/storidge/views/drives/drivesController.js
index ec71d0d0d..443fd9ec8 100644
--- a/app/extensions/storidge/views/drives/drivesController.js
+++ b/app/extensions/storidge/views/drives/drivesController.js
@@ -59,6 +59,16 @@ function ($q, $scope, $state, Notifications, ModalService, StoridgeDriveService)
});
};
+ $scope.rescanAction = function () {
+ StoridgeDriveService.rescan()
+ .then(function sucess() {
+ $state.reload();
+ })
+ .catch(function error() {
+ Notifications.error('Failure', err, 'Unable to scan drives');
+ });
+ };
+
function initView() {
StoridgeDriveService.drives()
.then(function success(data) {