Edison Wong presented on using Ansible for DevOps automation. He discussed using Ansible to deploy applications to Kubernetes and managing infrastructure as code. He demonstrated testing roles locally with Molecule and testing complex clusters with Vagrant. Wong emphasized starting with test cases and using different test drivers like Docker, LXD, and Vagrant based on the complexity of what is being tested.
Joomla Continuous Delivery with Docker on Joomla Day Bangkok 2014.
I did demo to show how it looks like on that session too. In case of anyone interested on how I did it. Please check README.md on my repository here https://git.winginfotech.net/continuous-delivery/cd-joomla/tree/master
For whoever wants to see the real demo. Please see it here https://www.youtube.com/watch?v=nFzulhEt3As at the minute around after 19.30. Demo session in Thai and hope there will be a chance that I can do presentation in English soon :)
My talk from Dockercon EU in Amsterdam, Dec 2014. Original abstract:
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
Joomla Continuous Delivery with Docker on Joomla Day Bangkok 2014.
I did demo to show how it looks like on that session too. In case of anyone interested on how I did it. Please check README.md on my repository here https://git.winginfotech.net/continuous-delivery/cd-joomla/tree/master
For whoever wants to see the real demo. Please see it here https://www.youtube.com/watch?v=nFzulhEt3As at the minute around after 19.30. Demo session in Thai and hope there will be a chance that I can do presentation in English soon :)
My talk from Dockercon EU in Amsterdam, Dec 2014. Original abstract:
The ModCloth Platform team has been building a Docker-based continuous delivery pipeline. This presentation discusses that project and how we build containers at ModCloth. The topics include what goes into our containers; how to optimize builds to use the Docker build cache effectively; useful development workflows (including using fig); and the key decision to treat containers as processes instead of mini-vms. This presentation will also discuss (and demo!) the workflow we’ve adopted for building containers and how we’ve integrated container builds with our CI.
Gitlab - Creating C++ applications with Gitlab CIUilian Ries
Gitlab is a complete tool that integrates everything from project management to product construction. In this talk I will present how a C ++ project can be analyzed, built, tested and deployed using Gitlab.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
Infrastructure as data with Ansible: systems and cloud
deployment and management for the lazy developer
Abstract: Great programmers and sysadmins are lazy people: rightly,
they prefer avoiding manual, time consuming and error-prone tasks such
as installing and configuring a Linux/Apache/Tomcat cluster for the
tenth time.
Ansible, an infrastructure (server, cloud) deployment automation &
configuration both powerful AND simple (in most cases simpler than
shell scripts and maven poms!), will make developers and it staff more
productive and effective.
http://www.ansible.cc
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
Adam Culp will talk about using Vagrant to create and manage virtualized development environments, making it easier to mirror production servers. Then will cover using Puppet for more advanced provisioning, making the addition of multiple development environments and servers easier and faster.
If you’re developing and are not sure what these technologies are, this talk is for you. As a developer it’s increasingly important to ensure our development, testing, staging, and production environments are as closely matched to each other as possible, alleviating the “can’t reproduce it on my machine” excuses. Whether you use 2, 3, or 4 of these environments is of less importance if they are all built on the same “stack” of applications.
On Thursday the 28th of January 2016, Anthony Dahanne gave a talk on how to leverage Docker to package Java applications.
After a quick introduction to Docker principles, Anthony showed some demos (available on github) on how to create Docker images for simple and not so simple Java webapps.
Then, he went on with CI/CD examples, and finished with a quick intro to the Docker Java API.
http://blog.dahanne.net/2016/01/31/docker-and-java-notes-from-the-montreal-jug-presentation/
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]Wong Hoi Sing Edison
By using Ansible for DevOps, we could manage both VM, Docker image provision, Kubernetes and CephFS provision, or even Kubernetes Pod runtime management.
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]Wong Hoi Sing Edison
AlviStack is a Hong Kong based Kubernetes distribution, passing CNCF Kubernetes Conformance Test, and now submitting as CNCF sandbox project. This workshop will share about how AlviStack works, a quick demo with Kubernetes deployment, and some on going public contribution roadmap.
https://2022.hkoscon.org/edisonwong/
Gitlab - Creating C++ applications with Gitlab CIUilian Ries
Gitlab is a complete tool that integrates everything from project management to product construction. In this talk I will present how a C ++ project can be analyzed, built, tested and deployed using Gitlab.
These are the slides of the talk given at London Selenium Meetup on 29 may 2012. This talk was on Behat, MinkExtension and Selenium. http://www.meetup.com/seleniumlondon/events/61732192/
Pic : http://www.meetup.com/seleniumlondon/photos/8638912/#124419342
Infrastructure as data with Ansible: systems and cloud
deployment and management for the lazy developer
Abstract: Great programmers and sysadmins are lazy people: rightly,
they prefer avoiding manual, time consuming and error-prone tasks such
as installing and configuring a Linux/Apache/Tomcat cluster for the
tenth time.
Ansible, an infrastructure (server, cloud) deployment automation &
configuration both powerful AND simple (in most cases simpler than
shell scripts and maven poms!), will make developers and it staff more
productive and effective.
http://www.ansible.cc
Introduction to Docker and all things containers, Docker Meetup at RelateIQdotCloud
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
Adam Culp will talk about using Vagrant to create and manage virtualized development environments, making it easier to mirror production servers. Then will cover using Puppet for more advanced provisioning, making the addition of multiple development environments and servers easier and faster.
If you’re developing and are not sure what these technologies are, this talk is for you. As a developer it’s increasingly important to ensure our development, testing, staging, and production environments are as closely matched to each other as possible, alleviating the “can’t reproduce it on my machine” excuses. Whether you use 2, 3, or 4 of these environments is of less importance if they are all built on the same “stack” of applications.
On Thursday the 28th of January 2016, Anthony Dahanne gave a talk on how to leverage Docker to package Java applications.
After a quick introduction to Docker principles, Anthony showed some demos (available on github) on how to create Docker images for simple and not so simple Java webapps.
Then, he went on with CI/CD examples, and finished with a quick intro to the Docker Java API.
http://blog.dahanne.net/2016/01/31/docker-and-java-notes-from-the-montreal-jug-presentation/
[HKOSCon x COSCUP 2020][20200801][Ansible: From VM to Kubernetes]Wong Hoi Sing Edison
By using Ansible for DevOps, we could manage both VM, Docker image provision, Kubernetes and CephFS provision, or even Kubernetes Pod runtime management.
[HKOSCON][20220611][AlviStack: Hong Kong Based Kubernetes Distribution]Wong Hoi Sing Edison
AlviStack is a Hong Kong based Kubernetes distribution, passing CNCF Kubernetes Conformance Test, and now submitting as CNCF sandbox project. This workshop will share about how AlviStack works, a quick demo with Kubernetes deployment, and some on going public contribution roadmap.
https://2022.hkoscon.org/edisonwong/
Docker is the Open Source container engine. It lets you author, run, and manage software containers. Escape from dependency hell, and make deployment a breeze! This presentation includes the standard Docker intro (actualized for Docker 0.11) as well as some insights about how to perform orchestration and multi-host container linking.
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...Wong Hoi Sing Edison
Hong Kong Open Source Conference 2018
Containerized High Availability Virtual Hosting Deployment with Kubernetes, Docker and Ansible
https://hkoscon.org/2018/topic/containerized-high-availability-virtual-hosting-deployment-kubernetes-docker-and-ansible/
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
This is the presentation given at the Azure New York Meet-Up group, September 3rd.
It includes a quick overview of the Open Source Docker Engine and its associated services delivered through the Docker Hub. It also covers the new features of Docker 1.0, and briefly explains how to get started with Docker on Azure.
Introduction to Docker, December 2014 "Tour de France" EditionJérôme Petazzoni
Docker, the Open Source container Engine, lets you build, ship and run, any app, anywhere.
This is the presentation which was shown in December 2014 for the "Tour de France" in Paris, Lille, Lyon, Nice...
Introduction to Docker, December 2014 "Tour de France" Bordeaux Special EditionJérôme Petazzoni
Docker, the Open Source container Engine, lets you build, ship and run, any app, anywhere.
This is the presentation which was shown in December 2014 for the last stop of the "Tour de France" in Bordeaux. It is slightly different from the presentation which was shown in the other cities (http://www.slideshare.net/jpetazzo/introduction-to-docker-december-2014-tour-de-france-edition), and includes a detailed history of dotCloud and Docker and a few other differences.
Special thanks to https://twitter.com/LilliJane and https://twitter.com/zirkome, who gave me the necessary motivation to put together this slightly different presentation, since they had already seen the other presentation in Paris :-)
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Jérôme Petazzoni
If you're not familiar yet with Docker, here is your chance to catch up. This presentation includes a quick overview of the Open Source Docker Engine, and its associated services delivered through the Docker Hub. Recent features are listed, as well as a glimpse at what's next in the Docker world.
This presentation was given during OSCON, at a meet-up hosted by New Relic, with co-presentations from CoreOS and Rackspace OnMetal.
Deploy Multinode GitLab Runner in openSUSE 15.1 Instances with Ansible Automa...Samsul Ma'arif
Implementing Continous Integration/Continous Delivery/Deployment (CI/CD) is one of DevOps practice. As a DevOps Engineer in a software house company, i used to manage tools to support software developer to deliver the software to the client. By implementing CI/CD, software delivery can be faster than any traditional/manual deployment.
Introduction to Docker at Glidewell Laboratories in Orange CountyJérôme Petazzoni
In this presentation we will introduce Docker, and how you can use it to build, ship, and run any application, anywhere. The presentation included short demos, links to further material, and of course Q&As. If you are already a seasoned Docker user, this presentation will probably be redundant; but if you started to use Docker and are still struggling with some of his facets, you'll learn some!
Adrian Otto from Rackspace will present "Docker 102", This includes a summary of Docker 101 as a refresher from the August session, and builds upon that by discussing who should use a registry, and what options are available for keeping them private. We will discuss best practices for keeping your production environments evergreen with updated operating system environments, library dependencies, and maintaining an immutable infrastructure.
openSUSE Conference 2017 - The Docker at Travis Presentationlslezak
Slides from the openSUSE Conference 2017 presentation.
The presentation describes the advantages of using Docker at Travis. There 2 described examples how we use it in the YaST team.
drustack a mobile-friendly web content management system (cms)Wong Hoi Sing Edison
DruStack - A mobile-friendly web content management system (CMS), providing features for mobile-responsive layout, effortless content authoring, multilingual capabilities, accessibility integration, built-in web services.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Łukasz Chruściel
No one wants their application to drag like a car stuck in the slow lane! Yet it’s all too common to encounter bumpy, pothole-filled solutions that slow the speed of any application. Symfony apps are not an exception.
In this talk, I will take you for a spin around the performance racetrack. We’ll explore common pitfalls - those hidden potholes on your application that can cause unexpected slowdowns. Learn how to spot these performance bumps early, and more importantly, how to navigate around them to keep your application running at top speed.
We will focus in particular on tuning your engine at the application level, making the right adjustments to ensure that your system responds like a well-oiled, high-performance race car.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
AI Genie Review: World’s First Open AI WordPress Website CreatorGoogle
AI Genie Review: World’s First Open AI WordPress Website Creator
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-genie-review
AI Genie Review: Key Features
✅Creates Limitless Real-Time Unique Content, auto-publishing Posts, Pages & Images directly from Chat GPT & Open AI on WordPress in any Niche
✅First & Only Google Bard Approved Software That Publishes 100% Original, SEO Friendly Content using Open AI
✅Publish Automated Posts and Pages using AI Genie directly on Your website
✅50 DFY Websites Included Without Adding Any Images, Content Or Doing Anything Yourself
✅Integrated Chat GPT Bot gives Instant Answers on Your Website to Visitors
✅Just Enter the title, and your Content for Pages and Posts will be ready on your website
✅Automatically insert visually appealing images into posts based on keywords and titles.
✅Choose the temperature of the content and control its randomness.
✅Control the length of the content to be generated.
✅Never Worry About Paying Huge Money Monthly To Top Content Creation Platforms
✅100% Easy-to-Use, Newbie-Friendly Technology
✅30-Days Money-Back Guarantee
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIGenieApp #AIGenieBonus #AIGenieBonuses #AIGenieDemo #AIGenieDownload #AIGenieLegit #AIGenieLiveDemo #AIGenieOTO #AIGeniePreview #AIGenieReview #AIGenieReviewandBonus #AIGenieScamorLegit #AIGenieSoftware #AIGenieUpgrades #AIGenieUpsells #HowDoesAlGenie #HowtoBuyAIGenie #HowtoMakeMoneywithAIGenie #MakeMoneyOnline #MakeMoneywithAIGenie
7. PantaRei Design
●
Everything Changes and Nothing Remains Still
●
Reinvent Enterprise with Open Source Software and Cloud Computing
●
Hong Kong based FOSS service provider
– Content Management System (CMS) with Drupal
– Cloud Hosting Solution with Amazon Web Services (AWS)
– Team collaborate solution with Atlassian
●
Business Partner with industry leaders
– 2012, AWS Consulting Partner
– 2013, Acquia Partner
– 2013, Atlassian Experts
– 2014, Rackspace Hosting Partner
●
http://pantarei-design.com
8.
9. Outline
●
Why DevOps with Ansible?
●
Hello World with Ansible
●
Ansible Role with Molecule
●
Docker Build with Ansible (!?)
●
Molecule + Vagrant + Ceph + Kubernetes
●
Tips & Tricks
●
Roadmap
●
Q&A
15. HKOSCON 2018 (cont.)
●
Each talent (i.e. domain) goes into
individual Kubernetes namespace
●
Each namespace have its own Apache,
PHP, MySQL, SSHD, etc
●
All dynamic data store outside
Kubernetes, goes into CephFS
19. Why DevOps?
●
Manual install
– Non-repeatable
●
Manual install with document
– Difficult to manage (Docs to Action)
– Always async with production
●
Manual scripting
– Difficult for everything: learn, write, error detection,
debug, etc…
20. Why DevOps? (cont.)
●
DevOps
– Deployment logic as code (i.e. revision
with GIT)
– With error detection and debug tools
– Manage multiple deployment target at
once (e.g. data center, clustering)
21. Why Ansible?
●
Writing “tasks” in YAML
– Human readable == minimize
documentation
– Easy to learn, when compare with
Ruby for Chef or Puppet
22. Why Ansible? (cont.)
A lot of reusable modules
– Simplify complicated logic with error
detection
– Or running “shell” command directly
28. Hello World with Ansible
●
Install and Setup Ansible
●
Ansible in CLI
●
Ansible in Playbook
●
Ansible in Role
●
Demo: ansible-playbook-ubuntu-desktop
30. Ansible in CLI
●
Running command on remote guest is
simple
– ansible -i guest1,guest2, -m ping
– ansible -i guest1,guest2, -m apt -a ‘name=vim
state=present’
– ansible -i guest1,guest2, -m shell -a ‘uname -a’
31. Ansible in Playbook
●
Running multiple “task” once together
●
Finer control than running with CLI
●
Define your inventory then play with it
– ansible-playbook -i inventory/all/hosts
playbooks/setup-everything.yml
32.
33.
34. Ansible in Role
●
Not just “Tasks”, but also:
– Default over-writable variables
– Internal static variables
– Static files for copy
– Template files
– Event handlers
●
A basic build block for complex architecture
– Use Playbook to include different Roles
35. Ansible in Role (cont.)
●
Create a new role with ansible-galaxy
– mkdir ~/.ansible/roles
– cd ~/.ansible/roles
– ansible-galaxy init dummy
●
You could now test it (run via your localhost)
– cd ~/.ansible/roles/dummy
– ansible-playbook -i tests/inventory tests/test.yml
39. Ansible Role with Molecule
●
Install and Setup Molecule
●
Why Molecule?
●
Multiple Test Cases
●
Multiple Test Drivers
●
Demo: ansible-role-sshd
40. Install and Setup Molecule
●
Molecule could be install with PIP
– pip install ansible molecule
●
Also install with Docker and Vagrant
support
– pip install molecule[docker]
– pip install molecule[vagrant]
41. Why Molecule?
●
DevOps R&D need test
– Role created by ansible-galaxy run via localhost
●
Each test should run in a clean environment
– Role created by molecule run inside
Docker/LXD/Vagrant/etc...
●
Manage test environment(s) is boring
●
Code lint
42. Why Molecule? (cont.)
●
Molecule
– Testing framework for Ansible
– Written in Ansible and Python style
– Write your test case in standard Ansible style
– Manage test environment life-cycle for you
– Code lint
– Idempotence (i.e. run twice to confirm no extra
changes)
43. Why Molecule? (cont.)
●
Create a new Role with molecule
– cd ~/.ansible/roles
– molecule init role -r dummy2 -d docker
– molecule init role -r dummy3 -d lxd
– molecule init role -r dummy4 -d vagrant
●
Now you could run test inside Docker
– cd ~/.ansible/roles/dummy2
– molecule test
44.
45.
46. Multiple Test Cases
●
Molecule support multiple test cases
definition, e.g.
– molecule/centos-7/molecule.yml
– molecule/suse-15/molecule.yml
– molecule/ubuntu-16.04/molecule.yml
– molecule/ubuntu-18.04/molecule.yml
47. Multiple Test Drivers
●
Molecule support multiple drivers
– Docker (default)
– LXD
– Vagrant (i.e. VirtualBox)
– EC2/GCE/Delegated/etc...
57. Why NOT ansible-bender?
(cont.)
●
PROS
– Could integrate with Travis CI
– Push image to DockerHub once build successful
●
CONS
– Can’t trigger auto build from DockerHub if
upstream base image get update (i.e. not
Dockerfile-based)
58.
59.
60. How Dockerfile with Ansible?
●
Kickstart with Dockerfile
●
Install Python, PIP then Ansible
inside Docker image
●
Run Molecule via localhost inside
Docker image (i.e. Delegated)
61. How Dockerfile with Ansible?
●
PROS
– All Roles could be pre-tested
– A simple Playbook via localhost
– Single layer for Docker Image
– Support auto build via DockerHub
●
CONS
– Size bigger than purely Dockerfile (i.e. Python and
Ansible)
69. Test Complex Cluster with
Vagrant
●
In case of Ceph OSD, truth block device is
required
– Not support file-based loop device
●
In case of Weave, each Kubernetes node
must have unique machine ID
– With LXD all instance get the same host
machine ID
70. Test Complex Cluster with
Vagrant (cont.)
●
Molecule + Docker
– Default, VERY FAST
– NO, (simple) systemd support
– NO, (simple) block device support
– YES, Travis CI support
71. Test Complex Cluster with
Vagrant (cont.)
●
Molecule + LXD
– Fast
– YES, systemd support
– NO, (simple) block device support
– YES, Travis CI support
72. Test Complex Cluster with
Vagrant (cont.)
●
Molecule + Vagrant
– VERY SLOW (i.e. booting VM)
– YES, systemd support
– YES, block device support
– NO, local test only (i.e. VT-x/AMD-v
required)
73. Test Complex Cluster with
Vagrant (cont.)
●
Molecule + LXD for most Ansible
Roles R&D
●
Molecule + Vagrant for final stage
local integration test
77. Demo: alvistack-ansible (cont.)
●
Manually create Ceph OSD and CephFS, e.g.
– ceph-volume lvm create --blue-store --data /dev/sdc
– ceph osd pool create cephfs_metadata 32 32
– ceph osd pool create cephfs_data 128 128
– ceph fs new cephfs cephfs_metadata cephfs_data
78.
79.
80.
81. Tips & Tricks
●
Always Start with Test Cases
●
Simple Tests Goes Docker
●
Complex Tests Goes LXD
●
Cluster Tests Goes Vagrant
●
Roles Only Handle Single Group
●
Playbook Handle Cross Group
●
Cross Target File Copy with `base64`
82. Roadmap
●
Automatic upgrade plan for each Ansible Role, e.g.
– Save last run schema version (e.g. 1001) to remote with
Local facts (facts.d)
– Fetch and compare with current schema version from
code (e.g. 1004)
– Run the in between upgrade procedures (e.g. 1002.yml,
1003.yml, 1004.yml)
– Update the saved schema version
84. Contact Us
●
Address: Unit 326, 3/F, Building 16W, No.16
Science Park West Avenue, Hong Kong Science
Park, Shatin, N.T.
●
Phone: +852 3576 3812
●
Fax: +852 3753 3663
●
Email: sales@pantarei-design.com
●
Web: http://pantarei-design.com