Exemplo n.º 1
0
    def getVersion(pkg: str = None):
        if pkg and pkg != APP_NAME:
            ver, _ = NodeControlUtil.curr_pkt_info(pkg)
            return ver

        from indy_node.__metadata__ import __version__
        return __version__
Exemplo n.º 2
0
 def _upgrade(self, new_version, pkg_name, migrate=True, rollback=True):
     current_version, _ = NodeControlUtil.curr_pkt_info(pkg_name)
     try:
         from indy_node.server.upgrader import Upgrader
         node_cur_version = Upgrader.getVersion()
         logger.info('Trying to upgrade from {}={} to {}'.format(pkg_name, current_version, new_version))
         self._call_upgrade_script(pkg_name, new_version)
         if migrate:
             node_new_version = Upgrader.getVersion()
             self._do_migration(node_cur_version, node_new_version)
         self._call_restart_node_script()
     except Exception as ex:
         self._declare_upgrade_failed(from_version=current_version,
                                      to_version=new_version,
                                      reason=str(ex))
         logger.error("Trying to rollback to the previous version {}"
                      .format(ex, current_version))
         if rollback:
             self._upgrade(current_version, pkg_name, rollback=False)
Exemplo n.º 3
0
 def curr_pkt_info(self, pkg_name):
     if pkg_name == APP_NAME:
         return Upgrader.getVersion(), [APP_NAME]
     return NodeControlUtil.curr_pkt_info(pkg_name)
Exemplo n.º 4
0
 def _ext_info(self, pkg=None):
     pkg_name = pkg or self.upgrade_entry
     return NodeControlUtil.curr_pkt_info(pkg_name)