Code Monkey home page Code Monkey logo

profile_collection's People

Watchers

 avatar  avatar  avatar

profile_collection's Issues

Deployment 2021-1

Previsit

  • Make sure that the current latest environments are pushed to all the bl machines
  • Skim the IPython startup files in profile_collection
    • Check if it's safe to start bsui remotely (does it touch any hardware?) - use git grep .put or git grep caput
  • Check for outstanding PRs and issues on beamline repos
  • Check if beamline specific packages pushed to the BL machines
  • (Optional) Enable CI

Housekeeping

  • Add BL staff to the BL GitHub organization as owners
  • Work with BL staff to commit any un-committed changes to their profiles
  • Tag the profile as-found as 2019C3.x
  • Discuss with BL staff which conda envs they want to keep/delete and perform the cleanup
  • Check/update the beamline's inventory with the BL staff (in https://github.com/NSLS-II/playbooks/blob/master/production)

Test deployment

Deployment 2020-2.0 checklist

Previsit

  • Make sure that the current latest environments are pushed to all the bl machines
  • Skim the IPython startup files in profile_collection
  • Check if it's safe to start bsui remotely (does it touch any hardware?) - use git grep .put or git grep caput
  • Check for outstanding PRs and issues on beamline repos
  • Check if beamline specific packages pushed to the BL machines
  • (Optional) Enable CI

Housekeeping

  • Add BL staff to the BL GitHub organization as owners
  • Work with BL staff to commit any un-committed changes to their profiles
  • Tag the profile as-found as 2019C3.x
  • Discuss with BL staff which conda envs they want to keep/delete and perform the cleanup
  • Check/update the beamline's inventory with the BL staff (in https://github.com/NSLS-II/playbooks/blob/master/production)

Test deployment

Deployment 2021-1.0 checklist

Current collection workstations

Previsit

  • Enable Azure-Pipelines CI
  • Make sure that the current latest environments are pushed to all the bl machines
  • Skim the IPython startup files in profile_collection
    • Check if it's safe to start bsui remotely (does it touch any hardware?) - use git grep .put or git grep caput
  • Check for outstanding PRs and issues on beamline repos
  • Branch https://github.com/NSLS-II/playbooks for the purpose of updating the CMS current_env_tag in the production file (create new pull request for CMS)

Housekeeping

  • Update /opt/conda/.condarc and conda with ansible
    $ ansible-playbook -i production install-base-conda.yml --limit=CMS -kK -vvvv
  • Add BL staff to the BL GitHub organization as owners
  • Work with BL staff to commit any un-committed changes to their profiles
  • Tag the profile_collection repository as-found as 2020C2.1 and push to GitHub
    $ git tag 2020C2.1 -m "Before 2021C1.0 deployment"
    Note: tagged https://github.com/NSLS-II-CMS/profile_collection/releases/tag/2020C2.1 with the changes from #8 (that code in the PR branch was used during the previous cycle and was in fact their 'master'). The follow-up updates will be in a separate PR.
  • Discuss with BL staff which conda envs they want to keep/delete and perform the cleanup
  • Check/update the beamline's workstation inventory with the BL staff (in https://github.com/NSLS-II/playbooks/blob/master/production)
  • Ask beamline staff about the beamline unix group they want to use for bluesky logs. The members of the group can be checked with the following command:
    $ getent group <beamline-group>
    Add this group name to the collection vars in the inventory file (see this example).
  • In ~/.bashrc, if necessary, update the logging environment variables to use directory /var/log/bluesky/... and add umask 0002.
    umask u=rwx,g=rwx,o=rx  # 0002
    export BLUESKY_LOG_FILE=/var/log/bluesky/bluesky.log
    export BLUESKY_IPYTHON_LOG_FILE=/var/log/bluesky/bluesky_ipython.log
    and (if needed) create that directory with the following permissions and ownership:
    # sudo mkdir /var/log/bluesky
    # sudo chown -Rv xf11bm:<beamline-group> /var/log/bluesky
    # sudo chmod -Rv g+rws /var/log/bluesky
    Remember to source ~/.bashrc.
  • Remove explicit setting of ophyd logging level from the first startup script
  • Double-check that if there is an open PR removing handlers, it is merged (and tested).
  • Update vendored copy of PersistentDict to bug-fixed version (see the updated gist snippet: https://gist.github.com/jklynch/a4366b8900ec0c03883403455ae711b2).
  • Make sure all repos have the BSD-3-Clause licenses (see NSLS-II-SRX/profile_collection#16 as an example)

Test deployment

  • Run profile against new environment
    $ BS_ENV=collection-2021-1.0 bsui
    It may be necessary to disable jedi in ipython. Add this to the ipython command line arguments inbsui:
    --IPCompleter.use_jedi=False
  • Update the profile as needed to run
  • Test databroker v2
    from databroker import catalog
    cat = catalog['cms']
    cat[-1].primary.read()
  • Run acceptance tests (if any) and run a representative set of scans for the beamline

Finish

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.