The document discusses different types of migrations ranging from trivial to ultrahazardous. It describes approaches for migrating Gerrit installations of varying complexity based on factors like team size, number of repositories, and distance of migration. Blue/green deployments are recommended for complex migrations to minimize risk and downtime. Automating migrations with Ansible and proper planning including staging and testing are emphasized to enable smooth upgrades.
Last year we presented the vision and road-map of Gerrit multi-master setup at GerritHub.io. This year GerritForge and the Gerrit community have released the first version of the multi-site plugin, based on the legacy of the successful high-availability plugin started years ago by Ericsson.
The multi-site plugin is a 100% OpenSource solution and does not require any proprietary software installed or hardware/software level filesystem replication: it is fully based on the replication, healthcheck and multi-site plugins.
Multi-site is a journey and the Community is making big steps towards it.
Gerrit 3.0 it out! If you‘ve tried 2.16, you may have already seen the new database backend (NoteDb) and UI (PolyGerrit). With 2.16 and 3.0, these features are better than ever. In Gerrit 3.0, we’ve deleted thousands and thousands of lines from Gerrit's codebase.
Join me for a tour of new features you can use today, and a discussion about even more things to look forward to once we've freed ourselves from the burden of some of our legacy code.
Gerrit at Eclipse Foundation have really long history. Initially only EGit and JGit projects could use this tool, but starting from February 2012 Gerrit become fist class citizen in Eclipse ecosystem. Every Eclipse Foundation's project can immediately start using its powerful code review capabilities. Capabilities that together with TDD and CI create safety net against bugs for software development.
For quite long time Gerrit features set was pretty closed and adding new functionality required upstream code base changes. That means either you ended up in port and rebase nightmare or contributed your changes back to community... where they could not have been accepted because they solve your domain's problem not something that is vital for the community edition.
Plugin support in Gerrit was initially introduced in version 2.5. Since then amount of available extension points substantially increased. In this presentation we will understand Gerrit plugins architecture. We will discuss extensions and plugins especially differences between them and which one to choose when. We will see how to combine everything together (including WEB UI) to get your first full blown Gerrit plugin.
Slide deck of the presentation done at the Hactoberfest 2020 Singapore event. The talk and demo showed GitHub Actions in practice with examples of Github Superlinter, SonarCloud integration and CI CD to Azure Kubernetes service.
The recording of the session is available on YouTube
https://youtu.be/sFvCj62wmWU?t=6732&WT.mc_id=AZ-MVP-5003170
Last year we presented the vision and road-map of Gerrit multi-master setup at GerritHub.io. This year GerritForge and the Gerrit community have released the first version of the multi-site plugin, based on the legacy of the successful high-availability plugin started years ago by Ericsson.
The multi-site plugin is a 100% OpenSource solution and does not require any proprietary software installed or hardware/software level filesystem replication: it is fully based on the replication, healthcheck and multi-site plugins.
Multi-site is a journey and the Community is making big steps towards it.
Gerrit 3.0 it out! If you‘ve tried 2.16, you may have already seen the new database backend (NoteDb) and UI (PolyGerrit). With 2.16 and 3.0, these features are better than ever. In Gerrit 3.0, we’ve deleted thousands and thousands of lines from Gerrit's codebase.
Join me for a tour of new features you can use today, and a discussion about even more things to look forward to once we've freed ourselves from the burden of some of our legacy code.
Gerrit at Eclipse Foundation have really long history. Initially only EGit and JGit projects could use this tool, but starting from February 2012 Gerrit become fist class citizen in Eclipse ecosystem. Every Eclipse Foundation's project can immediately start using its powerful code review capabilities. Capabilities that together with TDD and CI create safety net against bugs for software development.
For quite long time Gerrit features set was pretty closed and adding new functionality required upstream code base changes. That means either you ended up in port and rebase nightmare or contributed your changes back to community... where they could not have been accepted because they solve your domain's problem not something that is vital for the community edition.
Plugin support in Gerrit was initially introduced in version 2.5. Since then amount of available extension points substantially increased. In this presentation we will understand Gerrit plugins architecture. We will discuss extensions and plugins especially differences between them and which one to choose when. We will see how to combine everything together (including WEB UI) to get your first full blown Gerrit plugin.
Slide deck of the presentation done at the Hactoberfest 2020 Singapore event. The talk and demo showed GitHub Actions in practice with examples of Github Superlinter, SonarCloud integration and CI CD to Azure Kubernetes service.
The recording of the session is available on YouTube
https://youtu.be/sFvCj62wmWU?t=6732&WT.mc_id=AZ-MVP-5003170
Gerrit: how to cook a plugin in only 10 minsLuca Milanesio
Gerrit 2.5 introduces the possibility to provide additional functionality through plug-ins.
Learn how to get started quickly with a step-by-step visual guide.
GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.
* What is different GitHub Flow and Git Flow?
* What is GitHub Actions?
* How to write the simple workflow?
* What's problem in GitHub Actions UI?
* What's problem with Secrets in GitHub Actions?
* How to write your first GitHub Actions and upload to the marketplace?
* What's a problem with environment variables in GitHub Actions?
KMIP stands for key management interoperability protocol. Provides simple binary and TTLV variant protocol to manage various cryptographic key cycles for enterprise needs viz., for enterprise applications, data encryption etc.
This talk discusses the core concepts behind the Kubernetes extensibility model. We are going to see how to implement new CRDs, operators and when to use them to automate the most critical aspects of your Kubernetes clusters.
Terraform and Weave GitOps: Build a Fully Automated Application StackWeaveworks
In this webinar, we show how Weave GitOps works with Kubernetes providing continuous deployment of microservice applications across multiple clusters, whether they are hosted on cloud providers, in your own data centers or at the edge. We also introduce the Terraform Controller, together with Weave GitOps Cluster API (CAPI) capabilities, which brings the entire Terraform universe into the GitOps flow. This enables any Terraform resource to be continuously reconciled (automatically / manually) against configuration drift.
This session is focused on the Hashicorp vault which is a secret management tool. We can manage secrets for 2-3 environments but what if we have more than 10 environments, then it will become a very painful task to manage them when secrets are dynamic and need to be rotated after some time. Hashicorp vault can easily manage secrets for both static and dynamic also it can help in secret rotations.
Gerrit Analytics applied to Android source codeLuca Milanesio
GerritForge trialled the Gerrit Analytics plugin and ETL with the Android Open-Source Project code-base. The results of the trial have been presented at the Gerrit User Summit 2019 at Gothenburg and Sunnyvale CA. Find inside an overview of the problems involved, the solutions implemented and also the use of the pull-replication plugin to fetch the code from the official Android repository.
Gerrit: how to cook a plugin in only 10 minsLuca Milanesio
Gerrit 2.5 introduces the possibility to provide additional functionality through plug-ins.
Learn how to get started quickly with a step-by-step visual guide.
GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.
* What is different GitHub Flow and Git Flow?
* What is GitHub Actions?
* How to write the simple workflow?
* What's problem in GitHub Actions UI?
* What's problem with Secrets in GitHub Actions?
* How to write your first GitHub Actions and upload to the marketplace?
* What's a problem with environment variables in GitHub Actions?
KMIP stands for key management interoperability protocol. Provides simple binary and TTLV variant protocol to manage various cryptographic key cycles for enterprise needs viz., for enterprise applications, data encryption etc.
This talk discusses the core concepts behind the Kubernetes extensibility model. We are going to see how to implement new CRDs, operators and when to use them to automate the most critical aspects of your Kubernetes clusters.
Terraform and Weave GitOps: Build a Fully Automated Application StackWeaveworks
In this webinar, we show how Weave GitOps works with Kubernetes providing continuous deployment of microservice applications across multiple clusters, whether they are hosted on cloud providers, in your own data centers or at the edge. We also introduce the Terraform Controller, together with Weave GitOps Cluster API (CAPI) capabilities, which brings the entire Terraform universe into the GitOps flow. This enables any Terraform resource to be continuously reconciled (automatically / manually) against configuration drift.
This session is focused on the Hashicorp vault which is a secret management tool. We can manage secrets for 2-3 environments but what if we have more than 10 environments, then it will become a very painful task to manage them when secrets are dynamic and need to be rotated after some time. Hashicorp vault can easily manage secrets for both static and dynamic also it can help in secret rotations.
Gerrit Analytics applied to Android source codeLuca Milanesio
GerritForge trialled the Gerrit Analytics plugin and ETL with the Android Open-Source Project code-base. The results of the trial have been presented at the Gerrit User Summit 2019 at Gothenburg and Sunnyvale CA. Find inside an overview of the problems involved, the solutions implemented and also the use of the pull-replication plugin to fetch the code from the official Android repository.
Dipping Your Toes Into Cloud Native Application DevelopmentMatthew Farina
Presented at CloudDevelop 2016
Building cloud native applications in containers is a new hot topic. Netflix and Google are two prime examples that have been doing it successfully for some time. Some of the new exciting projects like Docker and Kubernetes are focused on cloud native applications in containers. There are supposed to be numerous benefits including the ability to scale applications out easily while doing development on small systems like laptops, the ability for the system to handle some operational problems, and the capability to safely deploy updates to production many times per day. But, what does this look like in practice and how do you start the move to cloud native and containerized applications? In this session we'll look at what makes up a cloud native application, how they work, and how you can start small. We'll look at applications from an architecture and process point of view along with how you can deploy them to AWS, Azure, or Google Cloud. You'll walk away ready to start development on a cloud native app.
Gerrit Code Review is getting cloud-native, thanks to the extensions and plugins developed by GerritForge.
See how you can deploy and integrate Gerrit with AWS and GCloud and get the best of the serverless architecture, avoiding common pitfalls.
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
You may not think of "GitOps" and "service mesh" together – but maybe you should! These two wildly different technologies are each enormously capable independently, and combined they deliver far more than the sum of their parts: a single Git commit can control workflows customized for your exact situation by taking advantage of the service mesh's ability to measure and manipulate traffic anywhere in your application's call graph, and you can rest easy knowing that Git is preserving the complete configuration for your entire application every step of the way.
See how these technologies can work together to tackle complex problems in cloud-native applications.
What you’ll get out of this:
* Understand what GitOps and service meshes can - and can't - do for you.
* Understand basic operations with GitOps and Linkerd.
* Understand the basics of continuous deployment with Weave GitOps and Linkerd.
Gerrit multi-master / multi-site at GerritHubLuca Milanesio
GerritHub evolved from a simple master-slave setup into a truly multi-master and multi-site service. See how the solution has been implemented and the next steps for making the service even better and more distributed and scalable.
DPS2019 data scientist in the real estate industry Mia Chang
data scientist in the real estate industry
- data science workflow
- DDD: domain-driven design
- GDPR: General Data Protection Regulation
- spacy
- release automation
---
Event: DATA PLATFORM SUMMIT 2019
Date: Aug24, 2019
Event link: https://dataplatformgeeks.com/dps2019/
Linkedin: http://linkedin.com/in/mia-chang/
Continuous Delivery Pipelines: Metrics, Myths, and MilestonesDevOps.com
Join Gary Gruver as he discusses metrics and trending data needed to drive efficient release management at enterprise scale. Also, find out what over 40% of enterprise customers site as a key barrier to achieving DevOps efficiencies.
As change agents for data integration, keeping pace and adapting quickly to today’s fast and fluid digital customer compelled Axway’s globally distributed R&D team to move their DevOps to the cloud. See how they leveraged Gitlab and other value stream tooling to drive their digital transformation from an on-premise Internet Service Provider to a Cloud Provider.
Follow their Continuous Integration to Continuous Security and Delivery journey to learn how they:
- Achieve 26x faster release cycles and 100% developer adoption
- Enable collaboration for multiple teams across continents and timezones
- Simplified their source code repository administration
- Implemented world-class integrations and flexible API-enabled, seamless workflows
Deck used at Keep Austin Agile 2018 with charts from audience pollings.
Enterprises want to deliver more value with higher quality at a faster pace. Many development teams have adopted agile frameworks to improve their ability to deliver software. This has led to a local optimization for the development teams and they have become good at delivering potentially shippable increments of their products, but from there, they typically see organizational constraints in moving it to the customer. The development organization is quickly adding features to the queue waiting to be released, but the operations teams are struggling to support fires in production, maintain stability, and provide the environments and infrastructure needed so development teams can move their new functionality forward. The operation team’s focus on stability usually minimizes the number of changes in production thus creating infrequent, large batches being deployed at a planned date. Can Agile and DevOps bring the development and operations teams together to remove the organizational constraints in moving the software to the customer?
In this session, we’ll talk about the relationship of Agile and DevOps, not as an intersection, but as a progression of capability with development and operation teams working together to remove those constraints. We’ll discuss how using Agile and DevOps practices together, teams can release value faster, with higher quality, and in more stable environments making it safer to deploy.
Expedite Enterprise Software Development with JIRA®, TeamForge® SCM, and JenkinsCollabNet
Effectively connecting planning and tracking with source code management and CI helps speed up development, simplify root-cause analysis, and improve quality. The extent to which enterprises realize these benefits, however, depends on the merits of the tools they use.
Attend this CollabNet webinar to achieve the following:
1. Assess different source code-management options for JIRA, including Atlassian, third-party commercial, and open source tools
2. Learn how to boost global development teams’ productivity while maintaining centralized visibility, control, and compliance using TeamForge SCM, JIRA, and Jenkins.
3. See TeamForge SCM capabilities and its integration with JIRA and Jenkins in action.
GitOps è un nuovo metodo di CD che utilizza Git come unica fonte di verità per le applicazioni e per l'infrastruttura (declarative infrastructure/infrastructure as code), fornendo sia il controllo delle revisioni che il controllo delle modifiche. In questo talk vedremo come implementare workflow di CI/CD Gitops basati su Kubernetes, dalla teoria alla pratica passando in rassegna i principali strumenti oggi a disposizione come ArgoCD, Flux (aka Gitops engine) e JenkinsX
Jenkins plugin for Gerrit Code Review pipelinesLuca Milanesio
Introducing the brand new plugin that brings Gerrit Code Review into the Jenkins Pipeline world: simpler, faster and yet more powerful than ever. Gerrit becomes a first-class citizen into the Jenkins ecosystem by enabling a complete pipeline to fetch changes for review, building and submitting the relevant feedback as automated review comment to Gerrit. The new plugin comes from the CI validation workflow experience of the Gerrit Code Review project. The key aspects are stateless, configuration-less - apart from the standard SCM configuration settings. That means that multiple jobs and multiple branches of the same job, can have their own Gerrit integration defined and working out-of-the-box.
How to keep Jenkins logs forever without performance issuesLuca Milanesio
Jenkins is a golden source of information: it contains logs, artifacts and feedback and x-refs from multiple sources. To keep our master healthy and responsive, often we need to remove precious data. The members of the Gerrit Code Review project wanted to keep everything and this is how we did it.
Jenkins Pipeline on your Local Box to Reduce Cycle TimeLuca Milanesio
A case study on how to reduce continuous delivery cycle time by using your local resources as the starting point for the continuous delivery Jenkins Pipeline. Your local box has spare CPU, memory and a Git repo to be used with a local Jenkins Pipeline. You get fast feedback and create lots of precious artifacts.
Jenkins world 2017 - Data-Driven CI Pipeline with Gerrit Code ReviewLuca Milanesio
There is hidden value in the data produced by your Continous Delivery Pipeline that could help
you achieve more efficient processing. The main objective of this workshop is to show you how to
extract that value and benefit from it.
We will introduce you to how to configure and improve your Continuous Delivery Pipeline using
data. After an overview of a Continuous Delivery Pipeline setup using Gerrit Code Review,
Jenkins, and Docker, we will go through the steps on how to extract and analyze data across all
the pipeline stages of the delivery chain.
Unleash the hidden value of your Gerrit Code Review data. See how to extract statistics from your Git repository and Reviews and update a real-time KPI dashboard with Apache Kafka Stream Events.
Speed up Continuous Delivery with BigData AnalyticsLuca Milanesio
Use Spark, Apache Flume and ElasticSearch-Kibana to unleash the power of your Code Review and Continuous Delivery Pipeline logs. Jenkins and Gerrit Code Review are the sources of your Analytics KPI dashboards.
Devoxx 2016 Using Jenkins, Gerrit and Spark for Continuous Delivery AnalyticsLuca Milanesio
Our journey and experience in dealing with the collection/analysis of Continuous Delivery log events using Gerrit Code Review, Jenkins with Apache Flume, ElasticSearch, Kibana and Spark
GerritHub.io was launched 2 years ago.
Learnings, problems and new ideas on how to improve the GitHub to Gerrit plugin and hints on Gerrit scalability and replication.
Everyone knows about TDD nowadays, but do you feel you are spending more time testing than writing code ? Where is the point where tests become an impediment to the evolution of your project ?
Instead of taking a religious approach to TDD (""you MUST ..."", ""good developers DO ...."", ""have you read the book XYZ on ..."") this is more a professional perspective, looking at how provide value using TDD as a powerful tool to focus on value and reducing waste.
Mockist TDD has lead software to a even higher level of complexity, up to the point where looking at the tests lead to a much higher confusion rather than just reading the code.
We will go through the TDD-related problem and real-life experiences in a very interactive talk, with a common goal to see what we can do now to make our tests more a tool for a better code rather than a karma for our development working life.
GitHub pull request model and Gerrit Code Review, which one is best for you ?
What are the plus and minuses of both models ?
See how it make sense to use one or the other or even both together.
The GitHub plugin for Gerrit Code Review allows the existing developers community to start exploring code review without loosing contact with the github.com presence.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Gerrit Code Review migrations step-by-step
1. 0
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 0
Gerrit migrations
Smoothly and Step by step
Luca Milanesio
Gerrit Code Review Maintainer
GerritForge
2. 1
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 1
About
GerritForge
Founded in
the UK
HQ in
London
Committed to
OpenSource
+ Sunnyvale
CA
3. 2
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 2
Gerrit migrations smoothly
step-by-step
https://www.futurelearn.com/courses/migration-facts
4. 3
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 3
Everything changes and nothing
stands still
Heraclitus of Ephesus
Plato in Cratylus (360 BCE)
5. 4
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 4
What if you do not want to change?
https://stream.org/our-world-is-changing-too-fast/
The world around
you
is changing
anyway
6. 5
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 5
Example: Chrome 76 and Gerrit
v2.13
7. 6
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 6
Migration dimensions:
distance
Who has migrated
to another home?
to another state?
to another country?
8. 7
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 7
Migrating to another house
Get a man with a van
he moves everything
you pack your bags
One day … easy, done.
9. 8
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 8
Migrating to another state
Get interstate moving
Plan well in advance
Pack the essential, throw the rest
Plan for storage
Change utilities companies
More days needed … more pain
10. 9
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 9
Migrating to another country
Global movers
Get paperwork sorted: VISA etc.
Pack your bags, sell the rest
Study a foreign language
Start a fresh new life
Months needed … expensive, painful
11. 10
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 10
Migration dimensions: people
Who is migrating with you
just your partner?
with the kids?
the whole family with relatives?
12. 11
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 11
Small teams migrations
Easy coordination, small costs
• Plan a date
• Get a car
• Move
https://driving-tests.org/beginner-drivers/how-to-pack-a-car-for-vacation/
13. 12
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 12
Large teams migrations
Coordinate people and high costs
• Lots of advance planning
• Get proper transport
• Move in stages
https://driving-tests.org/beginner-drivers/how-to-pack-a-car-for-vacation/
14. 13
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 13
Migrations categories
Size
Distance
trivial complex
risky ultrahazardous
15. 14
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 14
Common high-level change management
process
1. Staging as a copy of production
2. Migrate in staging
3. Verify success, resolve problems
4. Migrate in production
16. 15
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 15
Trivial migrations
Small distance: +1 version (e.g. 2.14 to 2.15)
Small team: < 100 users
Small number repos: < 100
Small repos size: < 100MBytes
Small number of refs: < 10k refs
17. 16
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 16
Trivial migrations
Stop + migrate + start, as per release notes
1. Read release-notes
2. Shutdown Gerrit
3. Backup repos, index, cache and db
4. Upgrade plugins
5. Gerrit init + reindex
6. Startup Gerrit
18. 17
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 17
Complex migrations
Small distance: +1 version (e.g. 2.14 to 2.15)
Large team: 100s or 1000s of users
Large number repos: 100s or 1000s of repos
OR/AND
Large repos size: GBs in size
Large number of refs: 100ks of refs
19. 18
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 18
Complex migrations:
requirements
1. High SLA (99.9% or higher) = 8h outage /year
2. Minimize risk
3. Enforce consistency
4. Manage people expectations
5. Impact analysis on other tools (Jenkins, Jira, etc)
20. 19
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 19
Complex migrations: planning
• Resources allocation
budget, people, boxes, storage, CPUs
• High level schedule of the phases
1. Health-check of current setup
2. Development and preparation
3. Testing and bug-fix
4. Execution
5. Clean-up
21. 20
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 20
Complex migrations: health-
check
What are the current system metrics?
Do I have the right configuration?
Are the repos and changes consistent?
How is the system performing?
What is the status of heap utilization?
Are the repos GCed?
22. 21
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 21
Complex migrations: health-
check
Consequences of migrating an unhealthy system?
• Re-indexing errors
• Unexpected configuration behavior
• Unexpected performance issues
• Inability to manage the migrated system
• Very long migration times
23. 22
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 22
Complex migrations:
preparation
Simulate in staging what will happen during cutover
• Measure exact timings
• Prepare scripts and configs for migration
• Prepare acceptance tests
• Test, fix, measure, iterate
24. 23
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 23
Gerrit master
(Blue)
Gerrit master
(Green)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Reduced risk and
downtime
• Setup HAProxy and HA Plugin
• Upgrade one node at a time
• Test upgraded node before
opening traffic
25. 24
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 24
Gerrit blue
(Ver. N)
Gerrit green
(Ver. N)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Begin of the rollout
• Both blue and green active
• RO plugin inserted
• Backup of the
Repos/ReviewDb
RO
Plugin
RO
Plugin
26. 25
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 25
Gerrit blue
(Ver. N)
Gerrit green
(Ver. N)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Upgrade on green
• Shutdown Gerrit green
• Run init and upgrade plugins
• Start Gerrit green
• Online reindex + validation
RO
Plugin
RO
Plugin
27. 26
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 26
Gerrit blue
(Ver. N)
Gerrit green
(Ver. N+1)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Gerrit green live on Ver. N+1
• Move traffic to Gerrit green
• Observe metrics
• Identify and address issues
• Wait for online reindex to finish
RO
Plugin
28. 27
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 27
Gerrit blue
(Ver. N+1)
Gerrit green
(Ver. N+1)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Gerrit blue to Ver. N+1
• Shutdown Gerrit blue
• Upgrade war and plugins on blue
• Copy indexes from green to blue
• Startup Gerrit blue
• Delta reindex
RO
Plugin
29. 28
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 28
Gerrit blue
(Ver. N+1)
Gerrit green
(Ver. N+1)
HAproxy HAproxy
HA
Plugin
HA
Plugin
Shared NFS
Complex migrations:
blue/green rollout
Migration completed
• Remote RO plugin on blue
• Gerrit blue + green active
• All indexes migrated
30. 29
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 29
Risky migrations
Large distance: 2+ version (e.g. 2.11 to 2.16)
Small team: < 100 users
Small number repos: < 100
Small repos size: < 100MBytes
Small number of refs: < 10k refs
31. 30
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 30
Risky migrations
Test migrations for all releases from A to B
1. Read release-notes of *all* releases between A and B
2. Create a staging Gerrit
3. Apply the migration of all releases, one at a time
4. Identify problems, apply fixes, restart from 2.
32. 31
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 31
Risky migrations
Stop + migrate (all from A to B) + start
1. Shutdown Gerrit
2. Backup repos, index, cache and db
3. For every release from A to B:
• Upgrade plugins
• Gerrit init + reindex
4. Startup Gerrit
33. 32
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 32
Ultrahazardous migrations
https://company.sbb.ch/en/media/background-information/gotthard-base-tunnel.html
34. 33
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 33
Automating Gerrit migrations
with Ansible
35. 34
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 34
Enabling a smooth
migration
Migration is an issue that comes
up all of the times and is clearly
the major headache in managing
Gerrit
Reasons for migrating:
compatibility, added
Migration is scary because brings
DISRUPTION and OUTAGE on
Gerrit, vital in the dev life of
organizations
36. 35
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 35
Enabling a smooth
migration
Gerrit has evolved to a point where the
technology and tooling allow
limited risk
nearly zero down time migration.
With a proper planning in conjunction with the
use of HA and well managed test / prod
separation we can migrate without lowering the
level of service we are currently providing to our
providing to our organization
37. 36
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 36
GerritForge smooth migration
proposal
1. Pre-migration Health check
• Identify installation possible weak spots
• Identify some quick wins
• Determine level of maturity needed to
2. Provide a migration plan
• Timeline of the migration process
• Discussed and agreed with the client
3. Assist the HA setup and migration in the test
environment (*), T&C apply.
4. Three months included of Gerrit Enterprise
Support
• Allows full testing and possibly moving on
All of the above for $15,000
Offer time-limited to Dec
31st 2019
(*) First 16h included, standard rate for extra hours. Travelling expenses
excluded.
38. 37
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 37
Poll: what are your plans for
migrating?
Image from: http://cypp.rutgers.edu/ru-voting/political-information/public-opinion-polls/
39. 38
Gerrit User Summit 2019 – GerritForge, Inc. – Sunnyvale CA GerritForge.com 38
Wants to know more?
GerritForge.com/contact