SlideShare a Scribd company logo
Foreman Maintain
- Maintain and Upgrade Foreman Instance
Kavita Gaikwad
About me
● Senior Software Engineer
@Red Hat
● Open Source contributor
● Github - kgaikwad
IRC - kgaikwad/kavita
Foreman Upgrade flow
● Backup - Database/files
● Shutdown instance
● Depending upon OS, upgrade packages
● Perform cleanup & migrations
● Restart the application
Why Foreman Maintain
● Lots of manual steps involved in upgrade
● Call to automate the process
● Foreman Maintain is the best solution
What is it
● Foreman Maintain is written in Ruby
● Helps to simplify upgrade process
● Currently supports:
○ 1.14 1.15 1.16
● Aims to provide various features that helps to keep Foreman up and
running in a healthy state.
How does it work?
● Foreman maintain maps the CLI commands into definitions.
● This allows us to keep the set of commands immutable from version-
specific changes.
● The mapping between the CLI commands and definitions is made by defining
various metadata. Example: tags, labels
Commands
foreman-maintain health [check | fix]
foreman-maintain upgrade [check | run | abort] [--target-versions 1.15 |
1.16]
foreman-maintain advanced [procedure] [run]
foreman-maintain maintenance-mode [on | off]
foreman-maintain backup [save | restore]
foreman-maintain monitor [display | upload]
foreman-maintain debug [save |upload | tail]
foreman-maintain console
foreman-maintain config
WORKS
WIP
PLANNED
Definitions
Features - Feature is specific to a set of actions being executed for a
particular service or external plugin (Example: hammer)
Checks - Definitions of health checks to indicate health of the system against
the present features (Example: disk speed check)
Procedures - Steps for performing specific operations on the system. Uses
feature to execute the procedure.
Scenarios - A combination of checks and procedures to achieve some goal
(Example: upgrade to 1.15)
Installation
● Functionality is in under review.
Pull request link for reference :
https://github.com/theforeman/foreman_maintain/pull/103
● After release you can check this under Upstream Foreman repo
○ Check RPM under repo -
https://yum.theforeman.org/releases/nightly/el7/x86_64
○ yum install -y
https://yum.theforeman.org/releases/nightly/el7/x86_64/rubygem-
foreman_maintain-*.noarch.rpm
Foreman-Maintain Configurations
Config file path - /etc/foreman-maintain/foreman_maintain.yml
Where you will find configs parameters like
● log_dir - default set to /var/log/foreman-maintain/ (For Troubleshooting)
● backup_dir - default set to /var/lib/foreman-maintain
● storage_file - default set to /var/lib/foreman-maintain/data.yml
Demo
Upgrade Foreman 1.15 to 1.16
https://youtu.be/yxARsYpFv0M
Demo Summary
● SubCommands - Health, Upgrade and Advanced
● Maintenance Mode
● --assumeyes option for non-interactive mode
● Advantage of foreman-maintain upgrade over installer
● Patches are Welcome
Github Link - https://github.com/theforeman/foreman_maintain
Questions?
Thank you
You can find us:
#theforeman and #theforeman-dev on freenode
Foreman discourse - https://community.theforeman.org/
Issue tracker - http://projects.theforeman.org/projects/foreman-maintain/issues

More Related Content

What's hot

Terraform vs Pulumi
Terraform vs PulumiTerraform vs Pulumi
Terraform vs Pulumi
HoaiNam307
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
Gabriel Carro
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
Igor Sfiligoi
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA
 
Elastic Observability
Elastic Observability Elastic Observability
Elastic Observability
FaithWestdorp
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java Developers
Yakov Fain
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
Fujishiro Takuya
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
MapR Technologies Japan
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)
Lucas Jellema
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Weaveworks
 
使いこなそうGUC
使いこなそうGUC使いこなそうGUC
使いこなそうGUC
Akio Ishida
 
Observability and its application
Observability and its applicationObservability and its application
Observability and its application
Thao Huynh Quang
 
Kubernetes Summit 2023: Head First Kubernetes
Kubernetes Summit 2023: Head First Kubernetes Kubernetes Summit 2023: Head First Kubernetes
Kubernetes Summit 2023: Head First Kubernetes
smalltown
 
Fluent Bit
Fluent BitFluent Bit
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Sean Cohen
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
Takanori Sejima
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 

What's hot (20)

Terraform vs Pulumi
Terraform vs PulumiTerraform vs Pulumi
Terraform vs Pulumi
 
Kubernetes a comprehensive overview
Kubernetes   a comprehensive overviewKubernetes   a comprehensive overview
Kubernetes a comprehensive overview
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワークSeastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
 
Elastic Observability
Elastic Observability Elastic Observability
Elastic Observability
 
TypeScript for Java Developers
TypeScript for Java DevelopersTypeScript for Java Developers
TypeScript for Java Developers
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 
Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析Apache Drill を利用した実データの分析
Apache Drill を利用した実データの分析
 
MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)MeetUp Monitoring with Prometheus and Grafana (September 2018)
MeetUp Monitoring with Prometheus and Grafana (September 2018)
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison DowdneySetting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
Setting up Notifications, Alerts & Webhooks with Flux v2 by Alison Dowdney
 
使いこなそうGUC
使いこなそうGUC使いこなそうGUC
使いこなそうGUC
 
Observability and its application
Observability and its applicationObservability and its application
Observability and its application
 
Kubernetes Summit 2023: Head First Kubernetes
Kubernetes Summit 2023: Head First Kubernetes Kubernetes Summit 2023: Head First Kubernetes
Kubernetes Summit 2023: Head First Kubernetes
 
Fluent Bit
Fluent BitFluent Bit
Fluent Bit
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
Storage 101: Rook and Ceph - Open Infrastructure Denver 2019
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 

Similar to Introduction to Foreman Maintain

UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptxUiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
Rohit Radhakrishnan
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated Testing
Gratien D'haese
 
Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)
Artefactual Systems - Archivematica
 
Optimizing Linux Servers
Optimizing Linux ServersOptimizing Linux Servers
Optimizing Linux Servers
Davor Guttierrez
 
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 NotesCisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
Ahmed Gad
 
PostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA'sPostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA's
Gerger
 
HKG18-TR12 - LAVA for LITE Platforms and Tests
HKG18-TR12 - LAVA for LITE Platforms and TestsHKG18-TR12 - LAVA for LITE Platforms and Tests
HKG18-TR12 - LAVA for LITE Platforms and Tests
Linaro
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
Anil Nair
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
Edward Goikhman
 
Linux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New ReleasesLinux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New Releases
Samsung Open Source Group
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
Linaro
 
Linux : Booting and runlevels
Linux : Booting and runlevelsLinux : Booting and runlevels
Linux : Booting and runlevels
John Ombagi
 
The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
Rahul Bajaj
 
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
Arynga
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?
Martin Marji Cermak
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
Vigilant Technologies
 
Neutron upgrades
Neutron upgradesNeutron upgrades
Neutron upgrades
Victor Morales
 
Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016
Kellyn Pot'Vin-Gorman
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
Markus Michalewicz
 

Similar to Introduction to Foreman Maintain (20)

UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptxUiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
UiPath_Orchestrtor_Upgrade_IAAS_PAAS.pptx
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated Testing
 
Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)Archivematica Technical Training Diagnostics Guide (September 2018)
Archivematica Technical Training Diagnostics Guide (September 2018)
 
Optimizing Linux Servers
Optimizing Linux ServersOptimizing Linux Servers
Optimizing Linux Servers
 
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 NotesCisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
Cisco Certified Network Associate (CCNA) - R&S - Semester 2 Notes
 
PostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA'sPostgreSQL for Oracle Developers and DBA's
PostgreSQL for Oracle Developers and DBA's
 
HKG18-TR12 - LAVA for LITE Platforms and Tests
HKG18-TR12 - LAVA for LITE Platforms and TestsHKG18-TR12 - LAVA for LITE Platforms and Tests
HKG18-TR12 - LAVA for LITE Platforms and Tests
 
Oracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret InternalsOracle RAC 19c: Best Practices and Secret Internals
Oracle RAC 19c: Best Practices and Secret Internals
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
Linux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New ReleasesLinux Kernel Selftest Framework - Quality Control for New Releases
Linux Kernel Selftest Framework - Quality Control for New Releases
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
Linux : Booting and runlevels
Linux : Booting and runlevelsLinux : Booting and runlevels
Linux : Booting and runlevels
 
The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
 
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
Arynga CEO, Walter Buga at Automotive Linux Summit, 5/2013
 
Have you been stalking your servers?
Have you been stalking your servers?Have you been stalking your servers?
Have you been stalking your servers?
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
 
Neutron upgrades
Neutron upgradesNeutron upgrades
Neutron upgrades
 
Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016Upgrading Em13c Collaborate 2016
Upgrading Em13c Collaborate 2016
 
Maximizing Oracle RAC Uptime
Maximizing Oracle RAC UptimeMaximizing Oracle RAC Uptime
Maximizing Oracle RAC Uptime
 

Recently uploaded

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 

Recently uploaded (20)

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 

Introduction to Foreman Maintain

  • 1. Foreman Maintain - Maintain and Upgrade Foreman Instance Kavita Gaikwad
  • 2. About me ● Senior Software Engineer @Red Hat ● Open Source contributor ● Github - kgaikwad IRC - kgaikwad/kavita
  • 3. Foreman Upgrade flow ● Backup - Database/files ● Shutdown instance ● Depending upon OS, upgrade packages ● Perform cleanup & migrations ● Restart the application
  • 4. Why Foreman Maintain ● Lots of manual steps involved in upgrade ● Call to automate the process ● Foreman Maintain is the best solution
  • 5. What is it ● Foreman Maintain is written in Ruby ● Helps to simplify upgrade process ● Currently supports: ○ 1.14 1.15 1.16 ● Aims to provide various features that helps to keep Foreman up and running in a healthy state.
  • 6. How does it work? ● Foreman maintain maps the CLI commands into definitions. ● This allows us to keep the set of commands immutable from version- specific changes. ● The mapping between the CLI commands and definitions is made by defining various metadata. Example: tags, labels
  • 7. Commands foreman-maintain health [check | fix] foreman-maintain upgrade [check | run | abort] [--target-versions 1.15 | 1.16] foreman-maintain advanced [procedure] [run] foreman-maintain maintenance-mode [on | off] foreman-maintain backup [save | restore] foreman-maintain monitor [display | upload] foreman-maintain debug [save |upload | tail] foreman-maintain console foreman-maintain config WORKS WIP PLANNED
  • 8. Definitions Features - Feature is specific to a set of actions being executed for a particular service or external plugin (Example: hammer) Checks - Definitions of health checks to indicate health of the system against the present features (Example: disk speed check) Procedures - Steps for performing specific operations on the system. Uses feature to execute the procedure. Scenarios - A combination of checks and procedures to achieve some goal (Example: upgrade to 1.15)
  • 9. Installation ● Functionality is in under review. Pull request link for reference : https://github.com/theforeman/foreman_maintain/pull/103 ● After release you can check this under Upstream Foreman repo ○ Check RPM under repo - https://yum.theforeman.org/releases/nightly/el7/x86_64 ○ yum install -y https://yum.theforeman.org/releases/nightly/el7/x86_64/rubygem- foreman_maintain-*.noarch.rpm
  • 10. Foreman-Maintain Configurations Config file path - /etc/foreman-maintain/foreman_maintain.yml Where you will find configs parameters like ● log_dir - default set to /var/log/foreman-maintain/ (For Troubleshooting) ● backup_dir - default set to /var/lib/foreman-maintain ● storage_file - default set to /var/lib/foreman-maintain/data.yml
  • 11. Demo Upgrade Foreman 1.15 to 1.16 https://youtu.be/yxARsYpFv0M
  • 12. Demo Summary ● SubCommands - Health, Upgrade and Advanced ● Maintenance Mode ● --assumeyes option for non-interactive mode ● Advantage of foreman-maintain upgrade over installer ● Patches are Welcome Github Link - https://github.com/theforeman/foreman_maintain
  • 13. Questions? Thank you You can find us: #theforeman and #theforeman-dev on freenode Foreman discourse - https://community.theforeman.org/ Issue tracker - http://projects.theforeman.org/projects/foreman-maintain/issues

Editor's Notes

  1. Helps diagnose, troubleshoot foreman and gives upgrade featureLeverages user from going thr documentation and steps needed to upgrade foreman from one version to other
  2. Supports most used linux distros -Not only rectifies but fixes issues
  3. - Hammer is our CLI