automate your development environment with jira and saltstack

Post on 13-Apr-2017

611 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Automate your development environmentswith JIRA and SaltStack

IT Automation

02.05.2023

IT ProcessAutomation

Cloud OrchestrationInfrastructureProvisioning

Automation scripts

Application ReleaseAutomation

Network Automation

Business ProcessAutomation

Workload automation

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

IT Automation

02.05.2023

IT ProcessAutomation

Cloud OrchestrationInfrastructureProvisioning

Automation scripts

Application ReleaseAutomation

Network Automation

Business ProcessAutomation

Workload automation

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Software Configuration Management• Code describing shape

of configured objects

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Software Configuration Management• Code describing shape

of configured objects• Declarative

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Software Configuration Management• Code describing shape

of configured objects• Declarative• Additional abstraction layer

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Software Configuration Management• Code describing shape

of configured objects• Declarative• Additional abstraction layer• Handles dependencies and execution

order

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Software Configuration Management

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

• Code describing shapeof configured objects

• Declarative• Additional abstraction layer• Handles dependencies and execution

order

02.05.2023

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository• As we push new code, our infrastructure changes

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository• As we push new code, our infrastructure changes

Can we automate it even further?

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Let me tell you a storya developer goes to a sysadmin…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Let me tell you a storya developer goes to a sysadmin…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Nope. It never goes this wayHere goes true version of the story…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Nope. It never goes this wayHere goes true version of the story…

Since we’ll need a ticket anyway… let’s make the most of it.

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

JIRA webhooks• Simple interface to interact

with other applications

{ "transition": { "workflowId": 10401, "workflowName": "SI: Cloud orchestration workflow", "transitionId": 11, "transitionName": "Provision", "from_status": "Ready to build", "to_status": "Provisioning" }, "comment": "", "user": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/user?username=ww", "name": "ww", "key": "ww", "emailAddress": "wwrobewski@networkedassets.org", "displayName": "ww", "active": true, "timeZone": "UTC" }, "issue": { "id": "10401", "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issue/10401", "key": "SI-9", "fields": { "issuetype": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issuetype/10200", "id": "10200", "description": "", "iconUrl": "http://ww-dev-01.networkedassets.local/jira/secure/viewavatar?size=xsmall&avatarId=10300&avatarType=issuetype", "name": "Order", "subtask": false, "avatarId": 10300 },

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

JIRA webhooks• Simple interface to interact

with other applications• On execution of mapped

action, sends HTTP POST request

{ "transition": { "workflowId": 10401, "workflowName": "SI: Cloud orchestration workflow", "transitionId": 11, "transitionName": "Provision", "from_status": "Ready to build", "to_status": "Provisioning" }, "comment": "", "user": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/user?username=ww", "name": "ww", "key": "ww", "emailAddress": "wwrobewski@networkedassets.org", "displayName": "ww", "active": true, "timeZone": "UTC" }, "issue": { "id": "10401", "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issue/10401", "key": "SI-9", "fields": { "issuetype": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issuetype/10200", "id": "10200", "description": "", "iconUrl": "http://ww-dev-01.networkedassets.local/jira/secure/viewavatar?size=xsmall&avatarId=10300&avatarType=issuetype", "name": "Order", "subtask": false, "avatarId": 10300 },

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Bringing Salt to workflowone ticket == one

environment• Provisioning and

Orchestration introduced as process stages

• Decommission workflow• Error handling: negative flow• Use webhooks to call other

applications APIs02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS,

Wrocław

JIRA + SaltStack• JIRA and SaltStack are tools

made for whole different purpose

• Operate on different sets of objects

• They won’t understand each other

…unless we provide them a translator.

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Crystalizedthe middleman

What it does?– Collects webhook calls– Translates objects and data– Manages jobs– Validates results

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Crystalizedthe middleman

What it does?– Collects webhook calls– Translates objects and data– Manages jobs– Validates results

What it is?– A lightweight application written in

python– Based on flask framework

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

DEMO TIME!

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Project ViewActivity

Create „Order”

„Order”Draft status

Workflow view

Provisioning…

ProvisioningOpenstack view

It’s running!

Job reportsas comments

ReconfigureAdd Salt States

Orchestrate!

OrchestrationJob Report

Our Confluence server is running.Well done!

THANK YOU FOR YOUR ATTENTION!

Wojciech Wróblewskiwwroblewski@networkedassets.org

www.networkedassets.com

EOF

top related