Testing and Release Procedures/Tools Cristina Aiftimiei (INFN-CNAF) Mario David (LIP)
SQA SQA definition –Main effort so far; no big changes expected from now on Base definition => D3.1 Last updates and enhancements => WP3 wiki – Procedures on 1) code contribution, 2) using external infrastructures, 3) issue tracking SQA monitoring –Where work is focused now –Report generation, dashboard deployment (as part of T3.3)
SQA definition: external infrastructures
SQA definition: code contributions Procedure in WP3 wiki: PT using INDIGO-DataCloud infrastructure – Workflow: designed around SQA fulfillment » master protected » working with pull requests PT using an external infrastructure – Workflow: code must be available in INDIGO-DataCloud GitHub organization » No specific procedure defined: forks, hooks,..
SQA: issue tracking GitHub will host all the INDIGO-DataCloud related development issues Easier to follow them up –EMT meetings, etc. Easier to categorize them –GitHub labels Easier to gather stats/metrics –MetricsGrimoire not support the whole set of external tools used by PTs
Monitor SQA: metrics work in progress Through metrics (T3.3 tools) –gathered from sources: GitHub repositories and issue tracker –MetricsGrimoire: fully deployed at IFCA, to be migrated to CERN Jenkins CI reports –stored in a Metrics DB figure out whether all of them can coexist in the same database –displayed in a dashboard VizGrimoire: partially deployed at IFCA (not all the products are there), to be migrated to CERN
Metrics Dashboard Tool: VizGrimoire Repository and issue tracking metrics. –Source: MetricsGrimoire –extended to display metrics from other sources. One page per PT will be available. ooi (Openstack OCCI Interface) dashboard
Monitor SQA: reports work in progress Producing SQA reports –per INDIGO-DataCloud product –containing at least metrics defined in WP3.1 deliverable
Software release and maintenance INDIGO-DataCloud RIA
Activities Software Maintenance & Support Coordination of corrective, adaptive, perfective and preventive maintenance activities Definition of Software Maintenance process - software preparation and transition activities. Problem Management process - analyze and document problems Change Management process - control code, configuration changes, retirement calendars The support to released software. WP3.2 WIKI Release Management define release plans and enforce the agreed software release policies to the software services and components delivered by WP4, WP5 and WP6 Publish release schedules manage project public repositories of artefacts - packages and/or images Continuous Integration -> integrating, building, and testing -> Integration Infrastructure (T3.3) Continuous Delivery -> deploying on the Testing Infrastructure (T3.3), performing both automated and manual user acceptance tests and getting feedback from the user communities (WP2). 10
Maintenance Ensure the efficient and transparent management of the maintenance process providing software problems analysis and resolutions Includes - INDIGO Releases definition, versioning Desc. of release task item in the Release Tracking System Release Tracking System ID, component name, due date, list of RfC (features,bugs), list of packages x OS., documentation, license, release notes release task state transition - DONE 11 INDIGO-DataCloud RIA
Change management (2) RfC Features and/or improvements Development tasks WP4 - =119http://bit.ly/indigo-wp4_tasks WP5 - = 35http://bit.ly/indigo-wp5_tasks WP6 - = 66http://bit.ly/indigo-wp6_tasks Bugs INDIGO-DC GitHub Dashboard 12 10/07/2016 INDIGO-DataCloud RIA
Support Organises Support for users – GGUS Escalation procedures 13 INDIGO-DataCloud RIA Ensures timely solution of tickets communication with developers (WP4,5,6) Provides statistics on ticket processing in relation to, eventual, SLA Activity Set-up GGUS SU – “INDIGO - DataCloud Catch-All”INDIGO - DataCloud Catch-All , Level of Support = Base (5 working days) Set-up indigo-support mailing-list - TODO - Define monitoring procedure according to the Technology_Provider_Corporate- level_UA_v1.0_Final.docxTechnology_Provider_Corporate- level_UA_v1.0_Final.docx
EMT & PTs What is the exact interface between developers (WP4,5,6) and the Release Manager? EMT In order to manage the release process, maintenance and support led by the release manager and composed by nominated experts of WP2, WP4, WP5, WP6, quality assurance and pilot services. Activities EMT ToR EMT ToR EMT mailing-list - EMT agendas & meetings EMT agendas & meetings PTs & components PTs & components Github & DockerHub – organization, teams, members GithubDockerHub 14 INDIGO-DataCloud RIA
Release Management 2 Major Project releases (month 16 & 24) components, available on a predefined set of platforms Volume available for repositories of packages DockerHub for containers 15 INDIGO-DataCloud RIA
Services for SQA and CI Public services Version Control System –28 members registered –grouping into teams (10 at the moment) –16 repos Github dashboard and issue tracker – dc/dashboardhttps://github.com/orgs/indigo- dc/dashboard Docker repository –10 members –1 repository 16
Services for SQA and CI WP3 hosted services jenkins-CI deployed at CERN The other elements following 17
Services continuity plan for migration and recovery The WP3.3 services for SQA and CI are deployed in the CERN cloud (Note that the services are now being implemented/deployed): Continuous Integration service: Jenkins-CI –jenkins.indigo-datacloud.eu Artifacts Repository –repo.indigo-datacloud.eu Code metrics services: MetricsGrimoire and VizGrimoire –metricg.indigo-datacloud.eu –vizg.indigo-datacloud.eu 18 More details are being discussed in the working document: 7bYrx1EVWwftaX458p6H70NRL7JOsIQYp8NCqk/edit#
Services continuity plan for migration and recovery These services need a backup or replica at another partner site: Partner sites –CERN is the master/active site where the services will be primarily exposed to Indigo. –CNAF is the slave/passive site hosting a replica/backup of the services Virtual Machines (light blue boxes in diagram) – There are 4 VM images with the services: jenkins, metricsg, vizg, repo –Snapshots will be produced and transferred between sites Storage/Data volumes (light red boxes in diagram) –/var/lib/jenkins: rsync of this directory between the master/active site and the slave/passive site. –MySQL (or MariaDB): A master/slave architecture. –The YUM and APT repositories: mirroring the repositories. Network and certificates –DNS alias –Certificate will contain DNS alias and real DNS dependent from the site More details are being discussed in the working document: 7bYrx1EVWwftaX458p6H70NRL7JOsIQYp8NCqk/edit# 19
Testing infrastructure WIKI: datacloud.eu/projects/wp3/wiki/Testing_infrastructure –Procedure to request resources for SW development from PTs –List of resources for Indigo components Gathers a list of resources that PTs use for their SW development –VO indigo: has been deployed by LIP, contains the information about the VO and VOMS server 20