示例#1
0
 def setup(self):
     try:
         new_attrs = {}
         new_attrs.update(self.attrs)
         new_attrs.update(self.do_get_dependencies())
         self.obj = self.klass(**new_attrs)
         DBSession.add(self.obj)
         DBSession.flush()
         return self.obj
     except:
         DBSession.rollback()
         raise
示例#2
0
 def exec_task(self, auth, ctx):
     manager = Basic.getGridManager()
     groups = manager.getGroupList(auth)
     for group in groups:
         nodes = manager.getNodeList(auth, group.id)
         for n in nodes:
             try:
                 transaction.begin()
                 n=DBSession.query(ManagedNode).filter(ManagedNode.id==n.id).one()
                 n.refresh_environ()
                 n.get_running_vms()
                 n.socket=n.get_socket_info()
                 DBSession.add(n)
                 transaction.commit()
             except Exception, e:
                 LOGGER.error(to_str(e))
                 DBSession.rollback()
示例#3
0
 def exec_task(self, auth, ctx):
     manager = Basic.getGridManager()
     groups = manager.getGroupList(auth)
     for group in groups:
         nodes = manager.getNodeList(auth, group.id)
         for n in nodes:
             try:
                 transaction.begin()
                 n=DBSession.query(ManagedNode).filter(ManagedNode.id==n.id).one()
                 n.refresh_environ()
                 n.get_running_vms()
                 n.socket=n.get_socket_info()
                 if n.is_up():
                     n.isHVM = n.is_HVM()
                 DBSession.add(n)
                 transaction.commit()
             except Exception, e:
                 LOGGER.error(to_str(e))
                 DBSession.rollback()
示例#4
0
class RefreshNodeInfoTask(Task):
    def get_descriptions(self):
        short_desc = m_("Refresh Task for All Nodes")
        return (short_desc, (), short_desc, ())

    def exec_task(self, auth, ctx):
        manager = Basic.getGridManager()
        groups = manager.getGroupList(auth)
        for group in groups:
            nodes = manager.getNodeList(auth, group.id)
            for n in nodes:
                try:
                    transaction.begin()
                    n=DBSession.query(ManagedNode).filter(ManagedNode.id==n.id).one()
                    n.refresh_environ()
                    n.get_running_vms()
                    n.socket=n.get_socket_info()
                    if n.is_up():
                        n.isHVM = n.is_HVM()
                    DBSession.add(n)
                    transaction.commit()
                except Exception, e:
                    LOGGER.error(to_str(e))
                    DBSession.rollback()
        ungrouped_nodes = manager.getNodeList(auth)
        for n in ungrouped_nodes:
            try:
                transaction.begin()
                n=DBSession.query(ManagedNode).filter(ManagedNode.id==n.id).one()
                n.refresh_environ()
                n.get_running_vms()
                n.socket=n.get_socket_info()
                DBSession.add(n)
                transaction.commit()
            except Exception, e:
                LOGGER.error(to_str(e))
                DBSession.rollback()
示例#5
0
 def tearDown(self):
     DBSession.rollback()