Merge "Environment check is implemented"

This commit is contained in:
Jenkins 2014-01-23 12:21:02 +00:00 committed by Gerrit Code Review
commit 1f4cf2ef23
3 changed files with 14 additions and 9 deletions

View File

@ -27,7 +27,6 @@ from nailgun.api.validators.node import NodeDisksValidator
from nailgun.db import db
from nailgun.db.sqlalchemy.models import Node
from nailgun.db.sqlalchemy.models import NodeAttributes
from nailgun.errors import errors
from nailgun.logger import logger
from nailgun.volumes.manager import DisksFormatConvertor
@ -106,14 +105,10 @@ class NodeVolumesInformationHandler(BaseHandler):
* 404 (node not found in db)
"""
node = self.get_object_or_404(Node, node_id)
volumes_info = []
try:
volumes_info = DisksFormatConvertor.get_volumes_info(node)
except errors.CannotFindVolumesInfoForRole:
if node.cluster is None:
logger.error(traceback.format_exc())
raise web.notfound(
message='Cannot calculate volumes info. '
'Please, add node to a cluster.')
'Please, add node to an environment.')
volumes_info = DisksFormatConvertor.get_volumes_info(node)
return volumes_info

View File

@ -39,7 +39,6 @@ default_messages = {
# disk errors
"NotEnoughFreeSpace": "Not enough free space",
"CannotFindVolumesInfoForRole": "Cannot find volumes info for role",
"NotEnoughOsdNodes": "Not enough OSD nodes",
# network errors

View File

@ -458,6 +458,17 @@ class TestVolumeManager(BaseIntegrationTest):
self.assertEquals(volumes_size, disk['size'])
def test_volume_request_without_cluster(self):
self.env.create_node(api=True)
node = self.env.nodes[-1]
resp = self.app.get(
reverse('NodeVolumesInformationHandler',
kwargs={'node_id': node.id}),
headers=self.default_headers,
expect_errors=True
)
self.assertEquals(404, resp.status)
def test_allocates_all_free_space_for_os_for_controller_role(self):
node = self.create_node('controller')
disks = only_disks(node.volume_manager.volumes)