Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019 
<== Date ==> <== Thread ==>

Subject: RE: EPICS Application Package
From: "Engbretson, Mark S." <engbretson@aps.anl.gov>
To: 'EPICS Tech Talk' <tech-talk@aps.anl.gov>
Date: Fri, 12 Oct 2018 13:42:12 +0000

Aldditional - If you look in Area Detector, There is a script that Mark Rivers wrote (makeADPrebuilt) which zips up all the important directories (opi,db,bin,lib,dbd,etc) so that you get a rather small repository which you can deploy on similar hardware, and all you have to do is resolve the scripts or support files (in iocBoot) that may have hard encoded references. So if you have a single development location which builds for many platforms, a script such as this can make your deployment packages.

 

 

From: tech-talk-bounces@aps.anl.gov <tech-talk-bounces@aps.anl.gov> On Behalf Of Ralph Lange
Sent: Friday, October 12, 2018 2:38 AM
To: EPICS Tech Talk <tech-talk@aps.anl.gov>
Subject: Re: EPICS Application Package

 

Hi Vikram,

 

As so often, there are many solutions for packaging EPICS IOC applications.

 

Some institutes are building system packages (RPM or DEB depending on the distribution) of all EPICS and Driver modules (Asyn, Stream etc.). In such a context, an IOC application can also be packaged into an RPM/DEB that contains dependencies on the packages it needs to function. Installing the IOC application package on the production host will exactly pull all packages that it needs.

This approach needs a serious building and repository infrastructure, and package building has a steep learning curve. Only efficient for large installations.

 

Other institutes are using an NFS mounted repository of all applications and shared libraries and a database of versions of tested combinations of these, and load device support and EPICS modules dynamically from the startup script of the IOC. This also needs a careful design and serious building infrastructure in the background, but maybe requires less upfront work and learning compared to the first option.

 

Some installations have started experimenting with creating IOC applications as containers, e.g. using Docker. This increases robustness and portability, as all needed files and libraries are inside the container which can be run on any Docker server, with little further requirements on operating system and version of the host. Note that access to specific hardware is limited from inside a container, but applications that only need network access should work fine.

 

If your requirement really is "no EPICS installation necessary on target", the best simple and pretty robust option might be building your IOC application statically (and expanding all substitutions into db files on the host), then creating a tar of the (bin, dbd, db, iocBoot) directories. You should be able to unpack such a tar and run the IOC on any host that has the same operation system.

 

Change management (versioning and safe roll-back of your IOC applications) is a whole separate story.

 

Hope this helps,

~Ralph

 


References:
EPICS Application Package Vikram Bhagat via Tech-talk
Re: EPICS Application Package Ralph Lange

Navigate by Date:
Prev: Base R3.15.6 Released Ralph Lange
Next: Re: EPICS Application Package Bo Jakobsen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019 
Navigate by Thread:
Prev: Re: EPICS Application Package Ralph Lange
Next: Re: EPICS Application Package Bo Jakobsen
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  <20182019 
ANJ, 12 Oct 2018 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·