Upload
mona-lucas
View
15
Download
0
Embed Size (px)
DESCRIPTION
Configuration Management. Ernest Williams. OUTLINE. Introduction Scope Software Development and Deployment Standards CVS/Subversion + Relational Database System Monitoring/Maintenance EPICS IOC Software and Extensions. Introduction. - PowerPoint PPT Presentation
Citation preview
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
Configuration Management
Ernest Williams
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
OUTLINEIntroductionScopeSoftware Development and Deployment StandardsCVS/Subversion + Relational DatabaseSystem Monitoring/MaintenanceEPICS IOC Software and Extensions
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
IntroductionIn order to meet the reliability and availability requirements placed on the control system; a solid configuration management system is needed.Configuration management also supports the long term maintenance and security of control systems.Configuration management applies to:
HardwareSoftwareDocumentation (e.g. procedures and drawings)
Plan to hire a Database Software Architect and Engineer
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
SCOPEThe Focus in this talk is on Software Configuration Management
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
Software Configuration Management (Wiki-Pedia)Configuration identification - What code are we working with? Configuration control - Controlling the release of a product and its changes. Status accounting - Recording and reporting the status of components. Review - Ensuring completeness and consistency among components. Build management - Managing the process and tools used for builds. Process management - Ensuring adherence to the organization's development process. Environment management - Managing the software and hardware that host our system. Teamwork - Facilitate team interactions related to the process. Defect tracking - Making sure every defect has traceability back to the source
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
Software DevelopmentMulti-user Server/Workstation environment (e.g. linux)Software development standards/guidelines will provide some consistency and lead to code maintainability.Use common frameworks and software toolsCompiler/build environment must be kept in synch with production server.Test, test, test on development server
Build/Construct reusable test harness for software components.Use debugging tools: gdb, valgrind, purify, etc…Practice software version control using such as CVS or Subversion:.Development of shared IOC software modules such as EPICS IOC device/driver support should undergo small informal software design reviews.
Internal/External peer review)
Software Development
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
Software DeploymentSoftware Deployment
Multi-user Server/Workstation environment (e.g. linux)Strong software release procedures/standards.Production releases for deployment should be tagged and/or marked with a clear versioning scheme. The version and all dependencies could be captured in a relational database.Mark/Embed all shared libraries with some version string or tag.Create/Implement a reliable and sound “roll-back” scheme.Develop a deployment checklist (manual/automated)Test on the production side before turning over to operations
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
CVS/Subversion + Relational DatabaseWhat do we need to capture in an RDB?
Location of software documentationAuthor’s information
Email address, phone number, etc…Release/Version versus machine operating periodVersion numbers associated with an IOC but maintained with different versioning software or methods
Examples: FPGA code, LabView, MATLAB
A relational database can tie all of this together and produce useful reports.
We are planning to join the IRMIS Collaboration.
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
System Monitoring/MaintenanceConfiguration management also means keeping tabs on the status of what is running on our systems.
Is caRepeater running? Who is monitoring that? Does someone get paged if it is down?What about iocLogServer or some other important service that our software relies on?
Configuration management means bug tracking and resolution. What about patch management?
Investigating some options now.BugzillaMantisRequestTracker (RT)
Again, we should integrate this in with a relational database to help us monitor/maintain our systems
Ernest L. Williams Jr. FAC November 2008 [email protected] Systems Software Section
Concerns/IssuesMany disparate Database systems here at SLAC.Critical Database servers outside the control system network could reduce availability.Hardware configuration management requires a solid plan for developing/releasing drawings, firmware, etc…Need to hire Database Engineer/Architect