1 / 12

Docker used for Tango Device Server Development at MaxIV

David Erb Vincent Hardion Áureo Freitas Emil Rosendahl Vasileios Martos MaxIV Laboratory, Lund, Sweden October 5, 2019. Docker used for Tango Device Server Development at MaxIV. Multiple use cases Recover cost to set it up Know which library versions Easy sharing.

jgauthier
Télécharger la présentation

Docker used for Tango Device Server Development at MaxIV

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. David Erb Vincent Hardion Áureo Freitas Emil Rosendahl Vasileios Martos MaxIV Laboratory, Lund, Sweden October 5, 2019 Docker used for Tango Device Server Development at MaxIV

  2. Multiple use cases Recover cost to set it up Know which library versions Easy sharing Why is this important? A good development environment is... • Flexible • Reusable • Stable • Distributed So that we can...

  3. Packages Operating system Environment variables Configuration files Docker image Docker Concepts • Build images • One service per image • Share images to registry • Run images in Containers • Containers share hard drive • Access shell in Container • Reset Containers anytime

  4. Device Server Tango Client Test Script MySql Tango Database Web Server Development on Docker Stack Developer's Computer docker stack Shell window Log Server Hard Drive Editor window Shell window X window Browser window

  5. Use Case: Python Device Server docker stack • Develop Device Server • Shared hard drive has source code • Database starts with minimal devices • Device server code edited on host MySql Tango Database Python Device Server

  6. Use Case: Detector Simulator docker stack • Eiger stream simulator • High data rate • Output to HDF5 • Output to Live View • Experiment with performance Eiger stream simulator Device Server 0mq HDF5 thumbnail writer HDF5 parallel raw writer 0mq Web Server Live View Log Server Browser window

  7. Use Case: C++ 32-bit docker stack • Develop on Windows 10, 64 bit • Deploy on Centos6, 32 bit • USB Piezo stage Tango Database Server MySql Tango Client Test Scripts (Python) Device Server Centos6 32 bit (C++) USB

  8. Use Case: Infrequent Bug docker stack • Bug takes hours or days to recur • Build a stack and run many clones of it • 8 on one computer • Increase chances ofcatching the bug MySql MySql MySql Tango Database Server Tango Database Server Tango Database Server … etc Sardana Sardana Sardana

  9. Use Case: Ansible Testing docker images Ansible playbooks • Ansible has logic • Real computers arenot pristine • Test steps toupgrade • Verify before push • Reset and try again Bare Centos 7 Bare Centos 7 Bare Centos 7 basic cs Bare Centos 6 custom testing Bare Debian update

  10. Using in GitLab CI/CD git commit • Use same images whichare used in development • Tests can be done with stacked servers Centos6 compile/test/rpmbuild Centos7 compile/test/ rpmbuild Centos7 Development packages i686.rpm x64.rpm

  11. To Do • Runtime parameters to make more reusable • Choosing a naming convention • Standardizing common base images • Testing the images and stacks • Documentation • Training

  12. Continuing the Conversation • A basic example for you to try https://gitlab.com/MaxIV/development-dockerfile-examples • Documentation ... please see the README.md • Soliciting suggestions for improvements • How may we collaborate?

More Related