Bitcoin has brought about a true revolution in how we think about money. In one fell stroke it solved the main problems that afflicted previous attempts at a truly digital currency: distributed consensus, double spending, and external attacks. Perhaps more importantly, it provided the first working version of a blockchain or distributed ledger. However, despite their relative simplicity, the underlying concepts on which these technologies are built are not well known and often obscured by hype and technical jargon.
Since the days of Bitcoin’s founding, many other crypto-currencies have been proposed and released. This tutorial will introduce these technologies in an intuitive way for data scientists, explaining their driving algorithms, motivations, and data structures.
Understanding the Single Thread Event LoopTorontoNodeJS
Node JS was built on Google's JavaScript V8 Engine and it was engineered to preform optimally for the web. Learn what Node JS's single thread event loop is and how it empowers Node to out preform its competitors.
Node mailer example how to send email using nodemailer with gmail & mailtrapKaty Slemon
In this blog We will learn how to send email using NodeMailer with the help of the NodeMailer example. We will build demo application from scratch and implement NodeMailer.
List of Jargons used in Java EE is Endless - JPA, JDBC, ORM, JNDI, EJB, JTA, DTO, VO, JAXB, JAX-RS, JAX-WS, AOP, Dependency Injection, Model 1 Architecture, Model 2 Architecture, Front Controller, Composite View, Intercepting Filter, Facade, Service Locator to name a few.
For a beginner, Java EE can be overwhelming. Objective of the course is to give a Big Picture of the Java EE. You will understand the Jargon, Specifications, Patterns used in Java EE. You will understand the basic architecture of a Java EE Application.
You will understand the evolution of Java EE Application Architecture:
Model 1 Architecture
Model 2 or MVC Architecture
Modified MVC Architecture using Front Controller
You will get an overview of Patterns used in the Java EE World - Grouped by the layer they are used in:
Front Controller
View Helper
Composite View
Context Object
Intercepting Filter
Domain Model
Facade
DTO/VO
DAO - Data Access Object
Service Activator
You will also be introduced to terminologies like JPA, JDBC, ORM, JNDI, EJB, JTA, DTO, VO, JAXB, JAX-RS, JAX-WS, AOP and Dependency Injection.
Get ready for a Roller Coaster Ride with Java EE.
Bitcoin has brought about a true revolution in how we think about money. In one fell stroke it solved the main problems that afflicted previous attempts at a truly digital currency: distributed consensus, double spending, and external attacks. Perhaps more importantly, it provided the first working version of a blockchain or distributed ledger. However, despite their relative simplicity, the underlying concepts on which these technologies are built are not well known and often obscured by hype and technical jargon.
Since the days of Bitcoin’s founding, many other crypto-currencies have been proposed and released. This tutorial will introduce these technologies in an intuitive way for data scientists, explaining their driving algorithms, motivations, and data structures.
Understanding the Single Thread Event LoopTorontoNodeJS
Node JS was built on Google's JavaScript V8 Engine and it was engineered to preform optimally for the web. Learn what Node JS's single thread event loop is and how it empowers Node to out preform its competitors.
Node mailer example how to send email using nodemailer with gmail & mailtrapKaty Slemon
In this blog We will learn how to send email using NodeMailer with the help of the NodeMailer example. We will build demo application from scratch and implement NodeMailer.
List of Jargons used in Java EE is Endless - JPA, JDBC, ORM, JNDI, EJB, JTA, DTO, VO, JAXB, JAX-RS, JAX-WS, AOP, Dependency Injection, Model 1 Architecture, Model 2 Architecture, Front Controller, Composite View, Intercepting Filter, Facade, Service Locator to name a few.
For a beginner, Java EE can be overwhelming. Objective of the course is to give a Big Picture of the Java EE. You will understand the Jargon, Specifications, Patterns used in Java EE. You will understand the basic architecture of a Java EE Application.
You will understand the evolution of Java EE Application Architecture:
Model 1 Architecture
Model 2 or MVC Architecture
Modified MVC Architecture using Front Controller
You will get an overview of Patterns used in the Java EE World - Grouped by the layer they are used in:
Front Controller
View Helper
Composite View
Context Object
Intercepting Filter
Domain Model
Facade
DTO/VO
DAO - Data Access Object
Service Activator
You will also be introduced to terminologies like JPA, JDBC, ORM, JNDI, EJB, JTA, DTO, VO, JAXB, JAX-RS, JAX-WS, AOP and Dependency Injection.
Get ready for a Roller Coaster Ride with Java EE.
Reporting with Oracle Application Express (APEX)Dimitri Gielis
This presentation covers the different options you have to produce reports in Oracle Application Express (APEX). I cover Classic Reports, Interactive Reports and Grids, PL/SQL and exporting and printing your data with APEX Office Print (AOP).
Project Management Scope Templates for SharePointToby Elwin
Impact Analysis, Stakeholder Assessment, and Communications Plan templates available for Microsoft SharePoint web application framework and platform.
These templates are help projects and teams manage across a host of project management frameworks and lend themselves for intranet, content management, and document management application.
Each are suitable for people with or without a project management background.
In this presentation, Raghavendra BM of Valuebound has discussed the basics of MongoDB - an open-source document database and leading NoSQL database.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Presentation shares the most critical tables, fields, and statuses associated with the propose to close lifecycle in version 9.0 of the PeopleSoft Grants suite. The information presented is useful for troubleshooting production support issues, conducting ad hoc data analysis, or to gain a better understanding of how data in the Grants suite is structured.
The NoSQL movement has introduced four new database architectural patterns that complement, but not replace, traditional relational and analytical databases. This presentation will introduce these four patterns and discuss their relative strengths and weaknesses for solving a variety of business problems. These problems include Big Data (scalability), search, high availability and agility. For each type of problem we look at how NoSQL databases take different approaches to solving these problems and how you can use this knowledge to find the right database architecture for your business challenges.
R.I. Pienaar gives an introduction to MCollective at the San Francisco and Silicon Valley joint Puppet User Group, May 2013.
Silicon Valley PUG: http://www.meetup.com/SiPMUG/
SF PUG: http://www.meetup.com/SFPMUG/#past
Reporting with Oracle Application Express (APEX)Dimitri Gielis
This presentation covers the different options you have to produce reports in Oracle Application Express (APEX). I cover Classic Reports, Interactive Reports and Grids, PL/SQL and exporting and printing your data with APEX Office Print (AOP).
Project Management Scope Templates for SharePointToby Elwin
Impact Analysis, Stakeholder Assessment, and Communications Plan templates available for Microsoft SharePoint web application framework and platform.
These templates are help projects and teams manage across a host of project management frameworks and lend themselves for intranet, content management, and document management application.
Each are suitable for people with or without a project management background.
In this presentation, Raghavendra BM of Valuebound has discussed the basics of MongoDB - an open-source document database and leading NoSQL database.
----------------------------------------------------------
Get Socialistic
Our website: http://valuebound.com/
LinkedIn: http://bit.ly/2eKgdux
Facebook: https://www.facebook.com/valuebound/
Twitter: http://bit.ly/2gFPTi8
Presentation shares the most critical tables, fields, and statuses associated with the propose to close lifecycle in version 9.0 of the PeopleSoft Grants suite. The information presented is useful for troubleshooting production support issues, conducting ad hoc data analysis, or to gain a better understanding of how data in the Grants suite is structured.
The NoSQL movement has introduced four new database architectural patterns that complement, but not replace, traditional relational and analytical databases. This presentation will introduce these four patterns and discuss their relative strengths and weaknesses for solving a variety of business problems. These problems include Big Data (scalability), search, high availability and agility. For each type of problem we look at how NoSQL databases take different approaches to solving these problems and how you can use this knowledge to find the right database architecture for your business challenges.
R.I. Pienaar gives an introduction to MCollective at the San Francisco and Silicon Valley joint Puppet User Group, May 2013.
Silicon Valley PUG: http://www.meetup.com/SiPMUG/
SF PUG: http://www.meetup.com/SFPMUG/#past
Managing Windows Systems with Puppet - PuppetConf 2013Puppet
"Managing Windows Systems with Puppet" by James Sweeny Professional Services Engineer, Puppet Labs.
Presentation Overview: Since Puppet grew up in the *nix world, there is a common misconception that it can't be used to effectively manage Windows. This talk hopes to dispel confusion on the matter and demonstrate that Windows can be managed effectively and easily with Puppet. Along with basic how-tos and tips on working with Windows systems using Puppet, Windows specific issues and caveats will be discussed with effective mitigations.
Speaker Bio: James is a recovering sysadmin currently working as a Professional Services Engineer at Puppet Labs. He performs training and advises on configuration and systems management best practices in his day job. Though his focus is primarily on Linux systems, he frequently is tasked to work on Solaris, OS/X, and Windows. He is unafraid to admit that he runs Windows 7 on his primary desktop.
Puppet is a configuration management tool which allows easy deployment and configuration ranging from 1 to 1 thousand servers (and even more). Even though its common knowledge for devops, puppet is still a strange piece of software for developers. How does it work and what can it do for you as a developer?
Docker and Puppet for Continuous IntegrationGiacomo Vacca
Today developers want to change the code, build and deploy often, even several times per day.
New versions of software may need to be tested on different distributions, and with different configurations.
Achieving this with Virtual Machines it’s possible, but it’s very resource and time consuming. Docker provides an incredibly good solution for this, in particular if combined with Continuous Integration tools like Jenkins and Configuration Management tools like Puppet.
This presentation focuses on the opportunities to configure automatically Docker images, use Docker containers as disposable workers during your tests, and even running your Continuous Integration system inside Docker.
Chasing AMI - Building Amazon machine images with Puppet, Packer and JenkinsTomas Doran
Using puppet when configuring EC2 machines seems a natural fit. However bringing up new machines from a community image with puppet is not trivial and can be slow, and so not useful for auto-scaling.
The cloud also offers a solution to ongoing server maintenance, allowing you to launch fresh instances whenever you upgrade your applications (Immutable or Phoenix servers). However to predictably succeed, you need to freeze the puppet code alongside the application version for deployment.
The solution to these issues is generating custom machine images (AMIs) with your software inlined. This talk will cover Yelp's use of a Packer, Jenkins and Puppet for generating AMIs. This will include how we deal with issues like bootstrapping, getting canonical information about a machine's environment and cluster state at launch time, as well as supporting immutable/phoenix servers in combination with more traditional long lived servers inside our hybrid cloud infrastructure.
Puppetconf 2015 - Puppet Reporting with Elasticsearch Logstash and Kibanapkill
Answer deep questions about the health of configuration runs on your nodes with the popular Elasticsearch, Logstash and Kibana stack. While many questions about resources, catalogs and runtimes can be answered by using the Puppet Dashboard or Puppet Enterprise, there are limitations. Putting the reports and run metrics into Elasticsearch gives users full text search and filtering. Also, you can perform metrics and aggregations over resource numbers or run times. Kibana graphs are also a great way to supplement the dashboards available in Puppet Enterprise.
Introduction to orchestration using McollectivePuppet
"Introduction to orchestration using MCollective" by Pieter Loubser at Puppet Camp London 2013. Find the video here: http://puppetlabs.com/community/puppet-camp
Puppet Performance Profiling - CM Camp 2015ripienaar
This talk will cover the basic life cycle of a Puppet Catalog from compilation request to report processing. It will explore the performance of some of the life cycle steps and show how you might instrument these steps using tools Puppet make available.
Along the way it will provide hints and tips on how to write performant facts and manifests.
No Callbacks, No Threads - RailsConf 2010Ilya Grigorik
Multi-threaded servers compete for the global interpreter lock (GIL) and incur the cost of continuous context switching, potential deadlocks, or plain wasted cycles. Asynchronous servers, on the other hand, create a mess of callbacks and errbacks, complicating the code. But, what if, you could get all the benefits of asynchronous programming, while preserving the synchronous look and feel of the code – no threads, no callbacks?
Through the magic of virtualization technology (Vagrant) and Puppet, a companion Enterprise grade provisioning technology, we explore how to make the complex configuration game a walk in the park. Bring new team members up to speed in minutes, eliminate variances in configurations, and make integration issues a thing of the past.
Welcome to the new age of team development!
Automatisation in development and testing - within budgetDavid Lukac
Working on client projects with very strict budget and resource restrictions, tight deadlines and pressure, many times does not allow for full blown Test Driven Development, Continuous Delivery and other software engineering goodness we would love to have. We will show you easily accessible and quickly implementable options, that allow you to automate your development and testing process, or at least the most painful parts, without blowing the budget. Finally you can relax during deployments of the code to production! :-)
OSMC 2021 | Icinga-Installer – the easy way to your IcingaNETWAYS
This presentation shows you how the Icinga-Installer can be used: ranging from an easy Single-Icinga-Installation with agents to integrating Satellites and using it in HA-Environments.
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs.Nagios
Lee Myers - What To Do When Nagios Notification Don't Meet Your Needs. - Lee will present how he overcame timeperiod issues, through the use of MK_Livestatus, Pushbullet, and scripts to notify of him of alerts while he is at work. All the user needs to do is execute a command at the start of their shift, and they will receive all their notifications until their shift ends.
Minimum Viable Docker: our journey towards orchestrationOutlyer
While Kubernetes and Mesos are all the rage, you don't necessarily need a complex orchestration layer to start using and benefiting from Docker. We will present how Babylon Health is running its dockerised AI microservices in production, pros and cons, and what we have in store for the future.
Walter Heck, founder of OlinData, presented a step-by-step guide on how to set up a proper puppet repository, complete with the brand new PuppetDB, exported resources and usage of open source modules.
Walter Heck, founder of OlinData, presented a step-by-step guide on how to set up a proper puppet repository, complete with the brand new PuppetDB, exported resources and usage of open source modules.
Automating it management with Puppet + ServiceNowPuppet
As the leading IT Service Management and IT Operations Management platform in the marketplace, ServiceNow is used by many organizations to address everything from self service IT requests to Change, Incident and Problem Management. The strength of the platform is in the workflows and processes that are built around the shared data model, represented in the CMDB. This provides the ‘single source of truth’ for the organization.
Puppet Enterprise is a leading automation platform focused on the IT Configuration Management and Compliance space. Puppet Enterprise has a unique perspective on the state of systems being managed, constantly being updated and kept accurate as part of the regular Puppet operation. Puppet Enterprise is the automation engine ensuring that the environment stays consistent and in compliance.
In this webinar, we will explore how to maximize the value of both solutions, with Puppet Enterprise automating the actions required to drive a change, and ServiceNow governing the process around that change, from definition to approval. We will introduce and demonstrate several published integration points between the two solutions, in the areas of Self-Service Infrastructure, Enriched Change Management and Automated Incident Registration.
Simplified Patch Management with Puppet - Oct. 2020Puppet
Does your company struggle with patching systems? If so, you’re not alone — most organizations have attempted to solve this issue by cobbling together multiple tools, processes, and different teams, which can make an already complicated issue worse.
Puppet helps keep hosts healthy, secure and compliant by replacing time-consuming and error prone patching processes with Puppet’s automated patching solution.
Join this webinar to learn how to do the following with Puppet:
Eliminate manual patching processes with pre-built patching automation for Windows and Linux systems.
Gain visibility into patching status across your estate regardless of OS with new patching solution from the PE console.
Ensure your systems are compliant and patched in a healthy state
How Puppet Enterprise makes patch management easy across your Windows and Linux operating systems.
Presented by: Margaret Lee, Product Manager, Puppet, and Ajay Sridhar, Sr. Sales Engineer, Puppet.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
2. Who am I?
• Puppet user since 0.22.x
• Architect of MCollective
• Author of Extlookup and Hiera
• Developer at Puppet Labs London
• Blog at http://devco.net
• Tweets at @ripienaar
• Volcane on IRC
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
3. The Problem?
• Puppet needs management just like other
software
• Enabling, disabling, ad-hoc runs, custom
environments etc
• The Puppet Master is a finite resource that
needs protection
• Orchestrated deploys
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
4. MCollective Puppet Agent
package{[“mcollective-puppet-agent”,
“mcollective-puppet-client”]:
ensure => present
}
Available on yum.puppetlabs.com and apt.puppetlabs.com
http://srt.ly/mcpuppet
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
5. Obtaining The Agent
Status
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
6. Obtaining Statuses
$ mco puppet status
* [ ============================================================> ] 11 / 11
node8.example.net: Currently stopped; last completed run 14 minutes 16 seconds ago
....
Summary of Applying:
false = 11
Summary of Daemon Running:
unix text here
Per node status
stopped = 11
Summary of Enabled:
Estate wide summary
enabled = 10
disabled = 1
Summary of Idling:
false = 11
Finished processing 11 / 11 hosts in 72.05 ms
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
7. Obtaining Statuses
$ mco puppet count
Total Puppet nodes: 11
Nodes currently enabled: 10
Nodes currently disabled: 1
Nodes currently doing puppet runs: 5
Nodes currently stopped: 6
Nodes with daemons started: 10
Nodes without daemons started: 1
Daemons started but idling: 6
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
8. Obtaining Statuses
$ mco rpc puppet last_run_summary
* [ ============================================================> ] 28 / 28
.
.
.
Summary of Config Retrieval Time:
Average: 20.13
Summary of Total Resources:
Average: 435
Summary of Total Time:
Average: 39.33
Finished processing 28 / 28 hosts in 311.23 ms
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
10. Doing Basic Runs
$ mco puppet runonce
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2593.85 ms
$ mco puppet count
Total Puppet nodes: 11
Puppet 3 disable message
Nodes currently enabled: 10
Nodes currently disabled: 1
Nodes currently doing puppet runs: 2
Nodes currently stopped: 9
Nodes with daemons started: 10
Nodes without daemons started: 1
Daemons started but idling: 8
Run with default configured splay and splaylimit
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
11. Doing Basic Runs
$ mco puppet runonce -f
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
Run with no splay, still subject to enable/disable
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
12. Doing Basic Runs
$ mco puppet runonce --splay --splaylimit 120
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
Force splay and set a custom splay limit
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
13. Tags and Environment
$ mco puppet runonce --tag webserver --tag syslog --environment development
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
Selects 2 tags in a specific Puppet Environment
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
14. Doing noop Runs
$ mco puppet runonce --noop
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
Do a noop run, gathers reports and
audit information
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
15. Doing no-noop Runs
$ mco puppet runonce --tag webserver --no-noop
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
When puppet.conf has noop=true,
do an actual run on demand
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
16. Choosing a Master
$ mco puppet runonce --server secops.example.net:8134 --tag compliance
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Puppet is disabled: 'machine under maintenance'
Finished processing 11 / 11 hosts in 2661.99 ms
Does a single run against a different
Puppet Master
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
18. The Big Red Button
$ mco puppet disable “we f’d up, stop the train!”
* [ ============================================================> ] 11 / 11
node9.example.net Request Aborted
Could not disable Puppet: Already disabled
Summary of Enabled:
disabled = 11
Finished processing 11 / 11 hosts in 90.06 ms
Disables Puppet, does not change currently
disabled nodes reasons
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
19. The Big Green Button
$ mco puppet enable -S ‘puppet().disable_message=/stop the train/’
* [ ============================================================> ] 10 / 10
Summary of Enabled:
enabled = 10
Finished processing 10 / 10 hosts in 90.06 ms
Enables all disabled Puppet nodes
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
20. Operating On Groups
Of Hosts
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
21. Selective Runs
Facter fact Puppet Class
$ mco puppet runonce -W “cluster=a roles::webserver”
* [ ============================================================> ] 5 / 5
Finished processing 5 / 5 hosts in 90.06 ms
Run using a filter:
all web servers with fact cluster=a
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
22. Selective Runs
Any Puppet resource
$ mco puppet runonce -S “resource(‘File[/srv/www]’).managed=true”
* [ ============================================================> ] 5 / 5
Finished processing 5 / 5 hosts in 90.06 ms
Run using a filter:
nodes where we manage /srv/www
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
23. Selective Runs
$ mco puppet runonce -S “resource().failed_resources>5 and resource().config_version=xyz”
* [ ============================================================> ] 5 / 5
Finished processing 5 / 5 hosts in 90.06 ms
Run using a filter:
Most recent run config_version was xyz
that had > 5 resource failures
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
24. Roll Out A Change Quickly
$ mco puppet runall 7
2013-01-19 20:58:59: Running all nodes with a concurrency of 7
2013-01-19 20:58:59: Discovering enabled Puppet nodes to manage
2013-01-19 20:59:02: Found 11 enabled nodes
2013-01-19 20:59:06: node3.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:07: node1.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:09: node4.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:10: node6.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:12: node0.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:13: node5.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:17: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:21: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:25: node9.example.net schedule status: Puppet is currently applying a catalog,
cannot run now
2013-01-19 20:59:29: node8.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:33: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:38: node2.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:41: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:46: middleware.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:50: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:55: node7.example.net schedule status: Started a background Puppet run
Runs all nodes with a maximum concurrency
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
25. Roll Out A Change Quickly
2013-01-19 20:58:59: Running all nodes with a concurrency of 7
2013-01-19 20:58:59: Discovering enabled Puppet nodes to manage
2013-01-19 20:59:02: Found 11 enabled nodes
Does not attempt to manage disabled nodes
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
26. Roll Out A Change Quickly
2013-01-19 20:59:02: Found 11 enabled nodes
2013-01-19 20:59:06: node3.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:07: node1.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:09: node4.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:10: node6.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:12: node0.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:13: node5.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:17: Currently 7 nodes applying the catalog; waiting for less than 7
Starts the first 6 quickly but considers
administrators doing 1other run at the same time
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
27. Roll Out A Change Quickly
2013-01-19 20:59:17: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:21: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:25: node9.example.net schedule status: Puppet is currently applying a catalog,
cannot run now
2013-01-19 20:59:29: node8.example.net schedule status: Started a background Puppet run
node9 was being run by an administrator or normal
schedule already, skipped to next node
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
28. Roll Out A Change Quickly
2013-01-19 20:59:29: node8.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:33: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:38: node2.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:41: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:46: middleware.example.net schedule status: Started a background Puppet run
2013-01-19 20:59:50: Currently 7 nodes applying the catalog; waiting for less than 7
2013-01-19 20:59:55: node7.example.net schedule status: Started a background Puppet run
Regularly checks the concurrency and starts
more nodes soon as possible.
Average node run time 34.39s, total
time 55 seconds
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
29. Roll Out A Change Slowly
Wait 5 minutes
$ mco puppet runonce --batch 5 --batch-sleep 300
* [ ============================================================> ] 11 / 11
Finished processing 11 / 11 hosts in 903686.29 ms
Does runonce in batches of 5, 5 minute sleep
per batch. ^c after any batch to stop.
15 minute total run time.
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
34. Performance Analysis
$ mco find -S "resource().config_retrieval_time > 30"
dev3.example.net
dev4.example.net
dev7.example.net
dev6.example.net
dev8.example.net
dev9.example.net
dev10.example.net
Find machines with config_retrieval_time over
30 seconds - all the dev servers.
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
35. Maintenance Windows
and Access Control
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
36. Puppet State As ACL
policy default deny
allow cert=manager enable disable * *
allow cert=sysadmin runonce status * *
allow cert=developer * environment=development *
Only cert=manager can enable and disable
the Puppet Agent indicating maintenance
periods
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
37. Puppet State As ACL
policy default deny
allow cert=manager stop start * *
allow cert=noc stop start puppet().enabled=false
allow cert=developer * environment=development *
NOC can start and stop services
only during a maintenance window.
Manager user can always override
maintenance windows.
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar
38. What is MCollective?
• Ruby framework for writing Orchestration
systems
• Provides Authentication, Authorization and
Auditing
• No direct communication between client
and nodes
R.I.Pienaar | rip@devco.net | http://devco.net | @ripienaar