Automate all the things. Sebastian Feldmann

Size: px
Start display at page:

Download "Automate all the things. Sebastian Feldmann"

Transcription

1 Automate all the things Sebastian Feldmann

2 "Automate until the job is boring as hell"

3 System Configuration

4 Software packaging

5 Software deployment

6 Combining all to work seamlessly together

7 System Configuration

8 App deployment, configuration management and orchestration all from one system. Powerful automation that you can learn quickly.

9 About Ansible Written in Python Using SSH No agents YAML

10 Ansible Modules Package management (apt, yum ) Command execution (command, shell) Service management (start, stop ) File handling (copy, template ) SCM (git, Bazzar, Subversion)

11 Inventory

12 Roles

13 Playbook

14 System configuration with Ansible

15 Inventory ops/ +- inv/ +- integration/ +- local/ +- production/ good practice inventory setup

16 Inventory [webserver] [dbserver] ops/inv/integration/hosts

17 Playbook - hosts: webserver roles: - apache ops/install.webserver.yml

18 Role ops/ +- roles/ +- apache/ +- files/ +- handlers/ +- tasks/ +- templates/ +- install.webserver.yml good practice role setup

19 Tasks - name: install apache action: apt pkg=apache2 state=present force=yes - name: copy mpm prefork conf copy: dest=/etc/apache2/mods-available/mpm_prefork.conf src=mpm_prefork.conf notify: restart apache ops/roles/apache/tasks/main.yml

20 Tasks - name: install apache action: apt pkg=apache2 state=present force=yes - name: copy mpm prefork conf copy: dest=/etc/apache2/mods-available/mpm_prefork.conf src=mpm_prefork.conf notify: restart apache ops/roles/apache/tasks/main.yml

21 Tasks - name: install apache action: apt pkg=apache2 state=present force=yes - name: copy mpm prefork conf copy: dest=/etc/apache2/mods-available/mpm_prefork.conf src=mpm_prefork.conf notify: restart apache ops/roles/apache/tasks/main.yml

22 Tasks - name: install apache action: apt pkg=apache2 state=present force=yes - name: copy mpm prefork conf copy: dest=/etc/apache2/mods-available/mpm_prefork.conf src=mpm_prefork.conf notify: restart apache ops/roles/apache/tasks/main.yml

23 Handler - name: restart apache action: service name=apache2 state=restarted ops/roles/apache/handlers/main.yml

24 Handler - name: restart apache action: service name=apache2 state=restarted ops/roles/apache/handlers/main.yml

25 Recap Create inventories Install playbook Apache role Install tasks / handlers

26 Execute Ansible $ ansible-playbook -i inv/integration/hosts install.webserver.yml execution example

27 Execute Ansible $ ansible-playbook -i inv/integration/hosts install.webserver.yml execution example

28 Execute Ansible $ ansible-playbook -i inv/integration/hosts install.webserver.yml execution example

29 Execute Ansible $ ansible-playbook -i inv/integration/hosts install.webserver.yml execution example

30 PLAYBOOK: install.webserver.yml ******************************************* 1 plays in ansible/install.webserver.yml PLAY [webserver] *************************************************************** TASK [apache : install apache] *************************************************************** ok: [ ] TASK [apache-c24 : copy mpm prefork conf] ********************************************* ok: [ ] NOTIFIED HANDLER restart apache PLAY RECAP **************************************************** : ok=2 changed=2 unreachable=0 failed=0 Finished: SUCCESS

31 PLAYBOOK: install.webserver.yml ******************************************* 1 plays in ansible/install.webserver.yml PLAY [webserver] *************************************************************** TASK [apache : install apache] *************************************************************** ok: [ ] TASK [apache-c24 : copy mpm prefork conf] ********************************************* ok: [ ] NOTIFIED HANDLER restart apache PLAY RECAP **************************************************** : ok=2 changed=0 unreachable=0 failed=0 Finished: SUCCESS

32 Execute Ansible $ ansible-playbook -i inv/integration/hosts --check install.webserver.yml dry run with --check $ ansible-playbook -i inv/integration/hosts --limit install.webserver.yml restrict execution with --limit

33

34 Software Packaging

35 "Ant can be used to pilot any type of process which can be described in terms of targets and tasks"

36 Ant Written in Java XML configuration Targets (tasks) Bundled with Java

37 Software packaging with Ant

38 Ant Configuration <?xml version="1.0" encoding="utf-8"?> <project name="projectx" default="build"> <target name="build" depends="target1, target2, target3" /> <target name="target1">...</target> <target name="target2">...</target>... </project> build.xml

39 Ant Configuration <?xml version="1.0" encoding="utf-8"?> <project name="projectx" default="build"> <target name="build" depends="target1, target2, target3" /> <target name="target1">...</target> <target name="target2">...</target>... </project> build.xml

40 Ant Configuration <?xml version="1.0" encoding="utf-8"?> <project name="projectx" default="build"> <target name="build" depends="target1, target2, target3" /> <target name="target1">...</target> <target name="target2">...</target>... </project> build.xml

41 Ant Configuration <?xml version="1.0" encoding="utf-8"?> <project name="projectx" default="build"> <target name="build" depends="target1, target2, target3" /> <target name="target1">...</target> <target name="target2">...</target>... </project> build.xml

42 Composer <target name="composer-install"> <exec executable="composer" failonerror="true"> <arg value="install" /> <arg value="--no-interaction" /> </exec> </target> build.xml

43 Composer <target name="composer-install"> <exec executable="composer" failonerror="true"> <arg value="install" /> <arg value="--no-interaction" /> </exec> </target> build.xml

44 Composer <target name="composer-install"> <exec executable="composer" failonerror="true"> <arg value="install" /> <arg value="--no-interaction" /> </exec> </target> build.xml

45 Composer <target name="composer-install"> <exec executable="composer" failonerror="true"> <arg value="install" /> <arg value="--no-interaction" /> </exec> </target> build.xml

46 Composer <target name="composer-install"> <exec executable="composer" failonerror="true"> <arg value="install" /> <arg value="--no-interaction" /> </exec> </target> build.xml

47 PHPUnit <target name="phpunit" description="run unit tests"> <exec executable="phpunit" failonerror="true"></exec> </target> build.xml

48 PHPUnit <target name="phpunit" description="run unit tests"> <exec executable="phpunit" failonerror="true"></exec> </target> build.xml

49 PHPUnit <target name="phpunit" description="run unit tests"> <exec executable="phpunit" failonerror="true"></exec> </target> build.xml

50 PHPUnit <target name="phpunit" description="run unit tests"> <exec executable="phpunit" failonerror="true"></exec> </target> build.xml

51 Ant Tasks Minify Assets Cache warmup (Templates, DIContainer )

52 Ant Execution $ ant execute default target $ ant phpunit execute specific target

53

54 Software Deployment

55 Software deployment with Ansible

56 Software Deployment Copy app to server Activate deployed app Allow quick rollbacks

57 Half Way There Enhance the inventory New playbook New role

58 Inventory ops/ +- inv/ +- integration/ +- group_vars/ +- host_vars/ add variables

59 Variables system: environment: integration projectx: domain: ops/inv/integration/group_vars/webserver

60 Playbook - hosts: webserver roles: - projectx ops/deploy.projectx.yml

61 Role ops/ +- roles/ +- projectx/ +- files/ +- handler/ +- tasks/ +- templates/ +- deploy.projectx.yml best practice role setup

62 Tasks # create the directory for the current app version - name: Create version directory file: path=/var/www/projectx/{{ version }} state=directory # copy the prepared app to your web servers - name: Copy files to server synchronize: src={{ app }} dest=/var/www/projectx/{{ version }} perms=yes recursive=yes delete=yes owner=no group=no ops/roles/projectx/main.yml

63 Tasks # create the directory for the current app version - name: Create version directory file: path=/var/www/projectx/{{ version }} state=directory # copy the prepared app to your web servers - name: Copy files to server synchronize: src={{ app }} dest=/var/www/projectx/{{ version }} perms=yes recursive=yes delete=yes owner=no group=no ops/roles/projectx/main.yml

64 Tasks # create the directory for the current app version - name: Create version directory file: path=/var/www/projectx/{{ version }} state=directory # copy the prepared app to your web servers - name: Copy files to server synchronize: src={{ app }} dest=/var/www/projectx/{{ version }} perms=yes recursive=yes delete=yes owner=no group=no ops/roles/projectx/main.yml

65 Tasks # create the directory for the current app version - name: Create version directory file: path=/var/www/projectx/{{ version }} state=directory # copy the prepared app to your web servers - name: Copy files to server synchronize: src={{ app }} dest=/var/www/projectx/{{ version }} perms=yes recursive=yes delete=yes owner=no group=no ops/roles/projectx/main.yml

66 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

67 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

68 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

69 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

70 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

71 Tasks # create a symlink to activate the vhost # could be done with "command: a2ensite projectx.conf" # but this would always trigger an apache restart # even if nothing changes - name: Activate vhost configuration file: dest=/etc/apache2/sites-enabled/010-projectx.conf src=/etc/apache2/sites-available/projectx.conf state=link notify: restart apache ops/roles/projectx/tasks/main.yml

72 Tasks # create a symlink to activate the vhost # could be done with "command: a2ensite projectx.conf" # but this would always trigger an apache restart # even if nothing changes - name: Activate vhost configuration file: dest=/etc/apache2/sites-enabled/010-projectx.conf src=/etc/apache2/sites-available/projectx.conf state=link notify: restart apache ops/roles/projectx/tasks/main.yml

73 Tasks # create a symlink to activate the vhost # could be done with "command: a2ensite projectx.conf" # but this would always trigger an apache restart # even if nothing changes - name: Activate vhost configuration file: dest=/etc/apache2/sites-enabled/010-projectx.conf src=/etc/apache2/sites-available/projectx.conf state=link notify: restart apache ops/roles/projectx/tasks/main.yml

74 Tasks # create a symlink to activate the vhost # could be done with "command: a2ensite projectx.conf" # but this would always trigger an apache restart # even if nothing changes - name: Activate vhost configuration file: dest=/etc/apache2/sites-enabled/010-projectx.conf src=/etc/apache2/sites-available/projectx.conf state=link notify: restart apache ops/roles/projectx/tasks/main.yml

75 Tasks # create a symlink to activate the vhost # could be done with "command: a2ensite projectx.conf" # but this would always trigger an apache restart # even if nothing changes - name: Activate vhost configuration file: dest=/etc/apache2/sites-enabled/010-projectx.conf src=/etc/apache2/sites-available/projectx.conf state=link notify: restart apache ops/roles/projectx/tasks/main.yml

76 Template <VirtualHost *:80> ServerName {{ projectx.domain }} DocumentRoot /var/www/projectx/{{ version }}/htdocs setenv APP.ENVIRONMENT {{ system.environment }} <Directory /var/www/projectx/{{ version }}/htdocs> AllowOverride All Require all granted </Directory> </VirtualHost> ops/roles/projectx/templates/projectx.conf

77 Variables system: environment: integration projectx: domain: ops/inv/integration/group_vars/webserver

78 Template <VirtualHost *:80> ServerName {{ projectx.domain }} DocumentRoot /var/www/projectx/{{ version }}/htdocs setenv APP.ENVIRONMENT {{ system.environment }} <Directory /var/www/projectx/{{ version }}/htdocs> AllowOverride All Require all granted </Directory> </VirtualHost> ops/roles/projectx/templates/projectx.conf

79 Recap Inventory variables Deploy playbook Project role Deployment tasks

80 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

81 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

82 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

83 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

84 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

85 Execute Ansible $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.1 app=/some/local/dir/app/" deploy.projectx.yml deployment execution

86 Tasks # deploy the vhost configuration for our project - name: Deploy vhost configuration action: template src=projectx.conf dest=/etc/apache2/sites-available/projectx.conf notify: restart apache tags: rollback ops/roles/projectx/main.yml

87 Template <VirtualHost *:80> ServerName {{ projectx.domain }} DocumentRoot /var/www/projectx/{{ version }}/htdocs setenv APP.ENVIRONMENT {{ system.environment }} <Directory /var/www/projectx/{{ version }}/htdocs> AllowOverride All Require all granted </Directory> </VirtualHost> ops/roles/projectx/templates/projectx.conf

88 Rollback $ ansible-playbook -i inv/integration/hosts --extra-vars "version=1.0.0" --tags rollback deploy.projectx.yml rollback execution

89

90 System Config Clone repository Execute Ansible

91 Deployment Tag version Checkout version Execute Ant Execute Ansible

92 Not boring!

93 NOT BAD

94 But I only want to click a button

95 And everything should work

96 Build great things at any scale

97 Jenkins Written in Java Build server Projects / Jobs Jetty (build in webserver)

98 Ansible Plugin

99 System configuration with Ansible and Jenkins

100 System Management

101 SCM Config use some SCM to manage your Ansible project

102 Parameter Setup

103 Ansible Plugin Config parameter usage

104 Job Execution

105 System Configuration Push code to git repository Push a button

106 Software packaging and deployment with Ant, Ansible and Jenkins

107 Software Deployment

108 Parameter Setup

109 SCM Config configure projectx SCM

110 Ant Ant support out of the box

111 Ansible Plugin Config setup ansible playbook and inventory

112 Ansible Extra Variables setup version and application directory

113 Job Execution

114 App Deployment Tag version in git repository Push button

115 Recap System Management Build Software Deployment Build Execute everything with a single click

116 Is it getting boring yet?

117 At least a little right ;)

118

119

120 Sebastian Feldmann sebastianfeldmann

Automating All The Things. Sebastian Feldmann

Automating All The Things. Sebastian Feldmann Automating All The Things Sebastian Feldmann Automation "Automate until the job is boring as hell" Automation System Configuration Software Deployment Software Preparation Putting it all together App deployment,

More information

Inventory. PlayBook. Python. Ansible Config. Modules SSH

Inventory. PlayBook. Python. Ansible Config. Modules SSH Plays and Playbooks Python Inventory PlayBook Ansible Config SSH Modules Python Inventory PlayBook Ansible Config SSH Play Play Play Modules Plays map hosts to tasks Aplay can have multiple tasks Aplaybook

More information

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari

INDIGO PAAS TUTORIAL. ! Marica Antonacci RIA INFN-Bari INDIGO PAAS TUTORIAL RIA-653549! Marica Antonacci!! marica.antonacci@ba.infn.it! INFN-Bari INDIGO PAAS Tutorial Introductory Concepts TOSCA Ansible Docker Orchestrator APIs INDIGO TOSCA custom types and

More information

Managing Infrastructure with Python, Fabric and Ansible. By Tim Henderson hackthology.com github.com/timtadh

Managing Infrastructure with Python, Fabric and Ansible. By Tim Henderson hackthology.com github.com/timtadh Managing Infrastructure with Python, Fabric and Ansible By Tim Henderson tadh@case.edu hackthology.com github.com/timtadh part 00 death of a sys-admin there are too many machines now, we have become root

More information

ANSIBLE BEST PRACTICES: THE ESSENTIALS Ansible Automates: DC. Jamie

ANSIBLE BEST PRACTICES: THE ESSENTIALS Ansible Automates: DC. Jamie ANSIBLE BEST PRACTICES: THE ESSENTIALS Ansible Automates: DC Jamie Duncan @jamieeduncan cloudguy@redhat.com about jduncan 6+ years with Red Hat Coming Soon #shamelessplug 2 My daughter Elizabeth #cutestthingever

More information

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant

DevOps examples on NonStop Tools Overview. Cor Geboers, ATC Consultant DevOps examples on NonStop Tools Overview Cor Geboers, ATC Consultant About me Cor Geboers Senior Consultant in NonStop ATC, based in Belgium 35+ years in IT development and support 25+ years NonStop experience

More information

DevOps Course Content

DevOps Course Content DevOps Course Content 1. Introduction: Understanding Development Development SDLC using WaterFall & Agile Understanding Operations DevOps to the rescue What is DevOps DevOps SDLC Continuous Delivery model

More information

ANSIBLE BEST PRACTICES: THE ESSENTIALS

ANSIBLE BEST PRACTICES: THE ESSENTIALS ANSIBLE BEST PRACTICES: THE ESSENTIALS Timothy Appnel Senior Product Manager, Ansible GitHub: tima Twitter: appnelgroup 2 THE ANSIBLE WAY COMPLEXITY KILLS PRODUCTIVITY That's not just a marketing slogan.

More information

Test environment configuration with Ansible.

Test environment configuration with Ansible. Test environment configuration with Ansible. Vikentsi Lapa Linux Vacation / Eastern Europe, 2014 Outline Introduction Do you need to listen this presentation? Test environment description. About Ansible

More information

Deployment Tools and Techniques

Deployment Tools and Techniques Deployment Tools and Techniques Cengiz Günay CS485/540 Software Engineering Fall 2014, some slides courtesy of J. Smith, R. Pressman, I. Sommerville, and the Internets Günay (Emory MathCS) Deployment Fall

More information

DevOps Course Content

DevOps Course Content Introduction to DevOps: Background Ingredients of DevOps DevOps principles Who has adopted? Mirage or Reality? Challenges, Domain specific Technology specific DevOps Toolchain (Practices and Tools) SDLC

More information

Beginner s guide to continuous integration

Beginner s guide to continuous integration Beginner s guide to continuous integration Gilles QUERRET Riverside Software US PUG Challenge 2013 What s continuous integration? Build, deployment and tests are long and boring tasks Development cycles

More information

DEVOPS TRAINING COURSE CONTENT

DEVOPS TRAINING COURSE CONTENT DEVOPS TRAINING COURSE CONTENT SECTION 1 Introduction to DevOps Certification What is DevOps? Why DevOps? Benefits of DevOps Overview of DevOps SECTION 2- Provisioning Vargant-What is vagrant-compare with

More information

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info

We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info We are ready to serve Latest Testing Trends, Are you ready to learn?? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME : LAB TIMINGS : PH NO: 9963799240, 040-40025423

More information

Installing Open Project on Ubuntu AWS with Apache and Postgesql

Installing Open Project on Ubuntu AWS with Apache and Postgesql Installing Open Project on Ubuntu AWS with Apache and Postgesql Contents Installing Open Project on Ubuntu AWS with Apache and Postgesql... 1 Add new ports to your security group... 2 Update your system...

More information

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM

An Integrated Approach to Managing Windchill Customizations. Todd Baltes Lead PLM Technical Architect SRAM An Integrated Approach to Managing Windchill Customizations Todd Baltes Lead PLM Technical Architect SRAM Event hashtag is #PTCUSER10 Join the conversation! Topics What is an Integrated Approach to Windchill

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

PHPUnit Best Practices. Sebastian Bergmann May 31st 2014

PHPUnit Best Practices. Sebastian Bergmann May 31st 2014 PHPUnit Best Practices Sebastian Bergmann May 31st 2014 PHPUnit Best Practices Sebastian Bergmann May 31st 2014 Sebastian Bergmann Driven by his passion to help developers build better software. sharing

More information

Continuous Integration using Docker & Jenkins

Continuous Integration using Docker & Jenkins Jenkins LinuxCon Europe 2014 October 13-15, 2014 Mattias Giese Solutions Architect giese@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development Introducing B1 Systems founded in

More information

Ansible Cookbook 2014

Ansible Cookbook 2014 René Moser Tue Nov 25 23:13:45 UTC 2014 1 Contents Contents Intro 4 Basics 5 How do I use all hosts data in my play or template? 6 Solution................................................... 6 Explanation.................................................

More information

Orchestrate JBoss Middleware with Ansible Tower Red Hat Summit San Francisco

Orchestrate JBoss Middleware with Ansible Tower Red Hat Summit San Francisco Orchestrate JBoss Middleware with Ansible Tower Red Hat Summit 2016 - San Francisco Marc Zottner Architect, Red Hat mzottner@redhat.com 29/06/2016 Roeland van de Pol Architect, Red Hat rvandepol@redhat.com

More information

Automate NetScaler with Ansible

Automate NetScaler with Ansible Automate NetScaler with Ansible Introduction: Networking Automation for Digital Transformation Leading-edge businesses are changing the way they respond to change. Their goal is to react quickly to customer

More information

Automatically deploy Schema Changes with Ansible and Liquibase

Automatically deploy Schema Changes with Ansible and Liquibase Automatically deploy Schema Changes with Ansible and Liquibase Robert Marz Robert Marz Client Senior Technical Architect with database centric view of the world its-people Portfolio Manager Database Technologies

More information

Making GENI Experiments Repeatable and Replicable

Making GENI Experiments Repeatable and Replicable Making GENI Experiments Repeatable and Replicable Vic Thomas GENI Project Office Sponsored by the National Science Foundation MAKING EXPERIMENTS REPEATABLE www.geni.net 2 Experiment Repeatability Experiment

More information

Automatically deploy Schema Changes with Ansible and Liquibase

Automatically deploy Schema Changes with Ansible and Liquibase Automatically deploy Schema Changes with Ansible and Liquibase Robert Marz Robert Marz Client Senior Technical Architect with database centric view of the world its-people Portfolio Manager Database Technologies

More information

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot

JenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science

More information

Creating Flex Applications with IntelliJ IDEA

Creating Flex Applications with IntelliJ IDEA Creating Flex Applications with IntelliJ IDEA In this tutorial you will: 1. Create an IntelliJ IDEA project with Flex-enabled module 2. Create Ant build configuration to compile and run Flex application

More information

Automation Deployment Guide

Automation Deployment Guide Automation Deployment Guide Version History: Version Date Author Comment 1.0 02/08/15 Maha Hussein Sallam https://www.linkedin.co m/in/mahahusseinsallam Initial version Table of Contents Purpose :...3

More information

kayobe Documentation OpenStack Foundation

kayobe Documentation OpenStack Foundation OpenStack Foundation Jun 22, 2018 Contents 1 Kayobe 1 1.1 Features.................................................. 1 1.2 Documentation.............................................. 2 1.3 Advanced Documentation........................................

More information

DevOps Online Training

DevOps Online Training DevOps Online Training IQ Online training facility offers Devops online training by trainers who have expert knowledge in the Devops and proven record of training hundreds of students. Our Oracle Devops

More information

By: Jeeva S. Chelladhurai

By: Jeeva S. Chelladhurai CI CD By: Jeeva S. Chelladhurai Tools SCM: www.github.com CI/CD: Jenkins 2.0 Important Plugins: Pipeline (for Jenkinsfile), git, github, SSH Slaves (for build slave) Platform: docker Container Orchestration:

More information

DevOps Technologies. for Deployment

DevOps Technologies. for Deployment DevOps Technologies for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in several ways. In its most

More information

Important DevOps Technologies (3+2+3days) for Deployment

Important DevOps Technologies (3+2+3days) for Deployment Important DevOps Technologies (3+2+3days) for Deployment DevOps is the blending of tasks performed by a company's application development and systems operations teams. The term DevOps is being used in

More information

A Cloud-based Architecture for Processing 3D Mars Terrain

A Cloud-based Architecture for Processing 3D Mars Terrain OnSight A Cloud-based Architecture for Processing 3D Mars Terrain Parker Abercrombie Jet Propulsion Laboratory, California Institute of Technology 2016 California Institute of Technology. Government sponsorship

More information

The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure. Albert Law Solution Architect Manager

The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure. Albert Law Solution Architect Manager The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure Albert Law Solution Architect Manager Agenda The Challenges and the trend Bridging the gap Next step 2 FROM

More information

Garment Documentation

Garment Documentation Garment Documentation Release 0.1 Evan Borgstrom March 25, 2014 Contents i ii A collection of fabric tasks that roll up into a single deploy function. The whole process is coordinated through a single

More information

Public Cloud - Azure workshop

Public Cloud - Azure workshop Public Cloud - Azure workshop Orchestrating and configuring workloads in Azure By Marco Berube February 2017 @mberube9 Agenda - Why Cloudforms and Ansible are great technologies to build a Service Catalog,

More information

Linux Network Administration. Apache Web Server COMP1071 Summer 2017

Linux Network Administration. Apache Web Server COMP1071 Summer 2017 Linux Network Administration Apache Web Server COMP1071 Summer 2017 Overview Apache2 is a software package which provides the infrastructure to deliver web services It is flexible, fast, open source, scalable,

More information

Effective Configuration Management (9 Things You Should Be Doing)

Effective Configuration Management (9 Things You Should Be Doing) Effective Configuration Management (9 Things You Should Be Doing) N.J. Thomas nthomas@amplify.com Amplify Education November 6, 2013 Introduction Who I am Who you are Disclaimer Caveats Use Configuration

More information

Verteego VDS Documentation

Verteego VDS Documentation Verteego VDS Documentation Release 1.0 Verteego May 31, 2017 Installation 1 Getting started 3 2 Ansible 5 2.1 1. Install Ansible............................................. 5 2.2 2. Clone installation

More information

Melis Platform V2. Front-Office. Create a website. Content: Date Version 2.0

Melis Platform V2. Front-Office. Create a website. Content: Date Version 2.0 4, rue du Dahomey 75011 Paris, France (+33) 972 386 280 Melis Platform V2 Front-Office Create a website Content: This document explains how to create a website using Melis Platform V2. It will go through

More information

Stress-free Deployment

Stress-free Deployment twitter: @akrabat Stress-free Deployment Rob Allen PHPBenelux January 2011 Rob Allen? PHP developer since 1999 Wrote Zend_Config Tutorial at akrabat.com Book! Why automate deployment? Getting your house

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Gerrit Gerrit About the Tutorial Gerrit is a web-based code review tool, which is integrated with Git and built on top of Git version control system (helps developers to work together and maintain the history

More information

Bitnami Ruby for Huawei Enterprise Cloud

Bitnami Ruby for Huawei Enterprise Cloud Bitnami Ruby for Huawei Enterprise Cloud Description Bitnami Ruby Stack provides a complete development environment for Ruby on Rails that can be deployed in one click. It includes most popular components

More information

DEVOPS COURSE CONTENT

DEVOPS COURSE CONTENT LINUX Basics: Unix and linux difference Linux File system structure Basic linux/unix commands Changing file permissions and ownership Types of links soft and hard link Filter commands Simple filter and

More information

Continuous Integration (CI) with Jenkins

Continuous Integration (CI) with Jenkins TDDC88 Lab 5 Continuous Integration (CI) with Jenkins This lab will give you some handson experience in using continuous integration tools to automate the integration periodically and/or when members of

More information

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV

USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV USING DOCKER FOR MXCUBE DEVELOPMENT AT MAX IV Fredrik Bolmsten, Antonio Milán Otero K.I.T.S. Group at Max IV - 2017 1 OVERVIEW What is Docker? How does it work? How we use it for MxCUBE How to create a

More information

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda

Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda Google Cloud Platform for Systems Operations Professionals (CPO200) Course Agenda Module 1: Google Cloud Platform Projects Identify project resources and quotas Explain the purpose of Google Cloud Resource

More information

datapusher Documentation

datapusher Documentation datapusher Documentation Release 1.0 Open Knowledge International July 13, 2018 Contents 1 Development installation 3 2 Production installation and Setup 5 2.1 Download and Install (All CKAN Versions)...............................

More information

KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE. Wednesday, September 11, 13

KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE. Wednesday, September 11, 13 KERNEL C.I. USING LINARO S AUTOMATED VALIDATION ARCHITECTURE TYLER BAKER TECHNICAL ARCHITECT HTTP://WWW.LINARO.ORG LAVA DEVELOPER LAVA EVANGELIST FORMER PLATFORM ENGINEER KERNEL HACKER MT. BAKER, WA LAVA

More information

Simplified CICD with Jenkins and Git on the ZeroStack Platform

Simplified CICD with Jenkins and Git on the ZeroStack Platform DATA SHEET Simplified CICD with Jenkins and Git on the ZeroStack Platform In the technical article we will walk through an end to end workflow of starting from virtually nothing and establishing a CICD

More information

Git Basi, workflow e concetti avanzati (pt2)

Git Basi, workflow e concetti avanzati (pt2) Git Basi, workflow e concetti avanzati (pt2) Andrea Fornaia, Ph.D. Department of Mathema.cs and Computer Science University of Catania Viale A.Doria, 6-95125 Catania Italy fornaia@dmi.unict.it hfp://www.cs.unict.it/~fornaia/

More information

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

Creating pipelines that build, test and deploy containerized artifacts Slides:   Tom Adams Creating pipelines that build, test and deploy containerized artifacts Slides: https://goo.gl/2mzfe6 Tom Adams tadams@thoughtworks.com 1 Who I am Tom Adams Tech Lead tadams@thoughtworks.com http://tadams289.blogspot.com

More information

AALOK INSTITUTE. DevOps Training

AALOK INSTITUTE. DevOps Training DevOps Training Duration: 40Hrs (8 Hours per Day * 5 Days) DevOps Syllabus 1. What is DevOps? a. History of DevOps? b. How does DevOps work anyways? c. Principle of DevOps: d. DevOps combines the best

More information

Network Automation at Oracle+Dyn NANOG on the Road Boston, 14 Sept 2017

Network Automation at Oracle+Dyn NANOG on the Road Boston, 14 Sept 2017 Network Automation at Oracle+Dyn NANOG on the Road Boston, 14 Sept 2017 Carlos Vicente We ve come a long way January 2014: 18 sites and a few hundred devices with configurations manually crafted for years

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case. 2017TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case03 First Draft 01 st Dec 2017 Author Reviewed By Prabhakar D Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Use Case Description... 4 Primary

More information

Service Configuration Management

Service Configuration Management Service Configuration Management SCM-12 Eelco Dolstra Martin Bravenboer Eelco Visser {eelco, martin, visser}@cs.uu.nl Universiteit Utrecht, Faculty of Science, Department of Information and Computing Sciences

More information

Best Practices for a Mission- Critical Jenkins

Best Practices for a Mission- Critical Jenkins Best Practices for a Mission- Critical Jenkins Mike Rooney Jenkins Connoisseur http://linkedin.com/in/mcrooney Jenkins Uses! Genius.com staging deployment, code reviews, automated branching and merging,

More information

Getting Started with Cisco UCS Director Open Automation

Getting Started with Cisco UCS Director Open Automation Getting Started with Cisco UCS Director Open Automation Cisco UCS Director Open Automation, page 1 Upgrading Your Connector to the Current Release, page 5 Modules, page 5 Cisco UCS Director Open Automation

More information

NEW TOOLS. ngage vaping. MATT GRISWOLD

NEW TOOLS. ngage vaping. MATT GRISWOLD NEW TOOLS ngage vaping MATT GRISWOLD grizz@20c.com WHAT IS NGAGE? Command line tool to interface with network devices, evolved from internal tools. https://github.com/20c/ngage http://ngage.readthedocs.io/en/latest/

More information

Using DC/OS for Continuous Delivery

Using DC/OS for Continuous Delivery Using DC/OS for Continuous Delivery DevPulseCon 2017 Elizabeth K. Joseph, @pleia2 Mesosphere 1 Elizabeth K. Joseph, Developer Advocate, Mesosphere 15+ years working in open source communities 10+ years

More information

Deployability. of Python. web applications

Deployability. of Python. web applications Deployability of Python web applications Bruno Renié EuroPython 2013 Deployability, n The extent to which something is deployable Disclaimer Most of this isn't python-specific or even web-specific Oriented

More information

Active Directory Domain Add-on for Wyse 5070 Thin Client Version

Active Directory Domain Add-on for Wyse 5070 Thin Client Version Rev. A00 2018-09 Active Directory Domain Add-on for Wyse 5070 Thin Client Version 1.0.0.1 Software releases are created to correct defects, make enhancements, or add new features. These releases are tested

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM DevOps Use Case. 2017TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4

More information

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017 GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created

More information

Continuous Integration INRIA

Continuous Integration INRIA Vincent Rouvreau - https://sed.saclay.inria.fr February 28, 2017 Contents 1 Preamble To go through this exercise, you will need to install : 1. Git (sudo apt-get install git sudo yum install git) 2. A

More information

CTL. Introduction. April 21, distributed control dispatching framework

CTL. Introduction. April 21, distributed control dispatching framework CTL distributed control dispatching framework Introduction by: Alex Honor, Project Leader - Open Source Software Development ControlTier Inc. April 21, 2008 What is CTL? New open source software project

More information

Rekall. Rekall Agent - OSDFCon Forensics. We will remember it for you wholesale! Michael Cohen

Rekall. Rekall Agent - OSDFCon Forensics. We will remember it for you wholesale! Michael Cohen Agent - OSDFCon 2017 We will remember it for you wholesale! Michael Cohen mic@rekall-innovations.com is an open source project released under the GPL. It is not an official Google product, and does not

More information

On-demand Authentication Infrastructure for Test and Development Andrew Leonard Dell EMC/Isilon

On-demand Authentication Infrastructure for Test and Development Andrew Leonard Dell EMC/Isilon On-demand Authentication Infrastructure for Test and Development Andrew Leonard Dell EMC/Isilon Agenda Static, shared authentication test infrastructure and its pitfalls Isilon s implementation of Authentication

More information

DevOps Foundations : Infrastructure as Code

DevOps Foundations : Infrastructure as Code DevOps Foundations : Infrastructure as Code Ernest Mueller, James Wickett DevOps Fundamentals 1 1. Infrasturcture automation 2. Continuous Delivery 3. Reliability Engineering Infrastructure as Code There

More information

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick Composer and Drupal CIDUG Meeting December 13, 2018 John Rearick * Similar to other dependency managers such as: yum, apt, brew, macports, npm, pip, etc. * Helps manage dependency hell. * Lots of dependencies

More information

Jahia Studio JAHIA DOCUMENTION

Jahia Studio JAHIA DOCUMENTION JAHIA DOCUMENTION Jahia Studio Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels to truly control time-to-market and

More information

The Actual Real World at EclipseCon/ALM

The Actual Real World at EclipseCon/ALM Tycho The Actual Real World at EclipseCon/ALM Raise your Hand if you are Sure Addressing the Issues Real World: Tycho Issues World Wide Distributed Teams India, China, Europe, Argentina, United States

More information

NetDevOps Style Configuration Management for the Network

NetDevOps Style Configuration Management for the Network DEVNET-3616 NetDevOps Style Configuration Management for the Network Hank Preston, NetDevOps Evangelist ccie 38336, R/S @hfpreston Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker

More information

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service

More information

Using Ansible and Redfish to automate systems management. Jose Delarosa May 9, 2018

Using Ansible and Redfish to automate systems management. Jose Delarosa May 9, 2018 Using Ansible and Redfish to automate systems management Jose Delarosa May 9, 2018 2 Before we start Thank you for coming to this session Please ask questions: It s OK to interrupt If time runs out, happy

More information

Chapter 1 - Continuous Delivery and the Jenkins Pipeline

Chapter 1 - Continuous Delivery and the Jenkins Pipeline Chapter 1 - Continuous Delivery and the Jenkins Pipeline Objectives Key objectives of this chapter Continuous Delivery The Jenkins Pipeline A Brief Introduction to Groovy The JenkinsFile Pipeline Jobs

More information

CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud

CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud Ted Brunell Principal Solution Architect, DoD Programs tbrunell@redhat.com @DoDCloudGuy AGENDA Overview of Current Security

More information

QA and Testing. Suchitra Vemuri, ONF Karthick Ramanarayanan, Ciena November 8th, 2017

QA and Testing. Suchitra Vemuri, ONF Karthick Ramanarayanan, Ciena November 8th, 2017 QA and Testing Suchitra Vemuri, ONF Karthick Ramanarayanan, Ciena November 8th, 2017 1 Introduction Framework Overview Test Suites QA Jenkins Setup/Run Tests Collaborations Contribution Opportunities QA

More information

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering

GIT. A free and open source distributed version control system. User Guide. January, Department of Computer Science and Engineering GIT A free and open source distributed version control system User Guide January, 2018 Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Table of Contents What is

More information

Let Robots Manage Your Schema Without Killing All Humans. Jenni

Let Robots Manage Your Schema Without Killing All Humans. Jenni Let Robots Manage Your Schema Without Killing All Humans Jenni Snyder @jcsuperstar Yelp s Mission Connecting people with great local businesses. Yelp Stats As of Q4 2015 86M 95M 70% 32 Database Engineering

More information

TM DevOps Use Case TechMinfy All Rights Reserved

TM DevOps Use Case TechMinfy All Rights Reserved Document Details Use Case Name TMDevOps Use Case01 First Draft 5 th March 2018 Author Reviewed By Prabhakar D Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Use Case Description... 4 Primary

More information

Ansible Tower Quick Setup Guide

Ansible Tower Quick Setup Guide Ansible Tower Quick Setup Guide Release Ansible Tower 2.4.5 Red Hat, Inc. Jun 06, 2017 CONTENTS 1 Quick Start 2 2 Login as a Superuser 3 3 Import a License 4 4 Examine the Tower Dashboard 6 5 The Setup

More information

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved. Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS 1 Introduction MOBILE, SOCIAL & CLOUD ARE RAISING CUSTOMER EXPECTATIONS We need a way to deliver software so fast that our

More information

CherryPy on Apache2 with mod_python

CherryPy on Apache2 with mod_python Revision History CherryPy on Apache2 with mod_python Revision 1.5 November 9, 2009 Revised by: FB Ferry Boender 1. Introduction I ve recently written a web application using Python using the following

More information

A WEB-BASED SOLUTION TO VISUALIZE OPERATIONAL MONITORING LINUX CLUSTER FOR THE PROTODUNE DATA QUALITY MONITORING CLUSTER

A WEB-BASED SOLUTION TO VISUALIZE OPERATIONAL MONITORING LINUX CLUSTER FOR THE PROTODUNE DATA QUALITY MONITORING CLUSTER A WEB-BASED SOLUTION TO VISUALIZE OPERATIONAL MONITORING LINUX CLUSTER FOR THE PROTODUNE DATA QUALITY MONITORING CLUSTER BADISA MOSESANE EP-NU Supervisor: Nektarios Benekos Department: EP-NU Table of Contents

More information

vrealize Code Stream Plug-In SDK Development Guide

vrealize Code Stream Plug-In SDK Development Guide vrealize Code Stream Plug-In SDK Development Guide vrealize Code Stream 2.2 This document supports the version of each product listed and supports all subsequent versions until the document is replaced

More information

There Should be One Obvious Way to Bring Python into Production. Sebastian Neubauer

There Should be One Obvious Way to Bring Python into Production. Sebastian Neubauer There Should be One Obvious Way to Bring Python into Production Sebastian Neubauer sebastian.neubauer@blue-yonder.com 1 Agenda What are we talking about and why? Delivery pipeline Dependencies Packaging

More information

Build Automation Kurt Christensen

Build Automation Kurt Christensen Build Automation Kurt Christensen Kurt Christensen Computer programmer (17 years) and software development coach (9 years) github.com/projectileboy Available for purchase at: kurt.j.christensen@gmail.com

More information

Running Blockchain in Docker Containers Prerequisites Sign up for a LinuxONE Community Cloud trial account Deploy a virtual server instance

Running Blockchain in Docker Containers Prerequisites Sign up for a LinuxONE Community Cloud trial account Deploy a virtual server instance Running Blockchain in Docker Containers The following instructions can be used to install the current hyperledger fabric, and run Docker and blockchain code in IBM LinuxONE Community Cloud instances. This

More information

Observium Enable your new virtual host 4

Observium Enable your new virtual host 4 Observium Contents 1 Introduction 1 1.1 Goals................................. 1 1.2 Notes................................. 1 2 Observium installation 2 2.1 1. Installation based on offical instructions.............

More information

A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features

A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features A Guide to Finding the Best WordPress Backup Plugin: 10 Must-Have Features \ H ow do you know if you re choosing the best WordPress backup plugin when it seems that all the plugins seem to do the same

More information

OSM R1 - VNF PACKAGE CREATION, UI & ONBOARDING

OSM R1 - VNF PACKAGE CREATION, UI & ONBOARDING OSM R1 - VNF PACKAGE CREATION, UI & ONBOARDING Noel Charath (RIFT.io) OSM R1- VNF PACKAGE CREATION AND ON-BOARDING RX10033 GETTING STARTED WITH OSM R1 INSTALL OSM R1 CREATE VNF & NS PACKAGES ONBOARD VNF

More information

Development tools: Version control, build tools, and integrated development environments 1

Development tools: Version control, build tools, and integrated development environments 1 Development tools: Version control, build tools, and integrated development environments 1 HFOSS 2010 Faculy Workshop 18 May 2010 1 CC by-nc-sa 3.0 Development tools Why do we need version control? With

More information

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management IKAN ALM Architecture Closing the Gap Enterprise-wide Application Lifecycle Management Table of contents IKAN ALM SERVER Architecture...4 IKAN ALM AGENT Architecture...6 Interaction between the IKAN ALM

More information

Look ma, no hands Jenkins Configuration-as-Code All Rights Reserved.

Look ma, no hands Jenkins Configuration-as-Code All Rights Reserved. Look ma, no hands Jenkins Configuration-as-Code 1 1 Who are we? Name: Ewelina Wilkosz Work: IT Consultant @ Praqma Previous experience: Software Developer @ Ericsson (6 years) in Krakow Tools I work with:

More information

Tutorial ipojo. 2. Preparation

Tutorial ipojo. 2. Preparation Tutorial ipojo 1. Context This tutorial is based on a pretty simple application. This application simulates a snack bar where products (hotdog, popcorn) are provided by vendors exposed as services. This

More information

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017 Continuous Integration & Code Quality MINDS-ON NUNO BETTENCOURT (NMB@ISEP.IPP.PT) @DEI, 11 APRIL 2017 Continuous Integration - THE THEORY - NMB@DEI - 11 April, 2017 CONTINUOUS INTEGRATION & SOFTWARE QUALITY

More information

Manual roll back of OSGi bundles and CBA files: Applications Application Types Assets Note: FP00IF000 Additional Properties

Manual roll back of OSGi bundles and CBA files: Applications Application Types Assets Note: FP00IF000 Additional Properties Rollback of MDM fix pack and interim fixes is a two step process: 1. Roll back the configurations manually. 2. Roll back using IBM Installation Manager. For bundle and CBA changes you must use the WebSphere

More information

Hands-On Tutorial: Developing and Onboarding Services in CORD

Hands-On Tutorial: Developing and Onboarding Services in CORD Hands-On Tutorial: Developing and Onboarding Services in CORD CORD BUILD 2017 Customize templateservice Add the service description and VM image to a profile Onboard the service Verify that the service

More information