diff --git a/savanna/db/models.py b/savanna/db/models.py index 3ab85bc2..8382a1e9 100644 --- a/savanna/db/models.py +++ b/savanna/db/models.py @@ -180,7 +180,7 @@ class NodeGroup(mb.SavannaBase, NodeGroupMixin): def storage_paths(self): mp = [] for idx in xrange(1, self.volumes_per_node + 1): - mp.append(self.volume_mount_prefix + chr(idx)) + mp.append(self.volume_mount_prefix + str(idx)) # Here we assume that NG will use ephemeral drive if no volumes if not mp: diff --git a/savanna/tests/unit/db/models/test_volumes_support.py b/savanna/tests/unit/db/models/test_volumes_support.py new file mode 100644 index 00000000..f755ead4 --- /dev/null +++ b/savanna/tests/unit/db/models/test_volumes_support.py @@ -0,0 +1,53 @@ +# Copyright (c) 2013 Mirantis Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest2 + +from savanna.db import models as m + + +class VolumesSupportTest(unittest2.TestCase): + def test_instance_storage_paths_wo_volumes(self): + i = m.NodeGroup('ng-1', 'f-1', [], 1) + + self.assertEqual( + [ + '/mnt', + ], + i.storage_paths) + + def test_instance_storage_paths(self): + i = m.NodeGroup('ng-1', 'f-1', [], 1, volumes_per_node=3) + + self.assertEqual( + [ + '/volumes/disk1', + '/volumes/disk2', + '/volumes/disk3', + ], + i.storage_paths) + + def test_instance_storage_paths_custem_prefix(self): + i = m.NodeGroup('ng-1', 'f-1', [], 1, + volumes_per_node=3, + volume_mount_prefix='/foo') + + self.assertEqual( + [ + '/foo1', + '/foo2', + '/foo3', + ], + i.storage_paths)