diff --git a/catalogue/2.0/mysql_catalogue_schema.sql b/catalogue/2.0/mysql_catalogue_schema.sql
index 22ef109672c3be27296c335081f4750552e38967..a62603801441dee55fd0952edf4292f08b366ff6 100644
--- a/catalogue/2.0/mysql_catalogue_schema.sql
+++ b/catalogue/2.0/mysql_catalogue_schema.sql
@@ -72,7 +72,6 @@ CREATE TABLE VIRTUAL_ORGANIZATION(
 );
 CREATE TABLE STORAGE_CLASS(
   STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,
-  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,
   STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,
   NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,
   VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  
diff --git a/catalogue/2.0/oracle_catalogue_schema.sql b/catalogue/2.0/oracle_catalogue_schema.sql
index 31dd7e8cb45206fdf26dcfc8eac6cac56d2a1baf..c89996b5a4b28d99bab2cb95b7197abdaff318b4 100644
--- a/catalogue/2.0/oracle_catalogue_schema.sql
+++ b/catalogue/2.0/oracle_catalogue_schema.sql
@@ -98,7 +98,6 @@ CREATE TABLE VIRTUAL_ORGANIZATION(
 );
 CREATE TABLE STORAGE_CLASS(
   STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,
-  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,
   STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,
   NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,
   VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  
diff --git a/catalogue/2.0/postgres_catalogue_schema.sql b/catalogue/2.0/postgres_catalogue_schema.sql
index a3b3ee747bff55e0f8f9bd22a7ede350218ef341..3a9f316e8a894d7216c7040acea952de4fd733db 100644
--- a/catalogue/2.0/postgres_catalogue_schema.sql
+++ b/catalogue/2.0/postgres_catalogue_schema.sql
@@ -82,7 +82,6 @@ CREATE TABLE VIRTUAL_ORGANIZATION(
 );
 CREATE TABLE STORAGE_CLASS(
   STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,
-  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,
   STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,
   NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,
   VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  
diff --git a/catalogue/2.0/sqlite_catalogue_schema.sql b/catalogue/2.0/sqlite_catalogue_schema.sql
index 8d1750a3cde206433e119195d8bd6a2e140207fc..9c8470c0811e6b050a112533c31675726b3dbc60 100644
--- a/catalogue/2.0/sqlite_catalogue_schema.sql
+++ b/catalogue/2.0/sqlite_catalogue_schema.sql
@@ -62,7 +62,6 @@ CREATE TABLE VIRTUAL_ORGANIZATION(
 );
 CREATE TABLE STORAGE_CLASS(
   STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,
-  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,
   STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,
   NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,
   VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  
diff --git a/catalogue/AllCatalogueSchema.hpp b/catalogue/AllCatalogueSchema.hpp
index 11e439a3bf5ef3244e91984cf5bc2850b20213bb..2d33d45161dfe7794c05da6bd87692152dcde5a1 100644
--- a/catalogue/AllCatalogueSchema.hpp
+++ b/catalogue/AllCatalogueSchema.hpp
@@ -2566,7 +2566,6 @@ namespace catalogue{
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR2(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  "
@@ -2891,7 +2890,6 @@ namespace catalogue{
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               TINYINT UNSIGNED       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID BIGINT UNSIGNED      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  "
@@ -3205,7 +3203,6 @@ namespace catalogue{
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        INTEGER      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               INTEGER       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID INTEGER      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  "
@@ -3537,7 +3534,6 @@ namespace catalogue{
   ");"
   "CREATE TABLE STORAGE_CLASS("
   "  STORAGE_CLASS_ID        NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,"
-  "  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,"
   "  STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,"
   "  NB_COPIES               NUMERIC(3, 0)       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,"
   "  VIRTUAL_ORGANIZATION_ID NUMERIC(20, 0)      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  "
diff --git a/catalogue/CatalogueTest.cpp b/catalogue/CatalogueTest.cpp
index 46cd3db34bc7617636ed801bd5b9f91f54fdd1b1..8ee7ad66fc3b9fa3fcbf0e9272b21101878ee4cd 100644
--- a/catalogue/CatalogueTest.cpp
+++ b/catalogue/CatalogueTest.cpp
@@ -545,7 +545,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -558,7 +558,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass) {
 
   ASSERT_EQ(1, storageClasses.size());
 
-  ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+  
   ASSERT_EQ(storageClass.name, storageClasses.front().name);
   ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
   ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -576,7 +576,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass_same_twice) {
   using namespace cta;
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -586,29 +586,13 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass_same_twice) {
   ASSERT_THROW(m_catalogue->createStorageClass(m_admin, storageClass), exception::UserError);
 }
 
-TEST_P(cta_catalogue_CatalogueTest, createStorageClass_emptyStringDiskInstanceName) {
-  using namespace cta;
-
-  ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
-
-  common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "";
-  storageClass.name = "storage_class";
-  storageClass.nbCopies = 2;
-  storageClass.comment = "Create storage class";
-  storageClass.vo.name = "vo";
-  createVo(storageClass.vo.name);
-  ASSERT_THROW(m_catalogue->createStorageClass(m_admin, storageClass),
-    catalogue::UserSpecifiedAnEmptyStringDiskInstanceName);
-}
-
 TEST_P(cta_catalogue_CatalogueTest, createStorageClass_emptyStringStorageClassName) {
   using namespace cta;
 
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -624,7 +608,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass_emptyStringComment) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "";
@@ -640,7 +624,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass_emptyStringVo) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "comment";
@@ -655,7 +639,7 @@ TEST_P(cta_catalogue_CatalogueTest, createStorageClass_nonExistingVo) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "comment";
@@ -670,7 +654,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteStorageClass) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -683,7 +667,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteStorageClass) {
 
   ASSERT_EQ(1, storageClasses.size());
 
-  ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+  
   ASSERT_EQ(storageClass.name, storageClasses.front().name);
   ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
   ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -713,7 +697,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassNbCopies) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -726,7 +710,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassNbCopies) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(storageClass.name, storageClasses.front().name);
     ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -747,7 +731,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassNbCopies) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(storageClass.name, storageClasses.front().name);
     ASSERT_EQ(modifiedNbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -776,7 +760,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassComment) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -789,7 +773,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassComment) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(storageClass.name, storageClasses.front().name);
     ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -810,7 +794,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassComment) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(storageClass.name, storageClasses.front().name);
     ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(modifiedComment, storageClasses.front().comment);
@@ -839,7 +823,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassName) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -852,7 +836,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassName) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(storageClass.name, storageClasses.front().name);
     ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -873,7 +857,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassName) {
 
     ASSERT_EQ(1, storageClasses.size());
 
-    ASSERT_EQ(storageClass.diskInstance, storageClasses.front().diskInstance);
+    
     ASSERT_EQ(newStorageClassName, storageClasses.front().name);
     ASSERT_EQ(storageClass.nbCopies, storageClasses.front().nbCopies);
     ASSERT_EQ(storageClass.comment, storageClasses.front().comment);
@@ -902,7 +886,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassName_newNameAlreadyExists)
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -911,7 +895,6 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassName_newNameAlreadyExists)
   m_catalogue->createStorageClass(m_admin,storageClass);
   
   common::dataStructures::StorageClass storageClass2;
-  storageClass2.diskInstance = "disk_instance";
   storageClass2.name = "storage_class2";
   storageClass2.nbCopies = 2;
   storageClass2.vo.name = storageClass.vo.name;
@@ -929,7 +912,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassVo) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -952,7 +935,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassEmptyStringVo) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -969,7 +952,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyStorageClassVoDoesNotExist) {
   ASSERT_TRUE(m_catalogue->getStorageClasses().empty());
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -1906,7 +1889,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2093,7 +2076,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_emptyStringStorageClassNa
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2124,7 +2107,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_zeroCopyNb) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2154,7 +2137,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_emptyStringTapePoolName)
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2179,7 +2162,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_emptyStringComment) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2233,7 +2216,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_non_existent_tape_pool) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2260,7 +2243,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_same_twice) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2291,7 +2274,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_two_routes_same_pool) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2325,7 +2308,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveRoute) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2381,7 +2364,7 @@ TEST_P(cta_catalogue_CatalogueTest, createArchiveRoute_deleteStorageClass) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2434,7 +2417,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyArchiveRouteTapePoolName) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2505,7 +2488,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyArchiveRouteTapePoolName_nonExistentAr
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2534,7 +2517,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyArchiveRouteComment) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2603,7 +2586,7 @@ TEST_P(cta_catalogue_CatalogueTest, modifyArchiveRouteComment_nonExistentArchive
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -3982,8 +3965,10 @@ TEST_P(cta_catalogue_CatalogueTest, createTape_1_tape_with_write_log_1_tape_with
   const std::string vo = "vo";
   createVo(vo);
   
+  std::string diskInstance = "disk_instance";
+  
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -4077,7 +4062,7 @@ TEST_P(cta_catalogue_CatalogueTest, createTape_1_tape_with_write_log_1_tape_with
     std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
     file1WrittenSet.insert(file1WrittenUP.release());
     file1Written.archiveFileId        = 1234;
-    file1Written.diskInstance         = storageClass.diskInstance;
+    file1Written.diskInstance         = diskInstance;
     file1Written.diskFileId           = "5678";
     file1Written.diskFilePath         = "/public_dir/public_file";
     file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -4238,7 +4223,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteNonEmptyTape) {
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -4261,6 +4246,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteNonEmptyTape) {
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   m_catalogue->createTapePool(m_admin, tapePoolName, vo, nbPartialTapes, isEncrypted, supply, "Create tape pool");
@@ -4306,7 +4292,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteNonEmptyTape) {
     std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
     file1WrittenSet.insert(file1WrittenUP.release());
     file1Written.archiveFileId        = 1234;
-    file1Written.diskInstance         = storageClass.diskInstance;
+    file1Written.diskInstance         = diskInstance;
     file1Written.diskFileId           = "5678";
     file1Written.diskFilePath         = "/public_dir/public_file";
     file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -7620,8 +7606,10 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_no_archive_rout
   const std::string vo = "vo";
   createVo(vo);
   
+  const std::string diskInstance = "disk_instance";
+  
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -7632,7 +7620,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_no_archive_rout
   requesterIdentity.name = requesterName;
   requesterIdentity.group = "group";
 
-  ASSERT_THROW(m_catalogue->checkAndGetNextArchiveFileId(storageClass.diskInstance, storageClass.name, requesterIdentity),
+  ASSERT_THROW(m_catalogue->checkAndGetNextArchiveFileId(diskInstance, storageClass.name, requesterIdentity),
     exception::UserError);
 }
 
@@ -7643,13 +7631,13 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_no_mount_rules)
 
   ASSERT_TRUE(m_catalogue->getArchiveRoutes().empty());
 
-  const std::string diskInstanceName = "disk_instance_name";
+  const std::string diskInstance = "disk_instance";
 
   const std::string vo = "vo";
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -7689,7 +7677,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_no_mount_rules)
   requesterIdentity.name = requesterName;
   requesterIdentity.group = "group";
 
-  ASSERT_THROW(m_catalogue->checkAndGetNextArchiveFileId(storageClass.diskInstance, storageClass.name, requesterIdentity),
+  ASSERT_THROW(m_catalogue->checkAndGetNextArchiveFileId(diskInstance, storageClass.name, requesterIdentity),
     exception::UserError);
 }
 
@@ -7739,7 +7727,6 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_mount
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -7781,7 +7768,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_mount
   std::set<uint64_t> archiveFileIds;
   for(uint64_t i = 0; i<10; i++) {
     const uint64_t archiveFileId =
-      m_catalogue->checkAndGetNextArchiveFileId(storageClass.diskInstance, storageClass.name, requesterIdentity);
+      m_catalogue->checkAndGetNextArchiveFileId(diskInstanceName, storageClass.name, requesterIdentity);
 
     const bool archiveFileIdIsNew = archiveFileIds.end() == archiveFileIds.find(archiveFileId);
     ASSERT_TRUE(archiveFileIdIsNew);
@@ -7833,7 +7820,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_group
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -7875,7 +7862,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_group
   std::set<uint64_t> archiveFileIds;
   for(uint64_t i = 0; i<10; i++) {
     const uint64_t archiveFileId =
-      m_catalogue->checkAndGetNextArchiveFileId(storageClass.diskInstance, storageClass.name, requesterIdentity);
+      m_catalogue->checkAndGetNextArchiveFileId(diskInstanceName, storageClass.name, requesterIdentity);
 
     const bool archiveFileIdIsNew = archiveFileIds.end() == archiveFileIds.find(archiveFileId);
     ASSERT_TRUE(archiveFileIdIsNew);
@@ -7946,7 +7933,6 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_mount
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -7988,7 +7974,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkAndGetNextArchiveFileId_requester_mount
   std::set<uint64_t> archiveFileIds;
   for(uint64_t i = 0; i<10; i++) {
     const uint64_t archiveFileId =
-      m_catalogue->checkAndGetNextArchiveFileId(storageClass.diskInstance, storageClass.name, requesterIdentity);
+      m_catalogue->checkAndGetNextArchiveFileId(diskInstanceName, storageClass.name, requesterIdentity);
 
     const bool archiveFileIdIsNew = archiveFileIds.end() == archiveFileIds.find(archiveFileId);
     ASSERT_TRUE(archiveFileIdIsNew);
@@ -8042,7 +8028,6 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_no_archive_route
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8053,7 +8038,7 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_no_archive_route
   requesterIdentity.name = requesterName;
   requesterIdentity.group = "group";
 
-  ASSERT_THROW(m_catalogue->getArchiveFileQueueCriteria(storageClass.diskInstance, storageClass.name, requesterIdentity),
+  ASSERT_THROW(m_catalogue->getArchiveFileQueueCriteria(diskInstanceName, storageClass.name, requesterIdentity),
     exception::UserError);
 }
 
@@ -8103,7 +8088,6 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_mount_
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8141,7 +8125,7 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_mount_
   common::dataStructures::RequesterIdentity requesterIdentity;
   requesterIdentity.name = requesterName;
   requesterIdentity.group = "group";
-  m_catalogue->getArchiveFileQueueCriteria(storageClass.diskInstance, storageClass.name, requesterIdentity);
+  m_catalogue->getArchiveFileQueueCriteria(diskInstanceName, storageClass.name, requesterIdentity);
 }
 
 TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_group_mount_rule) {
@@ -8189,7 +8173,7 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_group_
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8227,7 +8211,7 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_group_
   common::dataStructures::RequesterIdentity requesterIdentity;
   requesterIdentity.name = "username";
   requesterIdentity.group = requesterGroupName;
-  m_catalogue->getArchiveFileQueueCriteria(storageClass.diskInstance, storageClass.name, requesterIdentity);
+  m_catalogue->getArchiveFileQueueCriteria(diskInstanceName, storageClass.name, requesterIdentity);
 }
 
 TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_mount_rule_overide) {
@@ -8294,7 +8278,6 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_mount_
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8332,7 +8315,7 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFileQueueCriteria_requester_mount_
   common::dataStructures::RequesterIdentity requesterIdentity;
   requesterIdentity.name = requesterName;
   requesterIdentity.group = "group";
-  m_catalogue->getArchiveFileQueueCriteria(storageClass.diskInstance, storageClass.name, requesterIdentity);
+  m_catalogue->getArchiveFileQueueCriteria(diskInstanceName, storageClass.name, requesterIdentity);
 }
 
 TEST_P(cta_catalogue_CatalogueTest, prepareToRetrieveFileUsingArchiveFileId) {
@@ -8432,7 +8415,6 @@ TEST_P(cta_catalogue_CatalogueTest, prepareToRetrieveFileUsingArchiveFileId) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8446,7 +8428,7 @@ TEST_P(cta_catalogue_CatalogueTest, prepareToRetrieveFileUsingArchiveFileId) {
   auto & file1Written = *file1WrittenUP;
     std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;    file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -8686,7 +8668,6 @@ TEST_P(cta_catalogue_CatalogueTest, prepareToRetrieveFileUsingArchiveFileId_disa
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -8701,7 +8682,7 @@ TEST_P(cta_catalogue_CatalogueTest, prepareToRetrieveFileUsingArchiveFileId_disa
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -8997,7 +8978,6 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFiles_existent_storage_class_witho
   createVo(vo);
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -9011,7 +8991,6 @@ TEST_P(cta_catalogue_CatalogueTest, getArchiveFiles_existent_storage_class_witho
   {
     const auto s = storageClasses.front();
 
-    ASSERT_EQ(storageClass.diskInstance, s.diskInstance);
     ASSERT_EQ(storageClass.name, s.name);
     ASSERT_EQ(storageClass.nbCopies, s.nbCopies);
     ASSERT_EQ(storageClass.comment, s.comment);
@@ -9086,6 +9065,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
 
@@ -9226,7 +9206,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
   }
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -9250,7 +9230,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
     auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
     auto & fileWritten = *fileWrittenUP;
     fileWritten.archiveFileId = i;
-    fileWritten.diskInstance = storageClass.diskInstance;
+    fileWritten.diskInstance = diskInstance;
     fileWritten.diskFileId = diskFileId.str();
     fileWritten.diskFilePath = diskFilePath.str();
     fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9311,7 +9291,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
     auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
     auto & fileWritten = *fileWrittenUP;
     fileWritten.archiveFileId = i;
-    fileWritten.diskInstance = storageClass.diskInstance;
+    fileWritten.diskInstance = diskInstance;
     fileWritten.diskFileId = diskFileId.str();
     fileWritten.diskFilePath = diskFilePath.str();
     fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9364,7 +9344,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
     searchCriteria.archiveFileId = 1;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileId = std::to_string(12345678);
     searchCriteria.diskFilePath = "/public_dir/public_file_1";
     searchCriteria.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9405,7 +9385,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
       catalogue::TapeFileWritten fileWritten1;
       fileWritten1.archiveFileId = i;
-      fileWritten1.diskInstance = storageClass.diskInstance;
+      fileWritten1.diskInstance = diskInstance;
       fileWritten1.diskFileId = diskFileId.str();
       fileWritten1.diskFilePath = diskFilePath.str();
       fileWritten1.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9474,7 +9454,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
       catalogue::TapeFileWritten fileWritten1;
       fileWritten1.archiveFileId = i;
-      fileWritten1.diskInstance = storageClass.diskInstance;
+      fileWritten1.diskInstance = diskInstance;
       fileWritten1.diskFileId = diskFileId.str();
       fileWritten1.diskFilePath = diskFilePath.str();
       fileWritten1.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -9545,7 +9525,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9603,7 +9583,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9661,7 +9641,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9719,7 +9699,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
     ASSERT_EQ(nbArchiveFiles, m.size());
@@ -9731,7 +9711,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileId = "12345687";
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -9745,7 +9725,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFilePath = "/public_dir/public_file_10";
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -9759,7 +9739,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileOwnerUid     = PUBLIC_DISK_USER;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -9772,7 +9752,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileGid = PUBLIC_DISK_GROUP;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -9785,7 +9765,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_many_archive_files) {
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.storageClass = storageClass.name;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -9926,9 +9906,10 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
         const checksum::ChecksumBlob &checksumBlob,
         const std::string &vid,
         const uint64_t &copyNb,
-        const std::string &tapeDrive) :
+        const std::string &tapeDrive,
+        const std::string &diskInstance) :
           m_cat(cat), m_barrier(barrier), m_nbArchiveFiles(nbArchiveFiles), m_batchSize(batchSize), m_storageClass(storageClass), m_archiveFileSize(archiveFileSize),
-          m_checksumBlob(checksumBlob), m_vid(vid), m_copyNb(copyNb), m_tapeDrive(tapeDrive) { }
+          m_checksumBlob(checksumBlob), m_vid(vid), m_copyNb(copyNb), m_tapeDrive(tapeDrive),m_diskInstance(diskInstance) { }
 
     void run() override {
       for(uint64_t batch=0;batch< 1 + (m_nbArchiveFiles-1)/m_batchSize;++batch) {
@@ -9950,7 +9931,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
           auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
           auto & fileWritten = *fileWrittenUP;
           fileWritten.archiveFileId = fn_afid;
-          fileWritten.diskInstance = m_storageClass.diskInstance;
+          fileWritten.diskInstance = m_diskInstance;
           fileWritten.diskFileId = diskFileId.str();
           fileWritten.diskFilePath = diskFilePath.str();
           fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -9990,6 +9971,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
     const std::string m_vid;
     const uint64_t m_copyNb;
     const std::string m_tapeDrive;
+    const std::string m_diskInstance;
   };
 
   class filesWrittenRunner {
@@ -10029,6 +10011,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
 
@@ -10167,7 +10150,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
   }
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -10188,8 +10171,8 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     Barrier barrier(2);
-    filesWrittenThread a(m_catalogue.get(), barrier, nbArchiveFiles, batchsize, storageClass, archiveFileSize, checksumBlob, vid1, 1, tapeDrive1);
-    filesWrittenThread b(catalogue2.get(), barrier, nbArchiveFiles, batchsize, storageClass, archiveFileSize, checksumBlob, vid2, 2, tapeDrive2);
+    filesWrittenThread a(m_catalogue.get(), barrier, nbArchiveFiles, batchsize, storageClass, archiveFileSize, checksumBlob, vid1, 1, tapeDrive1,diskInstance);
+    filesWrittenThread b(catalogue2.get(), barrier, nbArchiveFiles, batchsize, storageClass, archiveFileSize, checksumBlob, vid2, 2, tapeDrive2,diskInstance);
 
     filesWrittenRunner r1(a);
     filesWrittenRunner r2(b);
@@ -10268,7 +10251,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
     searchCriteria.archiveFileId = 1;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileId = std::to_string(12345678);
     searchCriteria.diskFilePath = "/public_dir/public_file_1";
     searchCriteria.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10323,7 +10306,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
       catalogue::TapeFileWritten fileWritten1;
       fileWritten1.archiveFileId = i;
-      fileWritten1.diskInstance = storageClass.diskInstance;
+      fileWritten1.diskInstance = diskInstance;
       fileWritten1.diskFileId = diskFileId.str();
       fileWritten1.diskFilePath = diskFilePath.str();
       fileWritten1.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10396,7 +10379,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
       catalogue::TapeFileWritten fileWritten1;
       fileWritten1.archiveFileId = i;
-      fileWritten1.diskInstance = storageClass.diskInstance;
+      fileWritten1.diskInstance = diskInstance;
       fileWritten1.diskFileId = diskFileId.str();
       fileWritten1.diskFilePath = diskFilePath.str();
       fileWritten1.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10472,7 +10455,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10533,7 +10516,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10594,7 +10577,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
       catalogue::TapeFileWritten fileWritten;
       fileWritten.archiveFileId = i;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_DISK_USER;
@@ -10652,7 +10635,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
     ASSERT_EQ(nbArchiveFiles, m.size());
@@ -10664,7 +10647,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileId = "12345687";
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -10678,7 +10661,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFilePath = "/public_dir/public_file_10";
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -10692,7 +10675,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileOwnerUid     = PUBLIC_DISK_USER;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -10705,7 +10688,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.diskFileGid = PUBLIC_DISK_GROUP;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -10718,7 +10701,7 @@ TEST_P(cta_catalogue_CatalogueTest, DISABLED_concurrent_filesWrittenToTape_many_
 
   {
     catalogue::TapeFileSearchCriteria searchCriteria;
-    searchCriteria.diskInstance = storageClass.diskInstance;
+    searchCriteria.diskInstance = diskInstance;
     searchCriteria.storageClass = storageClass.name;
     auto archiveFileItor = m_catalogue->getArchiveFilesItor(searchCriteria);
     const auto m = archiveFileItorToMap(archiveFileItor);
@@ -10817,6 +10800,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -10867,7 +10851,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -10882,7 +10866,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -10935,6 +10919,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
 TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_copy_deleteStorageClass) {
   using namespace cta;
 
+  const std::string diskInstance = "disk_instance";
   const std::string vid1 = "VID123";
   const std::string mediaType = "media_type";
   const std::string vendor = "vendor";
@@ -11000,7 +10985,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -11015,7 +11000,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_1_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -11092,6 +11077,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -11173,7 +11159,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -11188,7 +11174,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -11322,6 +11308,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_sintance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -11399,7 +11386,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -11414,7 +11401,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -11546,6 +11533,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -11596,7 +11584,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -11611,7 +11599,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -11743,6 +11731,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -11793,7 +11782,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -11808,7 +11797,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -11897,6 +11886,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -11976,7 +11966,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -11991,7 +11981,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -12083,6 +12073,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -12164,7 +12155,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -12179,7 +12170,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -12268,6 +12259,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -12345,7 +12337,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -12360,7 +12352,7 @@ TEST_P(cta_catalogue_CatalogueTest, filesWrittenToTape_1_archive_file_2_tape_cop
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -12450,6 +12442,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile) {
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -12529,7 +12522,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -12544,7 +12537,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile) {
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -12758,6 +12751,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile_by_archive_file_id_of_anot
   const bool fullValue = false;
   const bool readOnlyValue = true;
   const std::string comment = "Create tape";
+  const std::string diskInstance = "disk_instance";
 
   m_catalogue->createLogicalLibrary(m_admin, logicalLibraryName, logicalLibraryIsDisabled, "Create logical library");
   createVo(vo);
@@ -12835,7 +12829,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile_by_archive_file_id_of_anot
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.vo.name = vo;
@@ -12850,7 +12844,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteArchiveFile_by_archive_file_id_of_anot
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstance;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -14180,7 +14174,6 @@ TEST_P(cta_catalogue_CatalogueTest, getNbFilesOnTape_one_tape_file) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -14195,7 +14188,7 @@ TEST_P(cta_catalogue_CatalogueTest, getNbFilesOnTape_one_tape_file) {
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -14365,7 +14358,6 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -14380,7 +14372,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file) {
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -14489,7 +14481,6 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file_reclaimed_ta
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -14504,7 +14495,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file_reclaimed_ta
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -14629,7 +14620,6 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file_superseded)
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -14644,7 +14634,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file_superseded)
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -14730,7 +14720,7 @@ TEST_P(cta_catalogue_CatalogueTest, checkTapeForLabel_one_tape_file_superseded)
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenAgainSet;
   file1WrittenAgainSet.insert(file1WrittenUP.release());
   file1WrittenAgain.archiveFileId        = archiveFileId;
-  file1WrittenAgain.diskInstance         = storageClass.diskInstance;
+  file1WrittenAgain.diskInstance         = diskInstanceName1;
   file1WrittenAgain.diskFileId           = "5678";
   file1WrittenAgain.diskFilePath         = "/public_dir/public_file";
   file1WrittenAgain.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -15001,7 +14991,6 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_no_tape_files) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -15016,7 +15005,7 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_no_tape_files) {
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -15232,7 +15221,6 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_one_tape_file) {
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -15247,7 +15235,7 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_one_tape_file) {
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -15400,7 +15388,6 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_one_tape_file_su
   ASSERT_THROW(m_catalogue->getArchiveFileById(archiveFileId), exception::Exception);
 
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = diskInstanceName1;
   storageClass.name = "storage_class";
   storageClass.nbCopies = 1;
   storageClass.vo.name = vo;
@@ -15415,7 +15402,7 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_one_tape_file_su
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenSet;
   file1WrittenSet.insert(file1WrittenUP.release());
   file1Written.archiveFileId        = archiveFileId;
-  file1Written.diskInstance         = storageClass.diskInstance;
+  file1Written.diskInstance         = diskInstanceName1;
   file1Written.diskFileId           = "5678";
   file1Written.diskFilePath         = "/public_dir/public_file";
   file1Written.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -15501,7 +15488,7 @@ TEST_P(cta_catalogue_CatalogueTest, reclaimTape_full_lastFSeq_1_one_tape_file_su
   std::set<cta::catalogue::TapeItemWrittenPointer> file1WrittenAgainSet;
   file1WrittenAgainSet.insert(file1WrittenUP.release());
   file1WrittenAgain.archiveFileId        = archiveFileId;
-  file1WrittenAgain.diskInstance         = storageClass.diskInstance;
+  file1WrittenAgain.diskInstance         = diskInstanceName1;
   file1WrittenAgain.diskFileId           = "5678";
   file1WrittenAgain.diskFilePath         = "/public_dir/public_file";
   file1WrittenAgain.diskFileOwnerUid     = PUBLIC_DISK_USER;
@@ -15731,7 +15718,7 @@ TEST_P(cta_catalogue_CatalogueTest, deleteVirtualOrganizationUsedByStorageClass)
   std::string vo = "vo";
   
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = "disk_instance";
+  
   storageClass.name = "storage_class";
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
diff --git a/catalogue/OracleCatalogue.cpp b/catalogue/OracleCatalogue.cpp
index 2c33efd6a9853d8d0581c1e16c979e4d530c061a..e03ab32132ab1ef3380a09efecb1365865fd83db 100644
--- a/catalogue/OracleCatalogue.cpp
+++ b/catalogue/OracleCatalogue.cpp
@@ -612,7 +612,7 @@ void OracleCatalogue::idempotentBatchInsertArchiveFiles(rdbms::Conn &conn, const
         "RECONCILIATION_TIME)"
       "SELECT "
         ":ARCHIVE_FILE_ID,"
-        "DISK_INSTANCE_NAME,"
+        ":DISK_INSTANCE_NAME,"
         ":DISK_FILE_ID,"
         ":DISK_FILE_PATH,"
         ":DISK_FILE_UID,"
@@ -626,7 +626,6 @@ void OracleCatalogue::idempotentBatchInsertArchiveFiles(rdbms::Conn &conn, const
       "FROM "
         "STORAGE_CLASS "
       "WHERE "
-        "DISK_INSTANCE_NAME = :DISK_INSTANCE_NAME AND "
         "STORAGE_CLASS_NAME = :STORAGE_CLASS_NAME";
     auto stmt = conn.createStmt(sql);
     rdbms::wrapper::OcciStmt &occiStmt = dynamic_cast<rdbms::wrapper::OcciStmt &>(stmt.getStmt());
diff --git a/catalogue/PostgresCatalogue.cpp b/catalogue/PostgresCatalogue.cpp
index c8ed6c7ccd0e0d98ce041dce21e0ed9583427959..4d442129f7fed688e9317b526b9589b2cf3206b8 100644
--- a/catalogue/PostgresCatalogue.cpp
+++ b/catalogue/PostgresCatalogue.cpp
@@ -579,8 +579,7 @@ void PostgresCatalogue::idempotentBatchInsertArchiveFiles(rdbms::Conn &conn,
         "A.CREATION_TIME,"
         "A.RECONCILIATION_TIME "
       "FROM TEMP_ARCHIVE_FILE_BATCH AS A, STORAGE_CLASS AS S "
-        "WHERE A.DISK_INSTANCE_NAME = S.DISK_INSTANCE_NAME AND "
-        "A.STORAGE_CLASS_NAME = S.STORAGE_CLASS_NAME "
+        "WHERE A.STORAGE_CLASS_NAME = S.STORAGE_CLASS_NAME "
       "ORDER BY A.ARCHIVE_FILE_ID "
       "ON CONFLICT (ARCHIVE_FILE_ID) DO NOTHING";
 
diff --git a/catalogue/RdbmsCatalogue.cpp b/catalogue/RdbmsCatalogue.cpp
index 27abd2f32712b4335ba06c7886351eb98cb70a13..0bb045a074d16f9efd02def78ff1ef9750ea54a2 100644
--- a/catalogue/RdbmsCatalogue.cpp
+++ b/catalogue/RdbmsCatalogue.cpp
@@ -566,10 +566,6 @@ void RdbmsCatalogue::createStorageClass(
   const common::dataStructures::SecurityIdentity &admin,
   const common::dataStructures::StorageClass &storageClass) {
   try {
-    if(storageClass.diskInstance.empty()) {
-      throw UserSpecifiedAnEmptyStringDiskInstanceName("Cannot create storage class because the disk instance name is"
-        " an empty string");
-    }
 
     if(storageClass.name.empty()) {
       throw UserSpecifiedAnEmptyStringStorageClassName("Cannot create storage class because the storage class name is"
@@ -600,7 +596,6 @@ void RdbmsCatalogue::createStorageClass(
     const char *const sql =
       "INSERT INTO STORAGE_CLASS("
         "STORAGE_CLASS_ID,"
-        "DISK_INSTANCE_NAME,"
         "STORAGE_CLASS_NAME,"
         "NB_COPIES,"
         "VIRTUAL_ORGANIZATION_ID,"
@@ -616,7 +611,6 @@ void RdbmsCatalogue::createStorageClass(
         "LAST_UPDATE_TIME)"
       "VALUES("
         ":STORAGE_CLASS_ID,"
-        ":DISK_INSTANCE_NAME,"
         ":STORAGE_CLASS_NAME,"
         ":NB_COPIES,"
         "(SELECT VIRTUAL_ORGANIZATION_ID FROM VIRTUAL_ORGANIZATION WHERE VIRTUAL_ORGANIZATION_NAME = :VO),"
@@ -633,7 +627,6 @@ void RdbmsCatalogue::createStorageClass(
     auto stmt = conn.createStmt(sql);
 
     stmt.bindUint64(":STORAGE_CLASS_ID", storageClassId);
-    stmt.bindString(":DISK_INSTANCE_NAME", storageClass.diskInstance);
     stmt.bindString(":STORAGE_CLASS_NAME", storageClass.name);
     stmt.bindUint64(":NB_COPIES", storageClass.nbCopies);
     stmt.bindString(":VO",vo);
@@ -841,7 +834,6 @@ std::list<common::dataStructures::StorageClass> RdbmsCatalogue::getStorageClasse
     std::list<common::dataStructures::StorageClass> storageClasses;
     const char *const sql =
       "SELECT "
-        "DISK_INSTANCE_NAME AS DISK_INSTANCE_NAME,"
         "STORAGE_CLASS_NAME AS STORAGE_CLASS_NAME,"
         "NB_COPIES AS NB_COPIES,"
         "VIRTUAL_ORGANIZATION.VIRTUAL_ORGANIZATION_NAME AS VIRTUAL_ORGANIZATION_NAME,"
@@ -860,14 +852,13 @@ std::list<common::dataStructures::StorageClass> RdbmsCatalogue::getStorageClasse
       "INNER JOIN "
         "VIRTUAL_ORGANIZATION ON STORAGE_CLASS.VIRTUAL_ORGANIZATION_ID = VIRTUAL_ORGANIZATION.VIRTUAL_ORGANIZATION_ID "
       "ORDER BY "
-        "DISK_INSTANCE_NAME, STORAGE_CLASS_NAME";
+        "STORAGE_CLASS_NAME";
     auto conn = m_connPool.getConn();
     auto stmt = conn.createStmt(sql);
     auto rset = stmt.executeQuery();
     while (rset.next()) {
       common::dataStructures::StorageClass storageClass;
 
-      storageClass.diskInstance = rset.columnString("DISK_INSTANCE_NAME");
       storageClass.name = rset.columnString("STORAGE_CLASS_NAME");
       storageClass.nbCopies = rset.columnUint64("NB_COPIES");
       storageClass.vo.name = rset.columnString("VIRTUAL_ORGANIZATION_NAME");
@@ -1901,7 +1892,7 @@ std::list<common::dataStructures::ArchiveRoute> RdbmsCatalogue::getArchiveRoutes
       "INNER JOIN TAPE_POOL ON "
         "ARCHIVE_ROUTE.TAPE_POOL_ID = TAPE_POOL.TAPE_POOL_ID "
       "ORDER BY "
-        "DISK_INSTANCE_NAME, STORAGE_CLASS_NAME, COPY_NB";
+        "STORAGE_CLASS_NAME, COPY_NB";
     auto conn = m_connPool.getConn();
     auto stmt = conn.createStmt(sql);
     auto rset = stmt.executeQuery();
@@ -1980,7 +1971,7 @@ std::list<common::dataStructures::ArchiveRoute> RdbmsCatalogue::getArchiveRoutes
         "STORAGE_CLASS.STORAGE_CLASS_NAME = :STORAGE_CLASS_NAME AND"      "\n"
         "TAPE_POOL.TAPE_POOL_NAME = :TAPE_POOL_NAME"                      "\n"
       "ORDER BY"                                                          "\n"
-        "DISK_INSTANCE_NAME, STORAGE_CLASS_NAME, COPY_NB";
+        "STORAGE_CLASS_NAME, COPY_NB";
     auto stmt = conn.createStmt(sql);
     stmt.bindString(":STORAGE_CLASS_NAME", storageClassName);
     stmt.bindString(":TAPE_POOL_NAME", tapePoolName);
@@ -5831,7 +5822,7 @@ void RdbmsCatalogue::insertArchiveFile(rdbms::Conn &conn, const ArchiveFileRow &
         "RECONCILIATION_TIME)"
       "SELECT "
         ":ARCHIVE_FILE_ID,"
-        "DISK_INSTANCE_NAME,"
+        ":DISK_INSTANCE_NAME,"
         ":DISK_FILE_ID,"
         ":DISK_FILE_PATH,"
         ":DISK_FILE_UID,"
@@ -5845,7 +5836,6 @@ void RdbmsCatalogue::insertArchiveFile(rdbms::Conn &conn, const ArchiveFileRow &
       "FROM "
         "STORAGE_CLASS "
       "WHERE "
-        "DISK_INSTANCE_NAME = :DISK_INSTANCE_NAME AND "
         "STORAGE_CLASS_NAME = :STORAGE_CLASS_NAME";
     auto stmt = conn.createStmt(sql);
 
diff --git a/catalogue/common_catalogue_schema.sql b/catalogue/common_catalogue_schema.sql
index bbf79115b7b5d7aa1c3a05980053d55f59dcf61d..64e04dd7472b5e2bad926bd4919cb0a028ccf092 100644
--- a/catalogue/common_catalogue_schema.sql
+++ b/catalogue/common_catalogue_schema.sql
@@ -47,7 +47,6 @@ CREATE TABLE VIRTUAL_ORGANIZATION(
 );
 CREATE TABLE STORAGE_CLASS(
   STORAGE_CLASS_ID        UINT64TYPE      CONSTRAINT STORAGE_CLASS_SCI_NN  NOT NULL,
-  DISK_INSTANCE_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_DIN_NN  NOT NULL,
   STORAGE_CLASS_NAME      VARCHAR(100)    CONSTRAINT STORAGE_CLASS_SCN_NN  NOT NULL,
   NB_COPIES               UINT8TYPE       CONSTRAINT STORAGE_CLASS_NC_NN   NOT NULL,
   VIRTUAL_ORGANIZATION_ID UINT64TYPE      CONSTRAINT STORAGE_CLASS_VOI_NN  NOT NULL,  
diff --git a/cmdline/CtaAdminCmdParse.hpp b/cmdline/CtaAdminCmdParse.hpp
index 8a41087a8cdb978b00dd00c7e30808bd5ecd5e5f..4f065cb81752df4bee106ff4fdc49c44037968c2 100644
--- a/cmdline/CtaAdminCmdParse.hpp
+++ b/cmdline/CtaAdminCmdParse.hpp
@@ -560,7 +560,7 @@ const std::map<cmd_key_t, cmd_val_t> cmdOptions = {
    {{ AdminCmd::CMD_SHOWQUEUES,           AdminCmd::SUBCMD_NONE  }, { }},
    /*----------------------------------------------------------------------------------------------------*/
    {{ AdminCmd::CMD_STORAGECLASS,         AdminCmd::SUBCMD_ADD   },
-      { opt_instance, opt_storageclass_alias, opt_copynb, opt_vo ,opt_comment }},
+      { opt_storageclass_alias, opt_copynb, opt_vo ,opt_comment }},
    {{ AdminCmd::CMD_STORAGECLASS,         AdminCmd::SUBCMD_CH    },
       { opt_storageclass_alias, opt_copynb.optional(), opt_vo.optional(), opt_comment.optional() }},
    {{ AdminCmd::CMD_STORAGECLASS,         AdminCmd::SUBCMD_RM    }, { opt_storageclass_alias }},
diff --git a/cmdline/CtaAdminTextFormatter.cpp b/cmdline/CtaAdminTextFormatter.cpp
index d850c7e0894012e9253503af2ccbc1277fe4873e..2e2bfdcf950eb5dd1984df6fb1fde0157f6a4ba3 100644
--- a/cmdline/CtaAdminTextFormatter.cpp
+++ b/cmdline/CtaAdminTextFormatter.cpp
@@ -747,7 +747,6 @@ void TextFormatter::print(const ShowQueuesItem &sq_item) {
 void TextFormatter::printStorageClassLsHeader() {
   push_back("HEADER");
   push_back(
-    "instance",
     "storage class",
     "number of copies",
     "vo",
@@ -763,7 +762,6 @@ void TextFormatter::printStorageClassLsHeader() {
 
 void TextFormatter::print(const StorageClassLsItem &scls_item) {
   push_back(
-    scls_item.disk_instance(),
     scls_item.name(),
     scls_item.nb_copies(),
     scls_item.vo(),
diff --git a/common/dataStructures/StorageClass.cpp b/common/dataStructures/StorageClass.cpp
index f7e9ce4127c5f4c5587a4d5da1e9c59bed141988..ee00475ef992cce7c75ed0afa5d7e893ec393d88 100644
--- a/common/dataStructures/StorageClass.cpp
+++ b/common/dataStructures/StorageClass.cpp
@@ -48,8 +48,7 @@ bool StorageClass::operator!=(const StorageClass &rhs) const {
 // operator<<
 //------------------------------------------------------------------------------
 std::ostream &operator<<(std::ostream &os, const StorageClass &obj) {
-  os << "(diskInstance=" << obj.diskInstance
-     << " name=" << obj.name
+  os << "(name=" << obj.name
      << " nbCopies=" << obj.nbCopies
      << " vo=" << obj.vo.name     
      << " creationLog=" << obj.creationLog
diff --git a/common/dataStructures/StorageClass.hpp b/common/dataStructures/StorageClass.hpp
index 9db25fb956a60832c720f5e49c92d9f54cbe5f53..01853240a9764ef65e03a4e5029b12db3a074d39 100644
--- a/common/dataStructures/StorageClass.hpp
+++ b/common/dataStructures/StorageClass.hpp
@@ -71,11 +71,6 @@ struct StorageClass {
    */
   bool operator!=(const StorageClass &rhs) const;
 
-  /**
-   * The name of the disk instance to which the storage class belongs.
-   */
-  std::string diskInstance;
-
   /**
    * The name of the storage class.
    *
diff --git a/common/dataStructures/StorageClassTest.cpp b/common/dataStructures/StorageClassTest.cpp
index e4a4414fe944b2332c36a035d125b3147e860e02..553d88a2d2641f03773b788bf7cdbe02275d4ec7 100644
--- a/common/dataStructures/StorageClassTest.cpp
+++ b/common/dataStructures/StorageClassTest.cpp
@@ -26,28 +26,23 @@ class cta_common_dataStructures_StorageClassTest : public ::testing::Test {
 protected:
 
   cta_common_dataStructures_StorageClassTest() {
-    m_storageClass1DiskInstance1.diskInstance = "disk_instance_1";
     m_storageClass1DiskInstance1.name = "storage_class_1";
     m_storageClass1DiskInstance1.nbCopies = 2;
     m_storageClass1DiskInstance1.comment = "create storage class";
 
-    m_storageClass1DiskInstance2.diskInstance = "disk_instance_2";
     m_storageClass1DiskInstance2.name = "storage_class_1";
     m_storageClass1DiskInstance2.nbCopies = 2;
     m_storageClass1DiskInstance2.comment = "create storage class";
 
-    m_storageClass2DiskInstance1.diskInstance = "disk_instance_1";
     m_storageClass2DiskInstance1.name = "storage_class_2";
     m_storageClass2DiskInstance1.nbCopies = 2;
     m_storageClass2DiskInstance1.comment = "create storage class";
 
-    m_storageClass1DiskInstance1ExactCopy.diskInstance = "disk_instance_1";
     m_storageClass1DiskInstance1ExactCopy.name = "storage_class_1";
     m_storageClass1DiskInstance1ExactCopy.nbCopies = 2;
     m_storageClass1DiskInstance1ExactCopy.comment = "create storage class";
 
     // Different ignored values
-    m_storageClass1DiskInstance1EffectiveCopy.diskInstance = "disk_instance_1";
     m_storageClass1DiskInstance1EffectiveCopy.name = "storage_class_1";
     m_storageClass1DiskInstance1EffectiveCopy.nbCopies = 2;
     m_storageClass1DiskInstance1EffectiveCopy.comment = "create storage class";
diff --git a/continuousintegration/orchestration/tests/prepare_tests.sh b/continuousintegration/orchestration/tests/prepare_tests.sh
index 654bfafada4a51d0a1de4e5c8af7b8f0dde3ed55..422a1e99420fc0abe63d4b699ba03731505b3cb8 100755
--- a/continuousintegration/orchestration/tests/prepare_tests.sh
+++ b/continuousintegration/orchestration/tests/prepare_tests.sh
@@ -127,7 +127,6 @@ echo "Preparing CTA configuration for tests"
       --comment "ctasystest"
   done
   kubectl --namespace ${NAMESPACE} exec ctacli -- cta-admin storageclass add   \
-    --instance ${EOSINSTANCE}                                            \
     --name ctaStorageClass                                            \
     --copynb 1                                                        \
     --vo vo                                                           \
diff --git a/scheduler/SchedulerTest.cpp b/scheduler/SchedulerTest.cpp
index 62b483d0c529874175c4bb326cc8da5f0a70492f..7d7f40c409664fab67f204f0783fd0ec73900dbf 100644
--- a/scheduler/SchedulerTest.cpp
+++ b/scheduler/SchedulerTest.cpp
@@ -214,7 +214,6 @@ public:
     m_catalogue->createVirtualOrganization(s_adminOnAdminHost,vo);
     
     common::dataStructures::StorageClass storageClass;
-    storageClass.diskInstance = s_diskInstance;
     storageClass.name = s_storageClassName;
     storageClass.nbCopies = 1;
     storageClass.vo.name = vo.name;
@@ -1442,7 +1441,6 @@ TEST_P(SchedulerTest, expandRepackRequest) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -1466,7 +1464,7 @@ TEST_P(SchedulerTest, expandRepackRequest) {
         auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
         auto & fileWritten = *fileWrittenUP;
         fileWritten.archiveFileId = archiveFileId++;
-        fileWritten.diskInstance = storageClass.diskInstance;
+        fileWritten.diskInstance = s_diskInstance;
         fileWritten.diskFileId = diskFileId.str();
         fileWritten.diskFilePath = diskFilePath.str();
         fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -1644,7 +1642,7 @@ TEST_P(SchedulerTest, expandRepackRequest) {
 
           //Testing the archive file associated to the retrieve request
           ASSERT_EQ(archiveFile.storageClass,storageClass.name);
-          ASSERT_EQ(archiveFile.diskInstance,storageClass.diskInstance);
+          ASSERT_EQ(archiveFile.diskInstance,s_diskInstance);
           ++j;
         }
       }
@@ -1761,7 +1759,6 @@ TEST_P(SchedulerTest, expandRepackRequestRetrieveFailed) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -1783,7 +1780,7 @@ TEST_P(SchedulerTest, expandRepackRequestRetrieveFailed) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -2000,7 +1997,6 @@ TEST_P(SchedulerTest, expandRepackRequestArchiveSuccess) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2022,7 +2018,7 @@ TEST_P(SchedulerTest, expandRepackRequestArchiveSuccess) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -2249,7 +2245,6 @@ TEST_P(SchedulerTest, expandRepackRequestArchiveFailed) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2271,7 +2266,7 @@ TEST_P(SchedulerTest, expandRepackRequestArchiveFailed) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -2543,7 +2538,6 @@ TEST_P(SchedulerTest, expandRepackRequestExpansionTimeLimitReached) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2565,7 +2559,7 @@ TEST_P(SchedulerTest, expandRepackRequestExpansionTimeLimitReached) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -2658,7 +2652,6 @@ TEST_P(SchedulerTest, expandRepackRequestDisabledTape) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2680,7 +2673,7 @@ TEST_P(SchedulerTest, expandRepackRequestDisabledTape) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -2787,7 +2780,6 @@ TEST_P(SchedulerTest, noMountIsTriggeredWhenTapeIsDisabled) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -2809,7 +2801,7 @@ TEST_P(SchedulerTest, noMountIsTriggeredWhenTapeIsDisabled) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -3181,7 +3173,6 @@ TEST_P(SchedulerTest, expandRepackRequestAddCopiesOnly) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 3;
   storageClass.comment = "Create storage class";
@@ -3217,7 +3208,7 @@ TEST_P(SchedulerTest, expandRepackRequestAddCopiesOnly) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -3423,7 +3414,6 @@ TEST_P(SchedulerTest, expandRepackRequestMoveAndAddCopies){
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 3;
   storageClass.comment = "Create storage class";
@@ -3463,7 +3453,7 @@ TEST_P(SchedulerTest, expandRepackRequestMoveAndAddCopies){
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -3685,7 +3675,6 @@ TEST_P(SchedulerTest, cancelRepackRequest) {
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -3707,7 +3696,7 @@ TEST_P(SchedulerTest, cancelRepackRequest) {
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
@@ -4022,7 +4011,6 @@ TEST_P(SchedulerTest, repackRetrieveRequestsFailToFetchDiskSystem){
   
   //Create a storage class in the catalogue
   common::dataStructures::StorageClass storageClass;
-  storageClass.diskInstance = s_diskInstance;
   storageClass.name = s_storageClassName;
   storageClass.nbCopies = 2;
   storageClass.comment = "Create storage class";
@@ -4044,7 +4032,7 @@ TEST_P(SchedulerTest, repackRetrieveRequestsFailToFetchDiskSystem){
       auto fileWrittenUP=cta::make_unique<cta::catalogue::TapeFileWritten>();
       auto & fileWritten = *fileWrittenUP;
       fileWritten.archiveFileId = archiveFileId++;
-      fileWritten.diskInstance = storageClass.diskInstance;
+      fileWritten.diskInstance = s_diskInstance;
       fileWritten.diskFileId = diskFileId.str();
       fileWritten.diskFilePath = diskFilePath.str();
       fileWritten.diskFileOwnerUid = PUBLIC_OWNER_UID;
diff --git a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp
index 562a6d23bdd8fdf69a81622fc3deb0d402c6fe37..804a97cec9a8a8ef852029ebec777cd5ade543cf 100644
--- a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp
+++ b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp
@@ -294,7 +294,6 @@ public:
     catalogue.createVirtualOrganization(s_adminOnAdminHost,vo);
     
     common::dataStructures::StorageClass storageClass;
-    storageClass.diskInstance = s_diskInstance;
     storageClass.name = s_storageClassName;
     storageClass.nbCopies = 1;
     storageClass.vo.name = vo.name;
diff --git a/tapeserver/castor/tape/tapeserver/daemon/MigrationReportPackerTest.cpp b/tapeserver/castor/tape/tapeserver/daemon/MigrationReportPackerTest.cpp
index 6cde8f1a06798ef3c094a2ddbb73914e8e7ae562..f152027f826d14396eb44b97ef5a44c19d8d9110 100644
--- a/tapeserver/castor/tape/tapeserver/daemon/MigrationReportPackerTest.cpp
+++ b/tapeserver/castor/tape/tapeserver/daemon/MigrationReportPackerTest.cpp
@@ -140,7 +140,7 @@ const uint32_t TEST_GROUP_2 = 9754;
       disabledValue, fullValue, readOnlyValue, createTapeComment);
 
     cta::common::dataStructures::StorageClass storageClass;
-    storageClass.diskInstance = "disk_instance";
+    
     storageClass.name = "storage_class";
     storageClass.nbCopies = 1;
     storageClass.vo.name = vo.name;
@@ -293,7 +293,7 @@ const uint32_t TEST_GROUP_2 = 9754;
       disabledValue, fullValue, readOnlyValue, createTapeComment);
 
     cta::common::dataStructures::StorageClass storageClass;
-    storageClass.diskInstance = "disk_instance";
+    
     storageClass.name = "storage_class";
     storageClass.nbCopies = 1;
     storageClass.vo.name = vo.name;
diff --git a/xroot_plugins/XrdCtaStorageClassLs.hpp b/xroot_plugins/XrdCtaStorageClassLs.hpp
index b231c2a37a2c534de329ca26497f601a4baf880c..c96372b0e07fe4fa771782b30cef4d1912baca27 100644
--- a/xroot_plugins/XrdCtaStorageClassLs.hpp
+++ b/xroot_plugins/XrdCtaStorageClassLs.hpp
@@ -73,7 +73,6 @@ int StorageClassLsStream::fillBuffer(XrdSsiPb::OStreamBuffer<Data> *streambuf) {
     auto &sc      = m_storageClassList.front();
     auto  sc_item = record.mutable_scls_item();
 
-    sc_item->set_disk_instance(sc.diskInstance);
     sc_item->set_name(sc.name);
     sc_item->set_nb_copies(sc.nbCopies);
     sc_item->set_vo(sc.vo.name);
diff --git a/xroot_plugins/XrdSsiCtaRequestMessage.cpp b/xroot_plugins/XrdSsiCtaRequestMessage.cpp
index cc2434e921ace7ae7cc134f95219e9334fbef77b..22ea24c9feed9e53d69a190d4d5682073bc6e5fb 100644
--- a/xroot_plugins/XrdSsiCtaRequestMessage.cpp
+++ b/xroot_plugins/XrdSsiCtaRequestMessage.cpp
@@ -1322,7 +1322,6 @@ void RequestMessage::processStorageClass_Add(cta::xrd::Response &response)
 
    common::dataStructures::StorageClass storageClass;
 
-   storageClass.diskInstance = getRequired(OptionString::INSTANCE);
    storageClass.name         = getRequired(OptionString::STORAGE_CLASS);
    storageClass.nbCopies     = getRequired(OptionUInt64::COPY_NUMBER);
    storageClass.comment      = getRequired(OptionString::COMMENT);