CERN AI Config Management 16/07/15 AI for INFN visit2 Overview for INFN visit.

Slides:



Advertisements
Similar presentations
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Migrating Workloads From.
Advertisements

Update on Version Control Systems: GitLab, SVN, Git, Trac, CERNforge
Improving Software Quality with Continuous Integration
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Continuous Delivery Ajey Gore Head of Technology ThoughtWorks India.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Craig Berntson Chief Software Gardener Mojo Software Worx Branches and Merges are Bears, Oh My!
Tools and software process for the FLP prototype B. von Haller 9. June 2015 CERN.
Continuous Integration and Testing
AI project components: Facter and Hiera
Platform Upgrades As A Service Raj Nagarajan, Robert Enyedi.
Puppet with vSphere Workshop Install, configure and use Puppet on your laptop for vSphere DevOps Billy Lieberman August 1, 2015.
The Art and Zen of Managing Nagios with Puppet Michael Merideth - VictorOps
CERN IT Department CH-1211 Genève 23 Switzerland t Experiences running a production Puppet Ben Jones HEPiX Bologna Spring.
Configuration Management Evolution at CERN Gavin
Configuration Management with Cobbler and Puppet Kashif Mohammad University of Oxford.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES AI’s user access, OpenStack security groups and firewall.
1 PUPPET AND DSC. INTRODUCTION AND USAGE IN CONTINUOUS DELIVERY PROCESS. VIKTAR VEDMICH PAVEL PESETSKIY AUGUST 1, 2015.
PuppetConf 2012 San Francisco - trip report. Agenda What is puppetconf? Puppet Community Direction of puppetlabs Awesome talks Conclusions & questions.
CERN IT Department CH-1211 Geneva 23 Switzerland t CF Computing Facilities Agile Infrastructure Monitoring CERN IT/CF.
CERN IT Department CH-1211 Genève 23 Switzerland t IT Configuration Activities Gavin McCance Online Cross-experiment Meeting, 14 June 2012.
Optimal Pipeline Using Perforce, Jenkins & Puppet Nitin Pathak Works on
1 CERN IT Department CH-1211 Genève 23 Switzerland t Puppet in the CERN CC Tomas Karasek Steve Traylen Oct
Configuration Report 12/02/2015
Infrastructure as code. “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal.
Tim Bell 04/07/2013 Intel Openlab Briefing2.
Configuration Report (nearly) Christmas Edition
Scaling the CERN OpenStack cloud Stefano Zilli On behalf of CERN Cloud Infrastructure Team 2.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES Development Workflow of the Configuration Management.
Build and Deployment Process Understand NCI’s DevOps and continuous integration requirements Understand NCI’s build and distribution requirements.
Computing Facilities CERN IT Department CH-1211 Geneva 23 Switzerland t CF Alarming with GNI VOC WG meeting 12 th September.
CERN IT Department CH-1211 Genève 23 Switzerland t Migration from ELFMs to Agile Infrastructure CERN, IT Department.
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES AI Images, flavours and partitions Vítor Gouveia,
Infrastructure as Code In real life Mantas Klasavičius.
Cisco Consulting Services for Application-Centric Cloud Your Company Needs Fast IT Cisco Application-Centric Cloud Can Help.
Parasoft : Improving Productivity in IT Organizations David McCaw.
TICKETMASTER CULTURE EATS STRATEGY FOR
Cloud Installation & Configuration Management. Outline  Definitions  Tools, “Comparison”  References.
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES Agile Infrastructure Project Overview : Status and.
Software collaboration tools as a stack of services Borja Aparicio Cotarelo IT-PES-IS 2HEPiX Fall 2015 Workshop.
Configuration Services at CERN HEPiX fall Ben Jones, HEPiX Fall 2014.
Avoiding the Pitfalls of Database Change Automation Cindy Bean Sr. Software Consultant DBmaestro SQLSaturday #514 – Houston, May 14, 2016.
Testing and Release Procedures/Tools Cristina Aiftimiei (INFN-CNAF) Mario David (LIP)
Platform & Engineering Services CERN IT Department CH-1211 Geneva 23 Switzerland t PES GIT Service in the Agile Infrastructure Project Vítor.
Configuration Management, Continuous Integration, Continuous Delivery Revealed.
Renewal of Puppet for Australia-ATLAS
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
@ Bucharest DevOps Hacker Meetup
Smart Cities and Communities and Social Innovation
AI How to: System Update and Additional Software
IT Services Katarzyna Dziedziniewicz-Wojcik IT-DB.
Bootstrap / Getting Started Using Puppet Deployment
How to open source your Puppet configuration
Continuous Integration (CI)
Open Source distributed document DB for an enterprise
Dmytro Mykhailov How HashiCorp platform tools can make the difference in development and deployment Target and goal of HashiCorp.
DevOps Deep Dive DevOps Deep Dive What you will learn
Beijing S3P test strategy Eric Debeau, Sylvain Desbureaux, Morgan Richomme December 12, 2017.
02 | Hosting Services in Windows Azure
Scaling Puppet and Foreman for HPC
Is your deployment in pants-down mode?
Simplified Development Toolkit
Configuration Management at its peak with
CI/CD Workflow and Event Pages
HCL’s Viewpoint – DevOps on MS Cloud
OpenStack Summit Berlin – November 14, 2018
Presentation transcript:

CERN AI Config Management 16/07/15 AI for INFN visit2 Overview for INFN visit

Agenda Tools and approach Foreman What we use, what we don’t What we like, what we don’t Virtual v bare metal Puppet Who uses it What do we configure Scaling infrastructure Development & change management 16/07/15 AI for INFN visit3

Tools & Approach We wanted “industry leading” config management tool, and a dashboard Puppet v Chef at time, Puppet won for us Foreman looked better than puppet dashboard and did some “extra” things we wanted Puppet ecosystem as much as possible puppetdb, mcollective, hiera Problems have more or less been solved upstream external datastore (hiera), openstack modules, performance, puppetdb database issues Some plumbing (mainly around security for multi- admin environment) 16/07/15 AI for INFN visit4

Foreman What we use: kickstart generation BMC proxy hostgroup membership environment membership parameters (some, not many) report visualization / dashboard general inventory permissions… kinda 16/07/15 AI for INFN visit5

Foreman What we don’t use PXE / DHCP management module inclusion managing virtual stuff very limited use of it as an ENC 16/07/15 AI for INFN visit6

Foreman What we like visualisation kickstart stuff is ok hostgroup concept is good for us What we don’t like permissions model single point of failure some features better implemented in actual puppet speed of fixing bugs 16/07/15 AI for INFN visit7

Puppet Who uses it Core IT services Cloud Storage Batch Windows (sort’ve) “VOBoxes” What do we configure Pretty much whole stack Some issues with yum v puppet & deployments 16/07/15 AI for INFN visit8

Scaling Infrastructure Most of infrastructure is horizontally scalable puppet masters & foreman presentation nodes Some exceptions foreman’s mysql puppetdb (though this is being addressed) Some challenges Either shared storage for the puppet masters or keeping them in sync 16/07/15 AI for INFN visit9

Simple Puppet Infrastructure 16/07/15 AI for INFN visit10

Problems with original infra Spikes in puppet compilation times make for unhappy users Most automatic puppet runs do nothing, whilst people manually running puppet expect something to happen, and quickly Large foreman reports could overload nodes, impacting UI or ENC 16/07/15 AI for INFN visit11

Puppet Infrastructure split by traffic type 16/07/15 AI for INFN visit12

Original Dev practices too simple Puppet modules are a tree on masters, so initial plan was to treat them as single project One git repo, branches of “production” (master) and “dev” map to puppet environments Can’t merge dev -> prod without freezing Used cherry-pick to promote changes 16/07/15 AI for INFN visit13

Easy cherry-pick 16/07/15 AI for INFN visit14

Not so easy 16/07/15 AI for INFN visit15

Now: modules are repos Each module is its own repository Hostgroup / Module split for services / reusable code Means that Service Managers and Module Maintainers can move at own pace the technical challenge was to create the single tree of puppet manifests for the puppet masters We’d hoped that puppet-librarian would do this 16/07/15 AI for INFN visit16

jens In the end we had to write our own librarian Puppet environments are collections of module / hostgroup branches “Golden” environments: “production”, “qa”, and user configurable environments 16/07/15 AI for INFN visit17 $ cat production.yaml --- default: master notifications: puppet-admins $ cat ostest.yaml --- default: master notifications: os-tweakers overrides: hostgroups: grizzly: ostest modules: openstack: ostest

Open sourcing Jens Jens is available in GitHub since December Tailored for CERN’s needs but adaptable to other organizations/companies Particularly, for those running different services under the same puppet infrastructure 16/07/15 AI for INFN visit18

Infrastructure is code Each module and hostgroup is a git repository, but it drives configuration It’s code, treat it like code, run it like a software project A running service is configured by many modules, with different groups developing them Need to manage risk and throughput Throughput and stability isn’t a 0-sum game 16/07/15 AI for INFN visit19

Strong QA process Mandatory process for “shared” modules recommended for non-shared module maintainers expected to maintain QA & master branches service managers expected to help with QA node coverage changes are QA’d for >= 1 week anyone can press the “stop” button. 16/07/15 AI for INFN visit20

QA process 16/07/15 AI for INFN visit21 Currently enforced only by convention and visibility Emergency workflow possible, with more visibility

Continuous delivery 16/07/15 AI for INFN visit22

Continuous delivery Continuous tests running against different configuration items Help to release changes fast and with confidence A test in red means Jenkins couldn’t build a working VM 16/07/15 AI for INFN visit23

Using CI for releasing changes Releasing a change simply consists in announcing it via a JIRA ticket 1. Jenkins will automatically test it and merge to QA if successful 2. A week after, will run tests again and merge to Production 16/07/15 AI for INFN visit24