Vito Baggiolini CODO 10 Jan12 Mandate of CODO
Vito Baggiolini CO/DO 10 -Jan-12 Mandate of CO/DO section and Status/Outlook for Build tools
Background: Work as CO TEC • Improved CO Development / Release / Deployment Workflow – Purpose: Smooth upgrades of the Controls System • ACET project (Accelerator Controls Exploitation Tools) • Emerging discipline known as “Dev. Ops” – Bringing Development and (IT) Operations together – Improving the process as a whole Vito Baggiolini CO/DO 10 -Jan-12 – Better tools for operational support
Dev Ops Exploitation Development Dev Ops Vito Baggiolini CO/DO 10 -Jan-12 Quality assurance
Mandate • Support/promote SW engineering best practices to achieve smooth upgrades and operations Vito Baggiolini CO/DO 10 -Jan-12 • Provide tools for SW development, testing, release and deployment (Java and C/C++) • Provide and support operational Unix platforms • Provide better exploitation tools ACET project
DO section members Alastair Bland Mike Grosak Niall Stapley Donat Csikos Jeremy Nguyen Steen Jensen Vito Baggiolini Pavel Tarasenko Vito Baggiolini CO/DO 10 -Jan-12 Nicolas DMN
SW Development Tools for Java and C/C++ • “Individual” SW development tools – GCC, JDK, 3 rd party libraries – Eclipse IDE with pre-configured plugins • Issue tracking and configuration management tools – Atlassian tools (JIRA, Wikis, Fisheye, Crucible) – Maven (“Nexus”) Repository for binary artifacts – C/C++ build tool with dependency management => Jeremy – Java build tool as successor to Cmmnbuild • Testing and Quality Assurance tools – Continuous Integration server (Atlassian Bamboo) – Testbed for CO core components => Jeremy Vito Baggiolini CO/DO 10 -Jan-12 • Build/Release tools
Operational Unix platforms • Responsibilities: – Front-ends, backend servers, operational consoles – Lynx. OS and Linux – Migration away from Lynx. OS in LS 1 and LS 2 Vito Baggiolini CO/DO 10 -Jan-12 • Review of how things are currently done (during LS 1)
Better Exploitation Tools – Better diagnostic tools (first line diagnostics by nonexperts (OP) , more efficient interventions by CO experts) – “Early warning system” based on DIAMON – Centralized tracing; tracing analysis tools Vito Baggiolini CO/DO 10 -Jan-12 • ACET = Accelerator Controls Exploitation Tools (Project leader: Steen Jensen) • Motivation: Troubleshooting is difficult and often needs several CO experts • Areas of work:
SW Engineering Best Practices • Motivation: controls system must be stable, and upgrades (during tech stops) must be smooth • LMC 103: Steve Myers asked the CO group to make a proposal how the SW change control should be done • Working group headed by me to elaborate a proposal • Related tools to be supported by DO section Vito Baggiolini CO/DO 10 -Jan-12 – All operational software changes (including equipment groups) – Similar requests voiced in Evian Workshop (Dec 2011)
Build Tools for Java • Background: – Problems/missing functionality in cmmnbuild in 2009 – Too much maintenance work => use 3 rd party solution – Tedious management of 3 rd-party libraries – “Guinea pig” project C 2 MON (DIAMON-TIM collaboration) – Mixed experience trying to port existing CO/AP projects • Conclusion: – Maven is not the obvious choice, alternatives must be examined – But: we will use the Maven Repository (Nexus) Vito Baggiolini CO/DO 10 -Jan-12 • Project to provide successor of cmmnbuild (Niall) • Maven was “the obvious candidate”
• Industry standard (used also by other build tools) • Easy provision of 3 rd party libraries Vito Baggiolini CO/DO 10 -Jan-12 Maven Nexus Binary Repository
Plans • (Slowly) migrate from pcrops (cmmnbuild repository) to Maven Nexus • Provide interoperability cmmnbuild Nexus • Cmmnbuild tool successor – Study and try out Gradle as alternative to Maven – Eat our dogfood internally in CO this year • Large-scale migration of clients during LS 1 Vito Baggiolini CO/DO 10 -Jan-12 – Cmmnbuild can get 3 rd party binaries from Nexus – Binaries produced cmmnbuild are also copied to Nexus – pcrops remains the operational repository for 2012
- Slides: 12