Merge "Environment check is implemented"
This commit is contained in:
commit
1f4cf2ef23
|
@ -27,7 +27,6 @@ from nailgun.api.validators.node import NodeDisksValidator
|
||||||
from nailgun.db import db
|
from nailgun.db import db
|
||||||
from nailgun.db.sqlalchemy.models import Node
|
from nailgun.db.sqlalchemy.models import Node
|
||||||
from nailgun.db.sqlalchemy.models import NodeAttributes
|
from nailgun.db.sqlalchemy.models import NodeAttributes
|
||||||
from nailgun.errors import errors
|
|
||||||
from nailgun.logger import logger
|
from nailgun.logger import logger
|
||||||
from nailgun.volumes.manager import DisksFormatConvertor
|
from nailgun.volumes.manager import DisksFormatConvertor
|
||||||
|
|
||||||
|
@ -106,14 +105,10 @@ class NodeVolumesInformationHandler(BaseHandler):
|
||||||
* 404 (node not found in db)
|
* 404 (node not found in db)
|
||||||
"""
|
"""
|
||||||
node = self.get_object_or_404(Node, node_id)
|
node = self.get_object_or_404(Node, node_id)
|
||||||
|
if node.cluster is None:
|
||||||
volumes_info = []
|
|
||||||
try:
|
|
||||||
volumes_info = DisksFormatConvertor.get_volumes_info(node)
|
|
||||||
except errors.CannotFindVolumesInfoForRole:
|
|
||||||
logger.error(traceback.format_exc())
|
logger.error(traceback.format_exc())
|
||||||
raise web.notfound(
|
raise web.notfound(
|
||||||
message='Cannot calculate volumes info. '
|
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
|
return volumes_info
|
||||||
|
|
|
@ -39,7 +39,6 @@ default_messages = {
|
||||||
|
|
||||||
# disk errors
|
# disk errors
|
||||||
"NotEnoughFreeSpace": "Not enough free space",
|
"NotEnoughFreeSpace": "Not enough free space",
|
||||||
"CannotFindVolumesInfoForRole": "Cannot find volumes info for role",
|
|
||||||
"NotEnoughOsdNodes": "Not enough OSD nodes",
|
"NotEnoughOsdNodes": "Not enough OSD nodes",
|
||||||
|
|
||||||
# network errors
|
# network errors
|
||||||
|
|
|
@ -458,6 +458,17 @@ class TestVolumeManager(BaseIntegrationTest):
|
||||||
|
|
||||||
self.assertEquals(volumes_size, disk['size'])
|
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):
|
def test_allocates_all_free_space_for_os_for_controller_role(self):
|
||||||
node = self.create_node('controller')
|
node = self.create_node('controller')
|
||||||
disks = only_disks(node.volume_manager.volumes)
|
disks = only_disks(node.volume_manager.volumes)
|
||||||
|
|
Loading…
Reference in New Issue