def PUT(self, cluster_id): cluster = self.get_object_or_404( Cluster, cluster_id, log_404=( "warning", "Error: there is no cluster " "with id '{0}' in DB.".format(cluster_id))) try: network_info = \ NetworkConfigurationSerializer.serialize_for_cluster( cluster ) logger.info( u"Network info:\n{0}".format( json.dumps(network_info, indent=4) ) ) task_manager = DeploymentTaskManager( cluster_id=cluster.id ) task = task_manager.execute() except Exception as exc: logger.warn(u'ClusterChangesHandler: error while execution' ' deploy task: {0}'.format(str(exc))) raise web.badrequest(str(exc)) return TaskHandler.render(task)
def PUT(self, cluster_id): """:returns: JSONized Task object. :http: * 200 (task successfully executed) * 404 (cluster not found in db) * 400 (failed to execute task) """ cluster = self.get_object_or_404( Cluster, cluster_id, log_404=( "warning", "Error: there is no cluster " "with id '{0}' in DB.".format(cluster_id))) try: network_info = \ NetworkConfigurationSerializer.serialize_for_cluster( cluster ) logger.info( u"Network info:\n{0}".format( json.dumps(network_info, indent=4) ) ) task_manager = DeploymentTaskManager( cluster_id=cluster.id ) task = task_manager.execute() except Exception as exc: logger.warn(u'ClusterChangesHandler: error while execution' ' deploy task: {0}'.format(str(exc))) raise web.badrequest(str(exc)) return TaskHandler.render(task)
def PUT(self, cluster_id): cluster = self.get_object_or_404( Cluster, cluster_id, log_404=("warning", "Error: there is no cluster " "with id '{0}' in DB.".format(cluster_id))) task_manager = DeploymentTaskManager(cluster_id=cluster.id) try: task = task_manager.execute() except Exception as exc: logger.warn(u'ClusterChangesHandler: error while execution' ' deploy task: {0}'.format(exc.message)) raise web.badrequest(exc.message) return TaskHandler.render(task)
def test_no_node_no_cry(self): cluster = self.env.create_cluster(api=True) rcvr = rpc.receiver.NailgunReceiver manager = DeploymentTaskManager(cluster["id"]) rcvr.deploy_resp(nodes=[ {'uid': 666, 'id': 666, 'status': 'discover'} ], uuid='no_freaking_way') # and wrong task also self.assertRaises(errors.WrongNodeStatus, manager.execute)
def PUT(self, cluster_id): cluster = self.get_object_or_404( Cluster, cluster_id, log_404=( "warning", "Error: there is no cluster " "with id '{0}' in DB.".format(cluster_id) ) ) task_manager = DeploymentTaskManager(cluster_id=cluster.id) try: task = task_manager.execute() except Exception as exc: logger.warn(u'ClusterChangesHandler: error while execution' ' deploy task: {0}'.format(exc.message)) raise web.badrequest(exc.message) return TaskHandler.render(task)
def test_no_changes_no_cry(self): self.env.create( cluster_kwargs={}, nodes_kwargs=[ {"status": "ready"} ] ) cluster_db = self.env.clusters[0] cluster_db.clear_pending_changes() manager = DeploymentTaskManager(cluster_db.id) self.assertRaises(errors.WrongNodeStatus, manager.execute)
def PUT(self, cluster_id): """:returns: JSONized Task object. :http: * 200 (task successfully executed) * 404 (cluster not found in db) * 400 (failed to execute task) """ cluster = self.get_object_or_404( Cluster, cluster_id, log_404=( "warning", "Error: there is no cluster " "with id '{0}' in DB.".format(cluster_id) ) ) if cluster.net_provider == 'nova_network': net_serializer = NovaNetworkConfigurationSerializer elif cluster.net_provider == 'neutron': net_serializer = NeutronNetworkConfigurationSerializer try: network_info = net_serializer.serialize_for_cluster(cluster) logger.info( u"Network info:\n{0}".format( json.dumps(network_info, indent=4) ) ) task_manager = DeploymentTaskManager( cluster_id=cluster.id ) task = task_manager.execute() except Exception as exc: logger.warn(u'ClusterChangesHandler: error while execution' ' deploy task: {0}'.format(str(exc))) raise web.badrequest(str(exc)) return TaskHandler.render(task)
def test_no_node_no_cry(self): cluster = self.env.create_cluster(api=True) cluster_id = cluster['id'] manager = DeploymentTaskManager(cluster_id) task = Task(name='provision', cluster_id=cluster_id) self.db.add(task) self.db.commit() rpc.receiver.NailgunReceiver.deploy_resp(nodes=[{ 'uid': 666, 'id': 666, 'status': 'discover' }], task_uuid=task.uuid) self.assertRaises(errors.WrongNodeStatus, manager.execute)