def render(cls, instance, fields=None): json_data = JSONHandler.render(instance, fields=cls.fields) network_manager = NetworkManager() json_data['network_data'] = network_manager.get_node_networks( instance.id ) return json_data
def _success_action(cls, task, status, progress): network_manager = NetworkManager() # check if all nodes are ready if any(map(lambda n: n.status == 'error', task.cluster.nodes)): cls._error_action(task, 'error', 100) return if task.cluster.mode in ('singlenode', 'multinode'): # determining horizon url - it's an IP # of a first cluster controller controller = db().query(Node).filter_by( cluster_id=task.cluster_id).filter( Node.role_list.any(name='controller')).first() if controller: logger.debug( u"Controller is found, node_id=%s, " "getting it's IP addresses", controller.id) public_net = filter( lambda n: n['name'] == 'public' and 'ip' in n, network_manager.get_node_networks(controller.id)) if public_net: horizon_ip = public_net[0]['ip'].split('/')[0] message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at " "http://{1}/ or via internal network at http://{2}/" ).format(task.cluster.name, horizon_ip, controller.ip) else: message = ( u"Deployment of environment '{0}' is done").format( task.cluster.name) logger.warning(u"Public ip for controller node " "not found in '{0}'".format( task.cluster.name)) else: message = (u"Deployment of environment" " '{0}' is done").format(task.cluster.name) logger.warning(u"Controller node not found in '{0}'".format( task.cluster.name)) elif task.cluster.is_ha_mode: # determining horizon url in HA mode - it's vip # from a public network saved in task cache try: netmanager = NetworkManager() message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at {1}").format( task.cluster.name, netmanager.get_horizon_url(task.cluster.id)) except Exception as exc: logger.error(": ".join([str(exc), traceback.format_exc()])) message = (u"Deployment of environment" " '{0}' is done").format(task.cluster.name) logger.warning(u"Cannot find virtual IP for '{0}'".format( task.cluster.name)) notifier.notify("done", message, task.cluster_id) TaskHelper.update_task_status(task.uuid, status, progress, message)
def render(cls, instance, fields=None): json_data = None try: json_data = BaseHandler.render(instance, fields=cls.fields) json_data['network_data'] = NetworkManager.get_node_networks( instance.id) except Exception: logger.error(traceback.format_exc()) return json_data
def __format_node_for_naily(cls, n): netmanager = NetworkManager() return { 'id': n.id, 'status': n.status, 'error_type': n.error_type, 'uid': n.id, 'ip': n.ip, 'mac': n.mac, 'role': n.role, 'fqdn': n.fqdn, 'progress': n.progress, 'meta': n.meta, 'network_data': netmanager.get_node_networks(n.id), 'online': n.online }
def _success_action(cls, task, status, progress): network_manager = NetworkManager() # check if all nodes are ready if any(map(lambda n: n.status == "error", task.cluster.nodes)): cls._error_action(task, "error", 100) return if task.cluster.mode in ("singlenode", "multinode"): # determining horizon url - it's an IP # of a first cluster controller controller = ( db() .query(Node) .filter_by(cluster_id=task.cluster_id) .filter(Node.role_list.any(name="controller")) .first() ) if controller: logger.debug(u"Controller is found, node_id=%s, " "getting it's IP addresses", controller.id) public_net = filter( lambda n: n["name"] == "public" and "ip" in n, network_manager.get_node_networks(controller.id) ) if public_net: horizon_ip = public_net[0]["ip"].split("/")[0] message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at " "http://{1}/ or via internal network at http://{2}/" ).format(task.cluster.name, horizon_ip, controller.ip) else: message = (u"Deployment of environment '{0}' is done").format(task.cluster.name) logger.warning(u"Public ip for controller node " "not found in '{0}'".format(task.cluster.name)) else: message = (u"Deployment of environment" " '{0}' is done").format(task.cluster.name) logger.warning(u"Controller node not found in '{0}'".format(task.cluster.name)) elif task.cluster.mode == "ha": # determining horizon url in HA mode - it's vip # from a public network saved in task cache args = task.cache.get("args") try: vip = args["attributes"]["public_vip"] message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at http://{1}/" ).format(task.cluster.name, vip) except Exception as exc: logger.error(": ".join([str(exc), traceback.format_exc()])) message = (u"Deployment of environment" " '{0}' is done").format(task.cluster.name) logger.warning(u"Cannot find virtual IP for '{0}'".format(task.cluster.name)) notifier.notify("done", message, task.cluster_id) TaskHelper.update_task_status(task.uuid, status, progress, message)
def network_data(self): # It is required for integration tests; to get info about nets # which must be created on target node from nailgun.network.manager import NetworkManager netmanager = NetworkManager() return netmanager.get_node_networks(self.id)
def network_data(self): from nailgun.network.manager import NetworkManager return NetworkManager.get_node_networks(self.id)
def network_data(self): # TODO(enchantner): move to object from nailgun.network.manager import NetworkManager return NetworkManager.get_node_networks(self)
def _success_action(cls, task, status, progress): # check if all nodes are ready if any(map(lambda n: n.status == 'error', task.cluster.nodes)): cls._error_action(task, 'error', 100) return if task.cluster.mode in ('singlenode', 'multinode'): # determining horizon url - it's an IP # of a first cluster controller controller = db().query(Node).filter_by( cluster_id=task.cluster_id ).filter(Node.role_list.any(name='controller')).first() if controller: logger.debug( u"Controller is found, node_id=%s, " "getting it's IP addresses", controller.id ) public_net = filter( lambda n: n['name'] == 'public' and 'ip' in n, NetworkManager.get_node_networks(controller.id) ) if public_net: horizon_ip = public_net[0]['ip'].split('/')[0] message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at " "http://{1}/ or via internal network at http://{2}/" ).format( task.cluster.name, horizon_ip, controller.ip ) else: message = ( u"Deployment of environment '{0}' is done" ).format(task.cluster.name) logger.warning( u"Public ip for controller node " "not found in '{0}'".format(task.cluster.name) ) else: message = ( u"Deployment of environment" " '{0}' is done" ).format(task.cluster.name) logger.warning(u"Controller node not found in '{0}'".format( task.cluster.name )) elif task.cluster.is_ha_mode: # determining horizon url in HA mode - it's vip # from a public network saved in task cache try: message = ( u"Deployment of environment '{0}' is done. " "Access the OpenStack dashboard (Horizon) at {1}" ).format( task.cluster.name, NetworkManager.get_horizon_url(task.cluster.id) ) except Exception as exc: logger.error(": ".join([ str(exc), traceback.format_exc() ])) message = ( u"Deployment of environment" " '{0}' is done" ).format(task.cluster.name) logger.warning( u"Cannot find virtual IP for '{0}'".format( task.cluster.name ) ) notifier.notify( "done", message, task.cluster_id ) TaskHelper.update_task_status(task.uuid, status, progress, message)