Commit fec7ed10 authored by Łukasz Nowak's avatar Łukasz Nowak

squash! XXX kvm: Cover external-image-*

Skeletonize simulation of external_storage_list
parent c57e76b9
......@@ -1735,3 +1735,58 @@ class TestExternalDisk(InstanceTestCase, KvmMixin):
@classmethod
def getInstanceSoftwareType(cls):
return 'default'
@classmethod
def getInstanceParameterDict(cls):
return {
'external-disk-amount': 2,
'external-disk-size': 1
}
@classmethod
def _prepareExternalStorageList(cls):
external_storage_path = os.path.join(cls.working_directory, 'STORAGE')
os.mkdir(external_storage_path)
for partition in os.listdir(cls.slap.instance_directory):
if not partition.startswith(cls.__partition_reference__):
continue
partition_store_list = []
for number in range(10):
storage = os.path.join(external_storage_path, 'data%s' % (number,))
if not os.path.exists(storage):
os.mkdir(storage)
partition_store = os.path.join(storage, partition)
os.mkdir(partition_store)
partition_store_list.append(partition_store)
with open(
os.path.join(
cls.slap.instance_directory, partition, '.slapos-resource'),
'w') as fh:
json.dump(
{'external_storage_list': partition_store_list}, fh, indent=2)
# above is not enough: the presence of parameter is required in slapos.cfg
with open(cls.slap._slapos_config) as fh:
slapos_config = fh.read()
slapos_config += '\n' + """
[slapos]
instance_storage_home = %s
""" % (external_storage_path,)
with open(cls.slap._slapos_config, 'w') as fh:
fh.write(slapos_config)
@classmethod
def _setUpClass(cls):
super(InstanceTestCase, cls)._setUpClass()
cls.working_directory = tempfile.mkdtemp()
# setup the external_storage_list, to mimic part of slapformat
cls._prepareExternalStorageList()
# re-run the instance, as information has been updated
cls.waitForInstance()
@classmethod
def _tearDownClass(cls):
super(InstanceTestCase, cls)._tearDownClass()
shutil.rmtree(cls.working_directory)
def test(self):
self.fail('NOTIMPLEMENTED')
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment