This talk introduces shortly the Foreman as a software, how to get started with contributing to the Foreman, how to setup a development environment and play with Rails. This talk is targeting people who want to start making contributions to the Foreman or setup quickly a test instance. It was given at Config Management Camp 2016.
This is an Ignite talk I have been giving at Config Management Camp in Ghent in February 2016 and at the CentOS dojo in brussels 3 days before. It is about how the communities could get together to build better cfgmgmt packages for cfgmgmt tools.
Talk given at OSDC 2016 about Foreman and managing a lab. This is a feedback of our 3 years experience with the Foreman and emphasis Foreman and Puppet, Libvirt cooperation.
Feedback about 5 years of Foreman Experience to manage different kinds of infrastructure. A story about Open Source. Given for the 7th Birthday of The Foreman.
Talk given at the Belgian Puppet User Group
Please see http://www.slideshare.net/roidelapluie/deploy-your-application-with-puppet-code for a better version
This is an Ignite talk I have been giving at Config Management Camp in Ghent in February 2016 and at the CentOS dojo in brussels 3 days before. It is about how the communities could get together to build better cfgmgmt packages for cfgmgmt tools.
Talk given at OSDC 2016 about Foreman and managing a lab. This is a feedback of our 3 years experience with the Foreman and emphasis Foreman and Puppet, Libvirt cooperation.
Feedback about 5 years of Foreman Experience to manage different kinds of infrastructure. A story about Open Source. Given for the 7th Birthday of The Foreman.
Talk given at the Belgian Puppet User Group
Please see http://www.slideshare.net/roidelapluie/deploy-your-application-with-puppet-code for a better version
Systemd is in all the major distributions nowadays and there is a lot of ways you can take advantages of it. It provides an easy way to manage your system and your services and interacts closely with the kernel features added in the last years like cgroups. This talk will show you how to get the added value of systemd and easily do a lot of things that were complicated in the past.
This talk gives you advices on how to successfully ship your products together with the puppet code to deploy them. It also shows you the advantages of that method and give some general advices. This talk targets products that are shipped outside of your company, in an environment you do not manage entirely.
Talk given at FLOSS UK DevOps Spring 2015.
This talk given at LOADays 2015 is not an introduction to git, but shows some more advanced techniques useful when working with several people.
Those techniques include rebasing, squashing, branching. I also give some other advices and best practices around git.
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...NETWAYS
This will tell the story of how we automated our R&D environment with the foreman and what were the biggest problems we are facing. It will contain a very short introduction about the foreman but the main subject will really be about experience.
NOTE: SlideShare seems to have problems rendering some of my screenshots. Please visit
https://speakerdeck.com/uranusjr/we-buy-cheese-in-a-cheese-shop
for a correctly-displayed version.
ORIGINAL DESCRIPTION:
Python packaging is ______. But PyPA is trying to solve the problem. Let's take a look at how we got into this mess in the first place, and how did/will PyPA do to fix it.
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Rachel Evans
As presented at the BBC Digital Open Day, London, 2015-04-27.
In 2012 we committed to killing the system that processed all the video for BBC iPlayer, because it was unsustainable. We gave ourselves 12 months to build a complete replacement. And along the way, we had to re-learn how to develop, test, deploy and support software.
This is the story of how we adapted to Continuous Delivery, and a plea for you to adapt Continuous Delivery to suit *your* product.
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
* [1] What is Metasepi?
* [2] How to create Metasepi?
* [3] Demo using ATS language
* [4] What is ATS language?
* [5] Why ATS language is safe?
* [6] ATS programming on MCU
Foreman Discovery is the Foreman project's solution to Metal as a Service. It can discover, register, and provision bare metal systems without knowing anything about them beforehand. Now, with the latest version of Discovery, you're able to boot hosts using the Discovery image directly instead of relying on DHCP and PXE, by mounting the ISO or burning to a CD-ROM or USB stick. In this talk, we'll do a quick introduction to Discovery, before going on to cover the new PXEless features.
Foreman - Process manager for applications with multiple componentsStoyan Zhekov
Splitting an app up in different processes is great for performance and scalability. The downside, however, is that it becomes much more complicated to get the app and all of its parts running.
Foreman is an attempt to make this easier. Using foreman you can declare the various processes that are needed to run your application using a Procfile.
Foreman and Chef integration at ChefConf 2014Dominic Cleal
Foreman is a lifecycle management tool for hosts, helping from provisioning through to configuration management and monitoring. It's traditionally been associated with Puppet, but now boasts Chef support with fact and report handler integration.
In this session, we'll see how Foreman fits into your infrastructure and the provisioning and Chef integration in action.
Systemd is in all the major distributions nowadays and there is a lot of ways you can take advantages of it. It provides an easy way to manage your system and your services and interacts closely with the kernel features added in the last years like cgroups. This talk will show you how to get the added value of systemd and easily do a lot of things that were complicated in the past.
This talk gives you advices on how to successfully ship your products together with the puppet code to deploy them. It also shows you the advantages of that method and give some general advices. This talk targets products that are shipped outside of your company, in an environment you do not manage entirely.
Talk given at FLOSS UK DevOps Spring 2015.
This talk given at LOADays 2015 is not an introduction to git, but shows some more advanced techniques useful when working with several people.
Those techniques include rebasing, squashing, branching. I also give some other advices and best practices around git.
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...NETWAYS
This will tell the story of how we automated our R&D environment with the foreman and what were the biggest problems we are facing. It will contain a very short introduction about the foreman but the main subject will really be about experience.
NOTE: SlideShare seems to have problems rendering some of my screenshots. Please visit
https://speakerdeck.com/uranusjr/we-buy-cheese-in-a-cheese-shop
for a correctly-displayed version.
ORIGINAL DESCRIPTION:
Python packaging is ______. But PyPA is trying to solve the problem. Let's take a look at how we got into this mess in the first place, and how did/will PyPA do to fix it.
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Rachel Evans
As presented at the BBC Digital Open Day, London, 2015-04-27.
In 2012 we committed to killing the system that processed all the video for BBC iPlayer, because it was unsustainable. We gave ourselves 12 months to build a complete replacement. And along the way, we had to re-learn how to develop, test, deploy and support software.
This is the story of how we adapted to Continuous Delivery, and a plea for you to adapt Continuous Delivery to suit *your* product.
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
* [1] What is Metasepi?
* [2] How to create Metasepi?
* [3] Demo using ATS language
* [4] What is ATS language?
* [5] Why ATS language is safe?
* [6] ATS programming on MCU
Foreman Discovery is the Foreman project's solution to Metal as a Service. It can discover, register, and provision bare metal systems without knowing anything about them beforehand. Now, with the latest version of Discovery, you're able to boot hosts using the Discovery image directly instead of relying on DHCP and PXE, by mounting the ISO or burning to a CD-ROM or USB stick. In this talk, we'll do a quick introduction to Discovery, before going on to cover the new PXEless features.
Foreman - Process manager for applications with multiple componentsStoyan Zhekov
Splitting an app up in different processes is great for performance and scalability. The downside, however, is that it becomes much more complicated to get the app and all of its parts running.
Foreman is an attempt to make this easier. Using foreman you can declare the various processes that are needed to run your application using a Procfile.
Foreman and Chef integration at ChefConf 2014Dominic Cleal
Foreman is a lifecycle management tool for hosts, helping from provisioning through to configuration management and monitoring. It's traditionally been associated with Puppet, but now boasts Chef support with fact and report handler integration.
In this session, we'll see how Foreman fits into your infrastructure and the provisioning and Chef integration in action.
This talk is a basic introduction to foreman_salt, including an overview of new features since last year's ConfigManagementCamp. We'll also talk about the status of integration the plugin into Foreman's new remote execution framework, other future improvements, and how you can get involved.
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-centerYaniv Bronhaim
Presenting overview of oVirt, Foreman and Katello, and dive into how oVirt integrates with Foreman and Katello to ease different flows in variant systems and data-centers.
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
Monitoring can mean very different things to different people, and this often leads to confusion and misunderstandings. There are many offerings both free software and commercials, and it's not always clear where each fits in the bigger picture. This talk will look a bit at the history of monitoring, and then into the general categories of Metrics, Logs, Profiling and Distributed tracing and how each of these is important in Cloud-based environment.
Video: https://www.youtube.com/watch?v=hCBGyLRJ1qo
Linux host orchestration with Foreman, Puppet and GitlabBen Tullis
A brief look at the Foreman host lifecycle management system, beginning with its rapid provisioning features and moving onto its integration with the Puppet configuration management system.
GItlab is introduced to the mix and an example is given of how it can be integrated with Forman and Puppet to form an on-premise configuration versioning component. This configuration, which builds upon the Puppet multiple environments feature, is currently being employed in the task of building a test-driven continuous delivery system for the OpenCorporates project.
The demand for managing a large amount of data in a scalable yet reliable and cost-effective way has became more and more relevant in this day and age. Ceph, a software-defined storage, provides an original solution for this problem and guarantees a resilient and self-healing way for managing large amount of data up to the Exabyte level. In this session I will talk about a new feature introduced in oVirt 3.6 which provides the ability to integrate with Red Hat Ceph storage using Cinder, a storage service used mainly for OpenStack. This integration reveals new opportunities and tools for storage management in a scalable and virtualized way and also opens the door for interesting future integrations with other storage providers.
In this session I will describe how oVirt, an open source virtualization management platform, has extended and elevated its storage virtualization management capabilities by integrating with Cinder, a storage service, to manage resources from the Ceph Storage. oVirt 3.6 revolutionize the way it manages virtualized storage to be much more scalable and flexible, and opens the door for future integrations with well known storage providers such as NetApp, EMC, HP and more.
Microservices and Prometheus (Microservices NYC 2016)Brian Brazil
If you'd like to learn more about Prometheus, contact us at prometheus@robustperception.io or follow us on twitter at https://twitter.com/RobustPerceiver
Prometheus is a next-generation monitoring system designed for microservices. This talk will look at what's the best way to monitor your microservices, which metrics you should care about, how to have useful alerts and how Prometheus empowers you to do things the right way.
Foreman is a lifecycle management tool for physical and virtual servers, that has traditionally been Puppet-centric. There are now several plugins for additional configuration management systems, including Salt. This talk will demo provisioning a new minion, applying states, viewing grains, setting pillars and more -- all from within the Foreman UI.
[Mike Fitzmaurice] Oddly enough, too many workflow solutions treat the process itself as an afterthought. Data and user interfaces are important, but when designing a process-based solution, the process should dictate what data you need and what your users need to see/do. Data-centric and process-centric apps each have their places, but their rules are different; this session will spell them out in terms of user interfaces, integration, compliance, and more. This is advice you can use whether you’re using Flow, SharePoint Designer, WebCon, K2, or Nintex.
What's New in Prometheus and Its EcosystemJulien Pivotto
Let's have a look at all the recent features and changes in the Prometheus server and the community. We will introduce the new features and see how you can integrate them in your workflows to get a better Prometheus experience.
Prometheus: What is is, what is new, what is comingJulien Pivotto
Prometheus is a metrics-based monitoring and alerting system and also the project with the second longest tenure within the CNCF. As such you have probably heard about it by now. We will give you a short introduction to Prometheus, what it is and why it was such a big deal when it was initially released. In all those years since then, the project has only gained speed, which provides us with the opportunity to tell you about all the exciting new features that have just been released or are in the pipeline, including opportunities to contribute to the project and its wider ecosystem.
Talk at kubecon 2021
Monitoring in a fast-changing world with PrometheusJulien Pivotto
Prometheus is an open source monitoring project used to gather metrics.
It as many capabilities built-in, such as service discovery, which makes it very suitable for an automated environment.
This talk will give a brief introduction of Prometheus, what are the latest developments, and then give practical tips and examples about how you can use it in an automated world.
Graphs can represent many different things. Across the years I have learned how to display different situations in Grafana effectively. I share how to visualize different kinds of situations and make them easy to read by using advanced features of Grafana.
HAProxy is often used to route ingress traffic, but we use it the other way around. We use it for egress. Our applications talk to the outside world through HAProxy. We get a lot of benefits from this unique approach: throttling, guaranteed response times, unified monitoring, and path rewriting. I will highlight how we use HAProxy at Inuits and how we achieve observability via Prometheus and Grafana.
Improved alerting with Prometheus and AlertmanagerJulien Pivotto
One of the reasons we collect metrics is to be able to alert on them. This presentation will introduce you some concepts of PromQL, prometheus and alertmanager to highly improve the quality and reliability of your alerts. This talk will cover different topic, including: - Reducing flapping alerts - Hysteresis - "Time of the day" based alerting - Computed thresholds with data history
Monitoring as an entry point for collaborationJulien Pivotto
In the last years, we have been building complex stacks, made from lots of components. All of this backed by multiple teams. This talk will present how you can use monitoring to look at the business side and have everyone looking at the same dashboards, making cooperation a reality.
his talk will introduce you to the Prometheus monitoring solution and how you can use it to monitor yous CentOS servers, and the applications that run on top of them. It will provide tips about the setup and show some great, real life example.
A small demo involving OpenShift will also be produced, to demonstrate how Prometheus can work with dynamic environments.
Automation is at the heart of modern infrastructure. Ansible is a great tool to automate your routing workflows and your infrastructure.
This talk will present you the best of Ansible - how you can quickly get started and start automating your infrastructure with it.
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.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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…
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
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
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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!
Essentials of Automations: The Art of Triggers and Actions in FME
Demystifying the Foreman
1. Demystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the ForemanDemystifying the Foreman
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
CfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCampCfgMgmtCamp
February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016February 1st, 2016
2. whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoami
• Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
• SysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at InuitsSysAdmin at Inuits
• CentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman userCentOS / Puppet / The Foreman user
• Foreman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelistForeman evangelist
5. Our R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D labOur R&D lab
• 1111111111111111130 hosts
• 111111111111111110 compute resources
99999999999999999 libvirt
11111111111111111 VMware
• 44444444444444444 locations
• 44444444444444444 smart proxies
• 33333333333333333 organisations
6. What we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we useWhat we use
• PPPPPPPPPPPPPPPPProvisioning
• PPPPPPPPPPPPPPPPPuppet parameters (ENC)
• PPPPPPPPPPPPPPPPPuppet reporting
• AAAAAAAAAAAAAAAAAdvanced networking
• DDDDDDDDDDDDDDDDDNS DHCP TFTP proxies
7. Building and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuilding
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/andrec/3525054487
8. Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?Demystifying the Foreman?
• FFFFFFFFFFFFFFFFForeman has a large scope
• YYYYYYYYYYYYYYYYYou really need it
• IIIIIIIIIIIIIIIIIt can be scary to patch it in prod
9. What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?What is inside?
• FFFFFFFFFFFFFFFFForeman
• SSSSSSSSSSSSSSSSSmart-proxy
• IIIIIIIIIIIIIIIIInstaller (puppet modules)
• CCCCCCCCCCCCCCCCCommunity templates
• PPPPPPPPPPPPPPPPPlugins
• hhhhhhhhhhhhhhhhhammer, hammer-foreman
11. Technologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involvedTechnologies involved
• RRRRRRRRRRRRRRRRRuby
RRRRRRRRRRRRRRRRRuby-on-Rails
HHHHHHHHHHHHHHHHHammer, kafo
AAAAAAAAAAAAAAAAA lot of rubygems
SSSSSSSSSSSSSSSSStrong relationship with fog
• PPPPPPPPPPPPPPPPPuppet
WWWWWWWWWWWWWWWWWorks best with Puppet 3
UUUUUUUUUUUUUUUUUse the API
• +++++++++++++++++ smart proxies
• +++++++++++++++++ plugins
12. Getting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting startedGetting started
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/horiavarlan/4747872021
13. Tip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyoneTip for anyone
• BBBBBBBBBBBBBBBBBackups, backups, backups
• SSSSSSSSSSSSSSSSSometimes we needed a full restore
• SSSSSSSSSSSSSSSSSometimes partial restore
• SSSSSSSSSSSSSSSSSometime importing the backup elsewhere
to get data
14. Your development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environmentYour development environment
The basic tools: Ruby(-devel), Git, . . .
git clone https://github.com/theforeman/
foreman
cd foreman
virtualenv ruby193
source ruby193/bin/activate
pip install rubyenv
rubyenv list
rubyenv install 1.9.3−p551
Now you have ruby 1.9.3 in your path
15. Copy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some filesCopy and change some files
cp config/settings.yaml.example config/settings.yaml
cp config/database.yml.example config/database.yml
17. Install the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DBInstall the dependencies and the DB
bundle install
bundle exec rake db:migrate
bundle exec rake db:seed
20. Remove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverageRemove test coverage
It is slow and eats memory
vi test/test_helper.rb
#require `simplecov '
#SimpleCov.start `rails ' do
# add_group `API', `app/controllers/api'
#end
git update−index −−assume−unchanged test/
test_helper.rb
21. Running all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one testRunning all or one test
bundle exec rake test
bundle exec ruby −Itest test/unit/
host_test.rb
23. Join the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the communityJoin the community
• IIIIIIIIIIIIIIIIIRC: #theforeman, #theforeman-dev on
freenode
• MMMMMMMMMMMMMMMMMailing lists: foreman-users, foreman-devel
• TTTTTTTTTTTTTTTTTickets tracker: projects.theforeman.org
• gggggggggggggggggithub.com/theforeman
• cccccccccccccccccfgmgmtcamp + construction day
27. Lifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull requestLifecycle of a Pull request
• IIIIIIIIIIIIIIIIIt gets refused by the Foreman bot :-)
• YYYYYYYYYYYYYYYYYou get some feedback
• SSSSSSSSSSSSSSSSSomeone allows tests to run ([test])
• FFFFFFFFFFFFFFFFFix the tests/respond to feedbacks
• PPPPPPPPPPPPPPPPPR gets accepted
• FFFFFFFFFFFFFFFFFix another bug :-)
29. Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?Where to pull requests?
• TTTTTTTTTTTTTTTTThere is no master branch
• DDDDDDDDDDDDDDDDDevelop and test against develop branch
• FFFFFFFFFFFFFFFFFM team will backport to stable if needed
• AAAAAAAAAAAAAAAAAsk in the ticket if you need a backport (e.g
#11375)
31. Debugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resourcesDebugging compute resources
• TTTTTTTTTTTTTTTTTry with another client (with Foreman
credentials)
• TTTTTTTTTTTTTTTTTry with another compute resource
• TTTTTTTTTTTTTTTTTry with another piece of hardware
32. Contributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modulesContributing to Puppet modules
• OOOOOOOOOOOOOOOOOpen pull requests directly
• CCCCCCCCCCCCCCCCCompat with Puppet 3 and 4 (no 2.7)
• FFFFFFFFFFFFFFFFFollow Puppet best practices
• DDDDDDDDDDDDDDDDDiscuss deep changes with foreman-dev
• TTTTTTTTTTTTTTTTTravis/spec skeleton in
foreman-installer-modulesync
33. Non-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contributionNon-code contribution
• JJJJJJJJJJJJJJJJJoin to mailing lists discussions
• JJJJJJJJJJJJJJJJJoin to the IRC channel
• CCCCCCCCCCCCCCCCContribute to the website (release notes!)
• CCCCCCCCCCCCCCCCCommunity templates (e.g bridge support is
coming)
• BBBBBBBBBBBBBBBBBlog posts
• TTTTTTTTTTTTTTTTTriage pending pull requests
35. Foreman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is matureForeman is mature
• BBBBBBBBBBBBBBBBBut releases frequently
• DDDDDDDDDDDDDDDDDeep changes happens often
• GGGGGGGGGGGGGGGGGet a test environment if possible
• TTTTTTTTTTTTTTTTThere is room for improvement
36. The community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is openThe community is open
• CCCCCCCCCCCCCCCCCome to us and discuss
• YYYYYYYYYYYYYYYYYou are probably not alone
• TTTTTTTTTTTTTTTTThere is work for everyone
• TTTTTTTTTTTTTTTTTake part of decisions
37. Avoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troublesAvoid the troubles
• UUUUUUUUUUUUUUUUUse RPM/packages: the stack is too big
• SSSSSSSSSSSSSSSSSend your patches upstream
• AAAAAAAAAAAAAAAAA patch not upstreamed slows you down
• IIIIIIIIIIIIIIIIIf it is VERY specific, make a plugin