ecFlow's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Migration to ecflow 5 series is straightforward, if you are using ecFlow version 4.7.0 or later. 

  • Stop all jobs in old server, then terminate. Check that the checkpoint file was written.
  • Module load ecflow/5new
  • Start the new ecflow 5 server, and open with same port. This way the new server will read the same set of files.  It will automatically read the  checkpoint file that were created in version 4.7.X and above. 

    ecflow_start.sh -p <port> # Open with same port.
  • For the very first use of ecflow_ui, then move aside the old  .ecflowrc directory.  

    mv $HOME/.ecflowrc $HOME/.ecflowrc_old4

Migration( only required for ecflow < 4.7.0)

In most cases we can easily migrate from one version of ecflow to another. Since the checkpoint file will be readable by the new version of ecflow.

However occasionally this may not always be possible. (i.e. if there has been large internal re-factoring). On these occasions we can use ecflow_client --migrate.

The simplest migration involves running:

ecflow_client --migrate > migrate.def # run on old server


migrate.def is like a normal definition file where the state is encoded as comments.
Then run the following with the new client/server:

ecflow_client --load migrate.def # run on new server


This will load the file into the new server preserving all state information.

 If the backup servers functionality is used, then then backup servers should also be migrated at the same time.
The following notes provides more detail guidance on the migration process.
This assumes you are migrating half way through running some experiments,and want to continue where you left.

 Steps for Old server:

  • shut-down

    shutdown
    ecflow_client --shutdown
  • suspend all suites

    suspend
    CL="ecflow_client --port 3142 --host machineX"        
    for s in $($CL --suites); do $CL --suspend /$s; done
  • wait for active/submitted tasks to complete
  • halt the server:

    halt
    ecflow_client --halt
  • Use --migrate to dump state and structure to a file:

    migrate
    ecflow_client --migrate > all_suites.def
  • terminate server *or* leave server running but start new server on different machine to avoid port number clash.
  • remove checkpt and backup checkpt files, to prevent new server from loading them

     *Only* applicable if starting new server on same machine

 Steps for New server:

  • module load latest release

    Load latest ecflow
    > module load ecflow/5new
    > module load python3
  • start server 

    ecflow_start.sh
  • load the migration file:

    Load
    ecflow_client --load=all_suites.def
  • set server running:

    restart
     ecflow_client --restart
  • resume suspended suites:

    Resume
    CL="ecflow_client --port 3142 --host machineX"       
    for s in $($CL --suites); do $CL --resume=/$s; done

However the client/server/GUI between ecflow 4.x.x and ecflow 5.X.Y are not compatible.

Please see Switching between ecFlowUI version 4 and 5


The python api remains backward compatible.

Package Retirement

ecFlowview

The old GUI ecflowview will be retired. 

Trying to maintain two GUI's is to expensive.

ecflowview is MOTIF based, and many Linux distributions have dropped support for it.

QT4

Support for QT4 will be dropped.

Tying to maintain compatibility with QT4 and QT5 is too prohibitive. Some features like QTCharts are only available in QT5

Misc

ECF_NODE can no longer be used in script files(.ecf), it has been replaced with ECF_HOST


  • No labels