Skip to content

Ska3 Speedy Promotion Plan

Jean Connelly edited this page Mar 18, 2024 · 7 revisions
  1. Promote conda channel from test to flight
  2. Set a calendar reminder to remove archived version of ska3/flight (flight-2023.10)
  3. /proj/sot/ska3/flight HEAD and GRETA deployment
  4. Update install directions for users wiki page
  5. Do a starcheck run test with SOT MP
  6. Update chimchim engarchive server to run out of ska3/flight on chimchim?
  7. Fallback

(Last year's promotion plan: Shiny promotion plan

Promote conda channel from test to flight

  • Pause cron jobs that rsync conda channels (jgonzale and aca users)
  • Move flight channel to flight-prime, create new flight channel, and promote. On HEAD as aca user:
    cd /proj/sot/ska/www/ASPECT/ska3-conda
    mv flight flight-shiny
    mkdir flight
    cd /proj/sot/ska/www/ASPECT_ICXC/ska3-conda
    mv flight flight-shiny
    mkdir flight
    source /proj/sot/ska3/flight/bin/ska_envs.[c]sh
    conda index flight
    skare3-promote ...
    conda index -p /proj/sot/ska/www/ASPECT/ska3-conda/test/patch_instructions.tar.bz2 flight
    
    at this point it is possible that some packages need to be copied by hand from flight-prime into flight.

GRETA deployment

  • Schedule downtime and notify users of ska3/flight on GRETA
  • Stop ska sync cron task by commenting out the line in the crontab.
  • As SOT user move /proj/sot/ska3/flight
    cd /proj/sot/ska3
    mv flight flight-2023.10
    
  • As SOT user on chimchim or cheru, install a clean Miniconda into ska3/flight
    bash Miniconda3-py311_24.1.2-0-Linux-x86_64.sh -b -p /proj/sot/ska3/flight  
    eval "$(/proj/sot/ska3/flight/bin/conda shell.bash hook)"
    
  • As SOT user, copy condarc from /proj/sot/ska3/flight-2023.10:
    cp /proj/sot/ska3/flight-2023.10/condarc /proj/sot/ska3/flight/
    
  • As SOT user, install the ska3 packages into the root environment, confirming that ska3-flight 2023.1 is installed by default
    #setenv PATH /proj/sot/ska3/flight/bin:$PATH
    eval "$(/proj/sot/ska3/flight/bin/conda shell.bash hook)"
    conda install ska3-flight ska3-perl
    
  • As SOT user, set up data link
    cd /proj/sot/ska3/flight
    ln -s /proj/sot/ska/data ./
    
  • Quick sanity check use cheta and matplotlib
    ipython --matplotlib
    from cheta import fetch
    dat = fetch.Msid('tephin', '2020:001', '2020:030')
    dat.plot()
    
  • Run post-install Ska integration tests (useful given the full install):
    cd ~/git/ska_testr 
    run_testr
    
  • As SOT user, install sync_ska_data_occ
  • Restart sync job

HEAD deployment

  • Schedule downtime and notify users of ska3/flight

  • Pause all cron jobs running out of ska3/flight as aca user

    touch /proj/sot/ska/data/task_schedule/master_heart_attack 
    
  • Pause Replan Central which has a heart attack override

    cd /proj/sot/ska/data/arc
    touch task_sched_heart_attack
    

    Note that we are still likely to get cron task warnings, as the cron tasks are going to be trying to run ska3/flight/skare which will be missing. I'm not actually sure that the heart attacks are going to help, but it seems more controlled.

  • As aca user, move ska3/flight

    cd /proj/sot/ska3
    mv flight flight-2023.10
    
  • As aca user, install a clean Miniconda into ska3/flight

    wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh
    bash Miniconda3-py310_23.1.0-1-Linux-x86_64.sh -b -p /proj/sot/ska3/flight
    eval "$(/proj/sot/ska3/flight/bin/conda shell.bash hook)"
    
  • As aca user, copy condarc from /proj/sot/ska3/flight-2023.10:

    cp /proj/sot/ska3/flight-2023.10/condarc /proj/sot/ska3/flight/
    
  • As aca user, install the ska3 packages into the root environment, confirming that ska3-flight 2023.1 is installed by default

    # setenv PATH /proj/sot/ska3/flight/bin:$PATH
    eval "$(/proj/sot/ska3/flight/bin/conda shell.bash hook)"
    conda install ska3-flight ska3-perl
    
  • As aca user, set up data and www links

    cd /proj/sot/ska3/flight
    ln -s /proj/sot/ska/data ./
    ln -s /proj/sot/ska/www ./
    
  • Quick sanity check use cheta and matplotlib

    ipython --matplotlib
    from cheta import fetch
    dat = fetch.Msid('tephin', '2020:001', '2020:030')
    dat.plot()
    
  • Run post-install Ska integration tests (useful given the full install; preferably run as an unprivileged user):

cd ~/git/ska_testr
run_testr
  • As aca user, update from non-fsds environment file:

    eval "$(/proj/sot/ska3/test/bin/conda shell.bash hook)"
    cd ~/git/skare3
    conda env update -f environment-non-fsds.yml 
    
  • As aca user, manually install ska3 packages that are installed via Makefile:

    • arc: 4.8.0
    • obc_rate_noise_plots: 0.1.0

    In each case get into the git repository, check out the indicated release, and and then install with make install as aca user after sourcing into /proj/sot/ska3/flight/bin/ska_envs.sh if needed (SKA must be /proj/sot/ska3/flight).

  • Restart cron jobs by removing the master heart attack and job heart attack files.

    rm /proj/sot/ska/data/task_schedule/master_heart_attack
    rm /proj/sot/ska/data/arc/task_sched_heart_attack
    
  • Notify community of all clear.

Fallback

In the unlikely event of requiring a fallback to the current flight version 2023.10 (using Python 3.10), this can be done easily on HEAD and GRETA with:

cd /proj/sot/ska3
mv flight flight-2024.1
mv flight-2023.10 flight
Clone this wiki locally