From 41a627379e708aeb0243b0faa016a413b5b2e919 Mon Sep 17 00:00:00 2001
From: Alain Takoudjou <talino@tiolive.com>
Date: Wed, 22 Apr 2015 15:03:15 +0200
Subject: [PATCH] slapos format: drop limit of 4 data storage directory

---
 slapos/format.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/slapos/format.py b/slapos/format.py
index 473cd0420..16f928de3 100644
--- a/slapos/format.py
+++ b/slapos/format.py
@@ -37,6 +37,7 @@ import logging
 import netaddr
 import netifaces
 import os
+import glob
 import pwd
 import random
 import shutil
@@ -475,11 +476,13 @@ class Computer(object):
     # get list of instance external storage if exist
     instance_external_list = []
     if self.instance_storage_home:
-      # XXX - Hard limit for storage number to 4
-      for i in range(1, 5):
-        storage_path = os.path.join(self.instance_storage_home, 'data%s' % i)
-        if os.path.exists(storage_path):
-          instance_external_list.append(storage_path)
+      # get all /XXX/dataN where N is a digit
+      data_list = glob.glob(os.path.join(self.instance_storage_home, 'data*'))
+      for i in range(0, len(data_list)):
+        data_path = data_list.pop()
+        the_digit = os.path.basename(data_path).split('data')[-1]
+        if the_digit.isdigit():
+          instance_external_list.append(data_path)
 
     tap_address_list = []
     if alter_network and self.tap_gateway_interface and create_tap:
-- 
2.30.9