Refactoring Puppet 1
|
|
- Ada Underwood
- 5 years ago
- Views:
Transcription
1 Refactoring Puppet 1
2 HAS THIS HAPPENED TO YOU? 2
3 3
4 Rockin It! 3
5 4
6 5
7 WIDGET 3000! 5
8 WIDGET 3000! Amazing! 5
9 Features! WIDGET 3000! Amazing! 5
10 Features! WIDGET 3000! Amazing! Social! 5
11 Features! WIDGET 3000! Amazing! Scale! Social! 5
12 6
13 7
14 7
15 8
16 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 9
17 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 9
18 10
19 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 11
20 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 11
21 12
22 12
23 James 13
24 14
25 Why Refactor? 15
26 Why Fix your car? 16
27 Why Go To The Doctor? 17
28 Why Drink Beer!? 18
29 Why Refactor? 19
30 Why Refactor? 19
31 Improve Readability Why Refactor? 19
32 Improve Readability Why Reduce Bugs Refactor? 19
33 Improve Readability Why Reduce Bugs Refactor? Improve Velocity 19
34 Improve Readability Why Reduce Bugs Refactor? Improve Velocity 19
35 JUST DO IT 20
36 21
37 Code Reuse 21
38 Code Reuse Isolate Change 21
39 Iteration 22
40 23
41 SHIP IT 24
42 25
43 26
44 Abstract 26
45 Abstract Refactor as you go 26
46 Abstract Refactor as you go Refactor Refactors 26
47 27
48 Level 1: Hand Edited 28
49 Level 2: Central Location 29
50 Level 3: Configuration Management 30
51 Level 4: Templates 31
52 Level 5: Data Driven 32
53 Tools 33
54 rspecpuppet 34
55 @rodjek 35
56 I HATE I LOVE TESTS 36
57 $ puppet module \ generate jfryman-octokittens Generating module at.. jfryman-octokittens/spec/spec_helper.rb jfryman-octokittens/tests/init.pp 37
58 $ puppet module \ Tests Here generate jfryman-octokittens Generating module at.. jfryman-octokittens/spec/spec_helper.rb jfryman-octokittens/tests/init.pp 37
59 describe 'logrotate::rule' do let(:title) { 'nginx' } it { should include_class('logrotate::setup') } it do should contain_file('/etc/logrotate.d/ nginx').with({ 'ensure' => 'present', 'owner' => 'root', 'group' => 'root', 'mode' => '0444', }) end end 38
60 Write Negative Tests 39
61 describe 'logrotate::rule' do let(:title) { 'nginx' } let(:parameters) {{ :enabled => false }} it { should_not include_class('logrotate::setup') it do should contain_file('/etc/logrotate.d/ nginx').with({ 'ensure' => 'absent', }) end end 40
62 Test Flow Control 41
63 if $::datacenter =~ /ec2/ { $apt_repository = } else { $apt_repository = } file { /etc/apt/sources.list.d/100basho.list : content => deb $apt_repository $::lsbdistcodename main, } 42
64 internal_package_server = external_package_server = context 'on internal nodes' do it 'should contain basho package repo' do should contain_file('/etc/apt/sources.list.d/ 100basho.list').with_content(internal_package_server) end end context 'on external nodes' do it 'should contain basho package repo' do should contain_file('/etc/apt/sources.list.d/ 100basho.list').with_content(external_package_server) end end 43
65 vagrant 44
66 @mitchellh 45
67 46
68 46
69 Code Smells 47
70 DRY 48
71 Extract Move 49
72 java -jar simian jar \ -threshold=2 \ ~/puppet/**/*.erb \ ~/puppet/**/*.rb \ ~/puppet/**/*.pp Found duplicate lines in 7696 blocks in 1340 files 50
73 Common 51
74 Common 51
75 Common 51
76 Duplicated Logic Common 51
77 Duplicated Logic Duplicated Config Common 51
78 Duplicated Logic Duplicated Config Common Duplicated Tests 51
79 $monitor = $rails_env? { 'production' => true, 'staging' => true, default => false } # module/lib/facter/should_monitor.rb... case Facter.value( rails_env ) when production, staging true else false end... Extract52
80 # foo/manifests/init.pp class foo($ssl=true) { file { /etc/foo.conf : content => template( foo/foo.conf.erb ), monitor => should_monitor(), } } if should_monitor() { }... Extract53
81 # foo/manifests/init.pp class foo($ssl=true) { file { /etc/foo.conf : content => template( foo/foo.conf.erb ), monitor => should_monitor(), } } if should_monitor() {... } WAT?! THAT S READABLE Extract53
82 # foo/manifests/init.pp class foo($ssl=true) { file { /etc/foo.conf : content => template( foo/foo.conf.erb ), monitor => should_monitor(), } } if $rnx_prb_alpha() { }... Extract54
83 # foo/manifests/init.pp class foo($ssl=true) { file { /etc/foo.conf : content => template( foo/foo.conf.erb ), monitor => should_monitor(), } } if $rnx_prb_alpha() { }... Extract54
84 # foo/manifests/init.pp class foo($ssl=true) { file { /etc/foo.conf : content => template( foo/foo.conf.erb ), monitor => $::should_monitor, } } if $::should_monitor { }... 55
85 DRY Partials with Templates 56
86 # foo/manifests/init.pp class foo($ssl=true) { } file { /etc/foo.conf : } content => template( foo/foo.conf.erb ), # foo/templates/foo.conf.erb <% -%> <%= scope.function_template( foo/ssl.conf.erb ) %> <% end -%> 57
87 MVC Move58
88 Move59
89 class ntp ( $options = $ntp::params::defaults, ) inherits ntp::params { class { 'ntp::package': options => $options, } -> class { 'ntp::config': options => $options, } ~> class { 'ntp::service': options => $options, } -> Class[ ntp ] } Move60
90 class ntp::params { $defaults = { package => { version => latest, }, config => { servers => [ pool.ntp.org ], }, } } Move61
91 class ntp::params { $defaults = { package => { version => hiera( ntp_package_version ), }, config => { servers => hiera( ntp_servers ), }, } } Move62
92 Modularize 63
93 DRY Long Classes 64
94 require => Class[ ntp ] Extract require => File[ /etc/ntp.conf ] Move 65
95 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 66
96 err: Could not apply complete catalog: Found 1 dependency cycle: (Exec[apt-update] => Package[lvm2] => Class[Lvm::Setup] => Stage[stage3] => Stage[main] => Class[Main] => Exec[apt-update]) 66
97 Manifest Task Purpose 67
98 Organize By Function Extract Move 68
99 Organize By Function Extract Move 68
100 Organize By Function Extract Move 68
101 Share 69
102 exec { wget awesome file : command => wget -O /tmp/file.txt YHs6eg, creates => /tmp/file.txt, } Extract Move70
103 # modules/wget/manifests/download.pp define wget::download ( $source = undef, $dest = $name, ) } include wget exec { wget download ${name} : command => wget -O ${dest} ${source} creates => $dest, } Extract Move71
104 wget::download { /tmp/file.txt : source => } Extract Move72
105 Modularize Move73
106 74
107 75
108 frymanet.com nginx rails mysql common ruby admin package repos Move 76
109 Wrap Up 77
110 Why Refactor? 78
111 79
112 Improve Readability 79
113 Improve Readability Reduce Bugs 79
114 Improve Readability Reduce Bugs Improve Velocity 79
115 Improve Readability Reduce Bugs Improve Velocity 79
116 Level Up 80
117 @jfryman jamesfryman/freenode 81
118 fin 82
Configuration Management with Puppet. Introduction
Configuration Management with Puppet Introduction What is Puppet is a configuration management system is a programming language offers a Client/Server architecture has a huge community widely used in the
More informationShawn Plummer - SUNY Geneseo. Puppet: Introduction, Implementation, & Refactoring
Shawn Plummer - SUNY Geneseo Puppet: Introduction, Implementation, & Refactoring Geneseo Located in the historic village of Geneseo in the upstate Finger Lakes region, the State University of New York
More informationJames Turnbull
State of the Nation James Turnbull james@puppetlabs.com Where we were Puppet user mailing list membership was 3000 With about 600 messages a month The #puppet IRC channel averaged 400 people Puppet on
More informationPUPPET. Use at General Mills
PUPPET Use at General Mills Preface HP UX platform at GMI is 15+ years old Consolidated Superdome architecture today Moving enterprise apps to RHEL6 Oracle SAP BW/BI Warehouse Management Short migration
More informationTesting your puppet code
Libre Software Meeting 2013 July 10, 2013 1 2 Style and linting Catalogs 3 4 Homework sysadmin @ inuits open-source defender for 7+ years devops believer @roidelapluie on twitter/github Infrastructure
More informationOrchestration via. Patrick Pierson, Systems Engineer -
Orchestration via Foreman Patrick Pierson, Systems Engineer - http://patrickpierson.us What is Configuration Management? Configuration Management (CM) is a systems engineering process for establishing
More informationPUPPET MODULES: A HOLISTIC APPROACH
PUPPET MODULES: A HOLISTIC APPROACH PuppetCamp Geneva 2012 Alessandro Franceschi PUPPET @ LAB 42 2007 - Meet Puppet. Managed the Bank of Italy webfarm 2008 - First generation of Lab42 Puppet Modules 2009
More informationIT Automation with Puppet
IT Automation with Puppet Romain Tartière BSDCan 2018 University of Ottawa Ottawa, Canada June 9 th, 2018 Photo: Ollivier Robert Romain Tartière FreeBSD user since 2002 (I guess FreeBSD
More informationMotivations. Luigi De Russis. Why Ruby (on Rails)?
Motivations Luigi De Russis 2 Disclaimer YES course-specific value open mind NO general value extremism 3 4 Course requirements Goal and context 5 Goal design and implement a Social Network site 6 credits
More informationDeveloping and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering
Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service
More informationWe re all developers now
We re all developers now Adventures in Infrastructure as Code Julian Simpson, The Build Doctor Ltd Poll Poll Are you using Puppet or Chef? Poll Are you using Puppet or Chef? Do you hate Ruby on Rails Poll
More informationfpm-cookery Documentation
fpm-cookery Documentation Release 0.33.0 Bernd Ahlers Jun 10, 2018 Contents 1 Features 3 2 Documentation Contents 5 2.1 Getting Started.............................................. 5 2.2 Using Hiera................................................
More informationApplication Deployment. Softwaretechnik II 2012/13 Thomas Kowark
Application Deployment Softwaretechnik II 2012/13 Thomas Kowark Outline 2 Options for Application Hosting Automating Environment Setup Deployment Scripting Application Monitoring Continuous Deployment
More informationiflame INSTITUTE OF TECHNOLOGY
Web Development Ruby On Rails Duration: 3.5 Month Course Overview Ruby On Rails 4.0 Training From Iflame Allows You To Build Full Featured, High Quality, Object Oriented Web Apps. Ruby On Rails Is A Full
More informationDevOps Course Content
DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model
More informationEXITING VACUUM INTEGRATING CONFIGURATION MANAGEMENT
EXITING VACUUM INTEGRATING CONFIGURATION MANAGEMENT Sascha Bates Opscode sascha bates blog.brattyredhead.com Twin Cities Infracoders Meetup @sascha_d The Ship Show Podcast credentials? In love with CM
More informationFabric Management using Open Source Tools
Fabric Management using Open Source Tools Jason A. Smith RHIC & ATLAS Computing Facility Brookhaven National Lab What is it? Basic Components: Provisioning Cobbler/Koan Asset Management FusionInventory
More informationBeing a puppet master
Being a puppet master More money, more time, more happiness, less work Thomas Merkel http://www.flickr.com/photos/serenaseblu/5062987760/ Agenda Overview Organize the master Modules Resources
More informationmatross Release SNAPSHOT
matross Release 0.1.0-SNAPSHOT June 01, 2014 Contents 1 Getting Started 3 1.1 What is matross?............................................. 3 1.2 Who is matross for?...........................................
More informationRed Hat Satellite 6.3
Red Hat Satellite 6.3 Puppet Guide A guide to building your own Puppet module and importing it into Satellite 6 Last Updated: 2018-06-15 Red Hat Satellite 6.3 Puppet Guide A guide to building your own
More informationComponents of a Puppet architecture
Components of a Puppet architecture This tutorial has been taken from the second edition of Extending Puppet. Until January 9th you can pick it up for just $5. In fact - you can pick up any ebook or video
More informationA power point by R Tyler Croy
A power point by R Tyler Croy Mr. Kanies 6 th Period GitHub Decentral High School 2014 http://tiny.cc/mrkaniesisthebest Who is Tyler! GitHub Decentral High Senior (GO CATS!) Member of the Ruby Pep Band
More informationSalt A Scalable Systems Management Solution for Datacenters
Salt A Scalable Systems Management Solution for Datacenters Open Source Data Center Conference April 26-28, 2016 Sebastian Meyer Linux Consultant & Trainer B1 Systems GmbH meyer@b1-systems.de B1 Systems
More informationRazor. Michal Bryxí Software Engineer Puppet Slides based on work from: David Lutterkort Principal Engineer Puppet
Razor Michal Bryxí Software Engineer Puppet Labs @MichalBryxi Slides based on work from: David Lutterkort Principal Engineer Puppet Labs @lutterkort Configuration management? Anyone? Razor in a nutshell
More informationPercona Live Europe Amsterdam, Netherlands October 3 5, 2016
Percona Live Europe 2016 Amsterdam, Netherlands October 3 5, 2016 Microservices, MySQL & Service Discovery Abbas Ahmed : Principal Database Engineer @ rentalcars.com Twitter: @solutionguy Who am I? Principal
More informationSCaLE Puppet Introduction. Puppet Assigns and Maintains a Machine s Desired Role
SCaLE Puppet Introduction Puppet Assigns and Maintains a Machine s Desired Role Managing Configuration Drift 1 of 24 2/23/10 7:41 PM Puppet Executables that we will employ: ralsh The Resource Abstraction
More informationUnit Testing J2EE from JRuby. Evan Light
Unit Testing J2EE from JRuby Evan Light http://evan.tiggerpalace.com Who I am Professional developer since 1996 Java since 1999 J2EE since 2000 Ruby since 2006 Some yutz with Keynote and a remote control
More informationAn Introduction to Puppet Enterprise
An Introduction to Puppet Enterprise Exercise & Lab Guide Puppet Education www.puppetlabs.com/education 2013 Puppet Labs 2013 Puppet Labs Lab 3.1: Pre-installation Objective: Assign a hostname to your
More informationManaged So*ware Installa1on with Munki
Managed So*ware Installa1on with Munki Jon Rhoades St Vincent s Ins1tute & University of Melbourne jrhoades@svi.edu.au Managed Installa1on Why? What are we using now? Needs Installs Updates Apple Updates
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationJava Architectures A New Hope. Eberhard Wolff
Java Architectures A New Hope Eberhard Wolff http://ewolff.com What happens with a talk titled like this? Architecture of Enterprise Java Apps How can I implement a new feature??? ! ECommerce System
More informationPuppet. Configuring your systems so you don't have to... Frank Sweetser Senior Network Engineer WPI Network Operations and Security
Puppet Configuring your systems so you don't have to... Frank Sweetser Senior Network Engineer WPI Network Operations and Security Installation Typical System Lifecycle Typical System Lifecycle Installation
More informationVMware vfabric Application Director Catalog Services
VMware vfabric Application Director Catalog Services vfabric Application Director 1.0 This document supports the version of each product listed and supports all subsequent versions until the document is
More informationEverything as a Cookbook. service-oriented thinking for your code
Everything as a Cookbook service-oriented thinking for your code Who is this guy? Tom Duffield Consulting Engineer with Chef tom@getchef.com @tomduffield tduffield tomduffield.com Good Practices Everyone
More informationthe gamedesigninitiative at cornell university Lecture 12 Architecture Design
Lecture 12 Take Away for Today What should lead programmer do? How do CRC cards aid software design? What goes on each card? How do you lay m out? What properties should y have? How do activity diagrams
More informationINHERITANCE WITH JAVA INTERFACES
MODULE 6 INHERITANCE WITH JAVA INTERFACES Objectives > After completing this lesson, you should be able to do the following: Model business problems by using interfaces Define a Java interface Choose between
More informationRedChamps - Quality Magento Extensions ( redchamps.com )
Overview If you are a store owner and have some products which are going to be added to your store in few coming days then you are at the right place! We have developed this extension to set such products
More informationAutomating MySQL operations with Puppet. Kris Buytaert &
Automating MySQL operations with Puppet Kris Buytaert & Julien Pivotto @krisbuytaert @roidelapluie Kris Buytaert I used to be a Dev, Then Became an Op Chief Trolling Officer and Open Source Consultant
More informationDevOps and Microservices. Cristian Klein
DevOps and Microservices Cristian Klein Agenda Mo*va*on DevOps: Defini*on, Concepts Star as Code DevOps: Caveats Microservices 2017-05-11 DevOps and Microservices 2 Why DevOps from 50,000 feat 2017-05-11
More informationRuby on Rails. SITC Workshop Series American University of Nigeria FALL 2017
Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction
More informationCHECKOUT CUSTOM FIELD FOR MAGENTO 2
1 User Guide Checkout Custom Field for Magento 2 CHECKOUT CUSTOM FIELD FOR MAGENTO 2 USER GUIDE BSSCOMMERCE 1 2 User Guide Checkout Custom Field for Magento 2 Contents 1. Checkout Custom Field for Magento
More informationDEVOPS COURSE CONTENT
LINUX Basics: Unix and linux difference Linux File system structure Basic linux/unix commands Changing file permissions and ownership Types of links soft and hard link Filter commands Simple filter and
More informationA guide to building your own Puppet module and importing it into Satellite 6 Edition 1
Red Hat Satellite 6.1 Puppet Guide A guide to building your own Puppet module and importing it into Satellite 6 Edition 1 Last Updated: 2018-01-29 Red Hat Satellite 6.1 Puppet Guide A guide to building
More informationRefactoring 101. By: Adam Culp
By: Adam Culp Twitter: @adamculp https://joind.in/14927 2 About me PHP 5.3 Certified Consultant at Zend Technologies Organizer SoFloPHP (South Florida) Organized SunshinePHP (Miami) Long distance (ultra)
More informationA guide to building your own Puppet module and importing it into Satellite 6 Edition 1. Red Hat Satellite Documentation Team
Red Hat Satellite 6.1 Puppet Guide A guide to building your own Puppet module and importing it into Satellite 6 Edition 1 Red Hat Satellite Documentation Team Red Hat Satellite 6.1 Puppet Guide A guide
More informationWorking with the Seagull Framework. By Demian Turner, Seagull Systems
Working with the Seagull Framework By Demian Turner, Seagull Systems seagullproject.org Who is Demian Turner? Developing websites since 1996, using PHP since 1999 Committer on several open source projects:
More informationRed Hat Satellite 6.2
Red Hat Satellite 6.2 Puppet Guide A guide to building your own Puppet module and importing it into Satellite 6 Last Updated: 2018-03-08 Red Hat Satellite 6.2 Puppet Guide A guide to building your own
More informationdbdeployer the future of MySQL sandboxes Giuseppe Maxia Software explorer
dbdeployer the future of MySQL sandboxes Giuseppe Maxia Software explorer About me Who's this guy? Giuseppe Maxia, a.k.a. "The Data Charmer" Software Explorer at VMware Several decades development and
More informationDevOps Technologies. for Deployment
DevOps Technologies for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in several ways. In its most
More information<Insert Picture Here> Hudson Web Architecture. Winston Prakash. Click to edit Master subtitle style
Hudson Web Architecture Click to edit Master subtitle style Winston Prakash Hudson Plugin Architecture Hudson is an extendable Web Application. The basic platform is extended via
More informationLess talk, more rock. Puppet
Less talk, more rock Puppet ALM Connect 2013 deepak giridharagopal deepak@puppetlabs.com @grim_radical [github twitter freenode] Let s talk about... Immutability is great! Classes should be immutable
More informationAutomation through Chef Opscode
Automation through Chef Opscode A Hands-on Approach to Chef Navin Sabharwal Manak Wadhwa Apress" Contents J About the Authors About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi
More informationMagento Recycle Bin. Overview & User guide. Version 1.2. Copyright CRM4Ecommerce.COM
Magento Recycle Bin Overview & User guide Copyright CRM4Ecommerce.COM Address: 25 Kham Duc - Cho Kham Thien street, Dong Da, Hanoi, Vietnam Phone: +84 914 646 840 Email: support@crm4ecommerce.com Version
More informationDocker & Chef. Containers. Containers and Docker 8/4/14. Linux containers (LXC) Single operating system Multiple isolated, working configurations
Docker & Chef Containers Linux containers (LXC) Single operating system Multiple isolated, working configurations Containers and Docker Open-source engine for container management Docker registry for sharing
More informationERICH PRIMEHAMMER REFACTORING
ERICH KADERKA @ PRIMEHAMMER REFACTORING WHAT IS REFACTORING? Martin Fowler: Refactoring is a controlled technique for improving the design of an existing code base. Its essence is applying a series of
More informationOn a Ubuntu system which was updated today to facter (diretly via apt.puppetlabs.com) I also see exactly the same error.
Facter - Bug #17383 Could not retrieve local facts: undefined method `kernel_fact_value' for Facter::Util::Processor:Module 11/01/2012 11:31 pm - Anand Kumria Status: Re-opened Start date: Priority: Normal
More informationSDDC Certificate Tool User Guide
SDDC Certificate Tool User Guide Table of Contents Summary... 3 System Requirements... 3 Instructions... 3 Installation... 3 Workflows... 4 Configuration File... 4 Sample JSON... 5 Configuration File Samples...
More informationBASIC CONCEPT OF OOP
Chapter-6 BASIC CONCEPT OF OOP Introduction: Object oriented programmingg is the principle of design and development of programs using modular approach. Object oriented programmingg approach provides advantages
More informationUnit 6 - Software Design and Development LESSON 7 CODE STRUCTURES
Unit 6 - Software Design and Development LESSON 7 CODE STRUCTURES Previously Key features of programming languages Software Development Lifecycle Design models Iterative Prototyping Agile ASD, FDD, DSDM,
More informationChef. Saving Time (and Money) With Automated Provisioning Trotter Cashion Hoopla Software
Chef Saving Time (and Money) With Automated Provisioning Trotter Cashion Hoopla Software About Me @cashion http://github.com/trotter Where I've Been Eastmedia (2006) Motionbox (2006-2009) Algorithmics
More informationIntro to Netflix Chaos Monkey
Agenda Intros Name, Company, interest in cloud computing / security, how did you find out about this MeetUp Netflix Chaos Monkey Forming a CSA Chapter Next Meeting Intro to Netflix Chaos Monkey What is
More informationKeeping Rails on the Tracks
Keeping Rails on the Tracks Mikel Lindsaar @raasdnil lindsaar.net Working in Rails & Ruby for 5+ Years http://lindsaar.net/ http://stillalive.com/ http://rubyx.com/ On the Rails? What do I mean by on the
More informationPuppet - Bug #11339 Class ordering bug?
Puppet - Bug #11339 Class ordering bug? 12/12/2011 08:56 am - Justin Honold Status: Closed Start date: 12/12/2011 Priority: Normal Due date: Assignee: % Done: 0% Category: language Estimated time: 0.00
More informationArgus Vulnerability Assessment *1
Argus Vulnerability Assessment *1 Manuel Brugnoli and Elisa Heymann Universitat Autònoma de Barcelona June, 2011 Introduction Argus is the glite Authorization Service. It is intended to provide consistent
More informationA few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through
A few more things about Agile and SE Could help in interviews, but don t try to bluff your way through 1 Refactoring How to do it, where it fits in http://www.cse.ohio-state.edu/~crawfis/cse3902/index.htm
More informationRecursive inventory management
Recursive inventory management Martin F. Krafft madduck@debian.org 13 Aug 2013 @ DebConf 13, Vaumarcus, Switzerland Configuration management (system administration) Configuration management CFEngine bcfg2
More informationPrinciples of Computer Game Design and Implementation. Lecture 3
Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,
More informationSoftware Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis
Software Quality in a Modern Development Team Presented by Timothy Bauguess and Marty Lewis High-Quality Software Who benefits? End users Development Stakeholders Components of Software Quality Structural
More informationChef. cd ~/scripts && find. -type f -name "*.sh" -exec rm -rf {} \; Wednesday, November 21, 12
Chef cd ~/scripts && find. -type f -name "*.sh" -exec rm -rf {} \; You ve got a cloud. Now what? Problems What lots of people do now Manual Often error prone Slow Time Consuming Process Heavy I know, I
More informationSometimes Tools Matter. John E. Vincent DevOpsDays Goteborg 2011
Sometimes Tools Matter John E. Vincent DevOpsDays Goteborg 2011 We all know about DevOps We all know about DevOps I R DEV! I R OPS! So what's the big deal? With XXXXX you are be able to do easily common
More informationFreeMarker in Spring Web. Marin Kalapać
FreeMarker in Spring Web Marin Kalapać Agenda Spring MVC view resolving in general FreeMarker what is it and basics Configure Spring MVC to use Freemarker as view engine instead of jsp Commonly used components
More informationAUTOMATION AT THE NETWORK LAYER. Rick Shermdog Sherman and Scott Garman Puppet Labs
AUTOMATION AT THE NETWORK LAYER Rick Shermdog Sherman and Scott Garman Puppet Labs Brief Intro to Puppet Puppet is a configuration management and application orchestration tool Automate IT deployments
More informationIP SLAs Multicast Support
This module describes how to configure and schedule an IP Service Level Agreements (SLAs) multicast UDP jitter operation for measuring and reporting statistics such as one way latency, jitter, and packet
More informationBoldface numbers indicate illustrations, code listings, and tables.
Index Boldface numbers indicate illustrations, code listings, and tables. A ActiveRecord, class in Ruby, 80-82, 84, 86, 88, 90 ActiveXMLService, class in Ruby, 80-82, 84, 90 Agile development, 109-110
More informationAbout the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears
About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are
More informationPipeline as Code for your IAC. Kris
Pipeline as Code for your IAC Kris Buytaert @krisbuytaert Kris Buytaert I used to be a Dev, Then Became an Op Chief Trolling Officer and Open Source Consultant @inuits.eu Everything is an effing DNS Problem
More informationDesigning with patterns - Refactoring. What is Refactoring?
Designing with patterns - Refactoring Bottom up based application of patterns Improving the design after it has been written What is Refactoring? Two definitions, the object and act of change in software
More informationContents in Detail. Foreword by Xavier Noria
Contents in Detail Foreword by Xavier Noria Acknowledgments xv xvii Introduction xix Who This Book Is For................................................ xx Overview...xx Installation.... xxi Ruby, Rails,
More informationCan you upgrade to Puppet 4.x? PuppetCamp Düsseldorf Martin Alfke
Can you upgrade to Puppet 4.x? PuppetCamp Düsseldorf Martin Alfke About me Martin Alfke Berlin/Germany Freelancer / Trainer PuppetLabs Training Partner Puppet User Group Berlin
More informationPULLING STRINGS. Learn how to save time and streamline your system administration with the help of Puppet, a centralized
Manipulating your machines with PULLING STRINGS Learn how to save time and streamline your system administration with the help of, a centralized configuration management tool. BY JULIET KEMP is a centralized
More informationCPW AutoGrader. CSCI 370 Field Session 2016 June 20, Client: Christopher Painter Wakefield
CPW AutoGrader CSCI 370 Field Session 2016 June 20, 2016 Client: Christopher Painter Wakefield Authors: Michael Bartlett Harry Krantz Eric Olson Chris Rice Caleb Willkomm Table of Contents Introduction
More informationTest Driven Development. Software Engineering, DVGC18 Faculty of Economic Sciences, Communication and IT Tobias Pulls and Eivind Nordby
Test Driven Development Faculty of Economic Sciences, Communication and IT 2010-09-03 Tobias Pulls and Principle Use Executable Specifications Test Driven Development (TDD) xunit Behaviour Driven Development
More informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Drupal
About the Tutorial is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. This reliable and secure CMS is built on PHP based environment
More informationPuppet at the center of everything.
Puppet at the center of everything http://www.rankpop.com/you-need-to-start-structuring-your-blog-posts-asap/ serverdensity.com/knockknock Server Density Architecture 100+ servers Ubuntu 12.04 50% Virtual
More informationWeb-Services in C++ Building fast, memory-efficient and maintainable web-services in C++ Maximilian Haupt MUC /06/30
Web-Services in C++ Building fast, memory-efficient and maintainable web-services in C++ Maximilian Haupt MUC++ 2016/06/30 Background Professional C/C++ developer since 2006 VR, Real-Time Audio, Game-Engine,
More informationWidget Toolkits CS MVC
Widget Toolkits 1 CS349 -- MVC Widget toolkits Also called widget libraries or GUI toolkits or GUI APIs Software bundled with a window manager, operating system, development language, hardware platform
More informationOpen2Test Test Automation Framework for Selenium Web Driver FAQ
Selenium Web Driver FAQ Version 3.1 March 2016 D I S C L A I M E R Verbatim copying and distribution of this entire article is permitted worldwide, without royalty, in any medium, provided this notice
More informationFrom Module To Objects
From Module To Objects It is very difficult to maintain a large monolithic block of code The solution is to divide the code into smaller pieces, called modules What is a Module? A small and manageable
More informationIslandora and Fedora 4; The Atonement v3: The Atonermenter
Islandora and Fedora 4; The Atonement v3: The Atonermenter Project history and background Fedora 4 Interest Group Thank you to our sponsors: Atonement One Repo to rule them all, One Repo to find them,
More informationRedChamps - Quality Magento Extensions ( redchamps.com )
Overview If you are a store owner and have some products which are going to be added to your store in few coming days then you are at the right place! We have developed this extension to set such products
More informationAn Introduction to the Puppet Ecosystem
An Introduction to the Puppet Ecosystem Trevor Vaughan - Onyx Point, Inc. License: Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0) 0 Onyx Point, Inc. Puppet Labs and Red Hat Partner Government Contracting
More informationStrategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap
Strategies for Rapid Web Prototyping Ruby on Rails Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler
More informationSoftware Development Project. Kazi Masudul Alam
Software Development Project Kazi Masudul Alam Course Objective Study Programming Best Practices Apply the knowledge to build a Small Software in Groups 7/10/2017 2 Programming Best Practices Code Formatting
More informationFrom Dev/Ops to devops
From Dev/Ops to devops Kris Buytaert Patrick Debois Kris.Buytaert@inuits.be @krisbuytaert http://krisbuytaert.be/blog Patrick.Debois@jedi.be @patrickdebois http://jedi.be/blog There was this great IT
More informationUP! TO DOCKER PAAS. Ming
UP! TO DOCKER PAAS Ming Jin(mjin@thoughtworks.com) March 15, 2015 1 WHO AM I Ming Jin Head of Cloud Solutions of ThoughtWorks China Architect, Agile Consulting Solutions and Consulting on DevOps & Cloud
More informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationIs OSGi Modularity Always Worth It? Glyn Normington
Is OSGi Modularity Always Worth It? Glyn Normington Agenda Costs and benefits Case studies When is OSGi worth it? OSGi Benefits Encapsulated module internals Easier to understand, maintain, and extend
More informationMicrosoft. Recertification for MCSD: Application Lifecycle Management
Microsoft 70-499 Recertification for MCSD: Application Lifecycle Management Download Full Version : http://killexams.com/pass4sure/exam-detail/70-499 QUESTION: 82 Your team uses Microsoft Visual Studio
More informationAn Empirical Study of Architectural Decay in Open-Source Software
An Empirical Study of Architectural Decay in Open-Source Software Duc M. Le Annual Research Review 4/2017 Center for Systems and Software Engineering Motivation Explicitly manifest as Issues Problems Implicitly
More informationCategory Dynamic Dependent Dropdown
User Guide Category Dynamic Dependent Dropdown Extension Version - 1.0.0 User Guide Version - 1.0.0 Magento Editions Compatibility Community - 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8,
More information