Skip to content

Ska3 prime Promotion Plan

Jean Connelly edited this page Mar 29, 2023 · 4 revisions
  1. Promote conda channel from test to flight
  2. Set a calendar reminder to remove archived version of ska3/flight (flight-2022.13)
  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 python 3.8 engarchive server to run out of ska3/flight on chimchim
  7. Fallback

Promote conda channel from test to flight

  • Pause cron jobs that rsync conda channels (jgonzale and aca users)
  • Move flight channel to flight-shiny, 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 ...
    
    at this point it is possible that some packages need to be copied by hand from flight-shiny 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-2022.13
    
  • As SOT user on chimchim or cheru, install a clean Miniconda into ska3/flight
    rsync ccosmos.cfa.harvard.edu:/proj/sot/ska/www/ASPECT_ICXC/ska3-conda/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  
    
  • As SOT user, copy condarc from /proj/sot/ska3/flight-2022.13:
    cp /proj/sot/ska3/flight-2022.13/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
    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-2022.13
    
  • 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-2022.13:

    cp /proj/sot/ska3/flight-2022.13/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
    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, manually install ska3 packages that are installed via Makefile:

    • arc: 4.7.2
    • attitude_error_mon: 0.1.0
    • jobwatch: 0.10.1
    • twiki-wg: 0.2.0
    • fss_check: 0.2.1
    • 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 promotion, realized that fss_check had an updated file in master - copied it over from the previous ska3/flight/share. After promotion, realized that twiki-wg had several needed changes in master, cut release 0.3.1 and installed. Realized kadi had a manually-installed task_schedule_validate.cfg. Copied that from previous share.

  • 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 2022.13 (using Python 3.8), this can be done easily on HEAD and GRETA with:

cd /proj/sot/ska3
mv flight flight-2023.1
mv flight-2023.13 flight
Clone this wiki locally