SlideShare a Scribd company logo
1 of 14
Download to read offline
Introduction of
Taskflow

@harubelle2001
OpenStack Advent Calender2013JP

● http://atnd.org/events/45763
● https://github.com/irixjp/opstjpac/wiki/OpenStack-AdventCalendar-2013-JP

    
   

18日目
Agenga
●
●
●
●

What is Taskflow?
How relate to OpenStack?
How to use taskflow?
Others
What is Taskflow? 1
● One of Python library
○

https://pypi.python.org/pypi/taskflow/0.1.1
What is Taskflow? 2
① create instance
④
② get tracking id

③
unexpected
accident

you can resume process
with tracking id!
Happy Happy :)
What is Taskflow? 3
● logbooks table

● flowdetails table
What is Taskflow? 4
● taskdetails table
What is Taskflow? 5
run instance
get IP
locate image
task
download image
flow

volume format

driver boot vm

We can continue
run instance
process again
from point where
flow failed.
What is Taskflow? 6
と今まで説明ゼロでしたが…
● 処理をtaskという単位に細分化する
● そうすると、それらの処理を永続化することによって、例外時
の復旧ができる
● 追跡もしやすい
● コードも見やすい
というライブラリです。
How relate to OpenStack? 1
●
●
●
●
●
●
●

元々はOpenstack Block strage service(Cinder) を、よいものにするために導入した仕組み
○ https://blueprints.launchpad.net/cinder/+spec/cinder-state-machine
CinderAPI/Scheduler/Managerの個々のworkflowの要素をさらに taskという単位で分割し、より
シンプルな構成にした
この仕組みをライブラリにした
Havanaで導入された Taskflow適用第一弾パッチ( Create Volume)は、主にリファクタリング
○ https://review.openstack.org/#/c/29862/
その後Bug修正等を経て、 Taskflowの0.1.1版が作成される
さらに、この0.1.1版がCreate Volumeに再適用された( 2013/12/14)
○ https://review.openstack.org/#/c/58724/
0.1.1版が適用され、何がパワーアップしたか?
○ Cinderから見て、taskflowを完全にライブラリ化した
■ ex) import taskflow.engines
How relate to OpenStack? 3
● Taskflowを適用する予定のProject
○ と言っても一気に進めるわけではなく、まずは1APIずつ
選んでやってみるという感じです
■ Nova
■ Cinder
■ Glance
■ Mistral
■ Rally
How relate to OpenStack? 3
Taskflowはまだまだ成長中です。
皆さん参加してより良いものにしていきましょう!
(IRCもあるよ :-P)
Reference
● https://wiki.openstack.org/wiki/TaskFlow
● https://github.com/stackforge/taskflow
● http://www.slideshare.
net/harlowja/taskflow-27820295
Thanks
Have a nice nice Xmas :-)

More Related Content

What's hot

UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会   reactive extensions inside(公開用)UniRx勉強会   reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)wilfrem
 
Ohotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようOhotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようFumihito Yokoyama
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料slankdev
 
Gitlab-CIを活かして自動化してみよう
Gitlab-CIを活かして自動化してみようGitlab-CIを活かして自動化してみよう
Gitlab-CIを活かして自動化してみようYoshiyuki Nakahara
 
The Next Generation for C# Developers
The Next Generation for C# DevelopersThe Next Generation for C# Developers
The Next Generation for C# DevelopersTakayoshi Tanaka
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVMKoichi Sakata
 
Migrating to RxJava2 from RxJava1
Migrating to RxJava2 from RxJava1Migrating to RxJava2 from RxJava1
Migrating to RxJava2 from RxJava1Yasuhiro Shimizu
 
[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟Hiromasa Oka
 
Rx swift,Repro framewolrk
Rx swift,Repro framewolrkRx swift,Repro framewolrk
Rx swift,Repro framewolrkDaisuke Nagata
 
Rationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみたRationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみたTadashi Saito
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall博文 斉藤
 
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converterNyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown convertertod esking
 
Sansan様 登壇資料
Sansan様 登壇資料Sansan様 登壇資料
Sansan様 登壇資料Daisuke Nagata
 
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会slankdev
 
Serverless apps on aws using scala
Serverless apps on aws using scalaServerless apps on aws using scala
Serverless apps on aws using scalaYoshitaka Fujii
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016 slankdev
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうKoichi Sakata
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料slankdev
 

What's hot (20)

UniRx勉強会 reactive extensions inside(公開用)
UniRx勉強会   reactive extensions inside(公開用)UniRx勉強会   reactive extensions inside(公開用)
UniRx勉強会 reactive extensions inside(公開用)
 
Ohotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみようOhotech特盛 #11 Box2DWebを触ってみよう
Ohotech特盛 #11 Box2DWebを触ってみよう
 
OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料OSC2016 Tokyo/Spring セミナー資料
OSC2016 Tokyo/Spring セミナー資料
 
Gitlab-CIを活かして自動化してみよう
Gitlab-CIを活かして自動化してみようGitlab-CIを活かして自動化してみよう
Gitlab-CIを活かして自動化してみよう
 
Rx入門
Rx入門Rx入門
Rx入門
 
The Next Generation for C# Developers
The Next Generation for C# DevelopersThe Next Generation for C# Developers
The Next Generation for C# Developers
 
Great Ideas in GraalVM
Great Ideas in GraalVMGreat Ideas in GraalVM
Great Ideas in GraalVM
 
Migrating to RxJava2 from RxJava1
Migrating to RxJava2 from RxJava1Migrating to RxJava2 from RxJava1
Migrating to RxJava2 from RxJava1
 
[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟[旧版] ゼンアーキテクツ「ものづくり」五つの掟
[旧版] ゼンアーキテクツ「ものづくり」五つの掟
 
Rx swift,Repro framewolrk
Rx swift,Repro framewolrkRx swift,Repro framewolrk
Rx swift,Repro framewolrk
 
Rationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみたRationalを(もうちょっと)最適化してみた
Rationalを(もうちょっと)最適化してみた
 
RxSwift
RxSwiftRxSwift
RxSwift
 
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
 
Nyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converterNyandoc: Scaladoc/Javadoc to markdown converter
Nyandoc: Scaladoc/Javadoc to markdown converter
 
Sansan様 登壇資料
Sansan様 登壇資料Sansan様 登壇資料
Sansan様 登壇資料
 
サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会サイボウズ・ラボユース成果報告会
サイボウズ・ラボユース成果報告会
 
Serverless apps on aws using scala
Serverless apps on aws using scalaServerless apps on aws using scala
Serverless apps on aws using scala
 
Seurity Camp Award 2016
Seurity Camp Award 2016 Seurity Camp Award 2016
Seurity Camp Award 2016
 
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼうGraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
 
OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料OSC 2016 Hokkaido セミナー資料
OSC 2016 Hokkaido セミナー資料
 

Similar to Introductionof taskflow

etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!Mitsutoshi Nakano
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発shoma h
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasTakuji Tahara
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
NodeにしましょうYuzo Hebishima
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 OSSラボ株式会社
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしようYasuhiro Yoshimura
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析Akinori Abe
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2Mitsutoshi Nakano
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜Ryo Sasaki
 
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatchJun Inose
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側Yusuke Naka
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMatYasuhiro Yoshimura
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggugkimukou_26 Kimukou
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合Ryo Kuroda
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門kashew_nuts
 
20130714 eucalyptus habuka036
20130714 eucalyptus habuka03620130714 eucalyptus habuka036
20130714 eucalyptus habuka036Osamu Habuka
 
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013OSSラボ株式会社
 
ログにまつわるエトセトラ
ログにまつわるエトセトラログにまつわるエトセトラ
ログにまつわるエトセトラ菊池 佑太
 

Similar to Introductionof taskflow (20)

Dotnetconf2017
Dotnetconf2017Dotnetconf2017
Dotnetconf2017
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
etckeeperをopenSUSEの公式リポジトリに入れたいぞ!
 
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
 
みんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extrasみんなが知らない pytorch-pfn-extras
みんなが知らない pytorch-pfn-extras
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例 Jtf13 ossジョブ管理システムによる運用自動化事例
Jtf13 ossジョブ管理システムによる運用自動化事例
 
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉強会#3】OpenCVの新機能 UMatを先取りしよう
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
 
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
[Okta x Jamf合同新年会] Okta Workflowsによるノーコード業務改善 〜Jamf APIを使ってMac端末情報を自動収集してみよう〜
 
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
 
Reactive programming
Reactive programming Reactive programming
Reactive programming
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
サーバ構築自動化 On aws sqaleの場合
サーバ構築自動化 On aws   sqaleの場合サーバ構築自動化 On aws   sqaleの場合
サーバ構築自動化 On aws sqaleの場合
 
Django で始める PyCharm 入門
Django で始める PyCharm 入門Django で始める PyCharm 入門
Django で始める PyCharm 入門
 
20130714 eucalyptus habuka036
20130714 eucalyptus habuka03620130714 eucalyptus habuka036
20130714 eucalyptus habuka036
 
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
JobSchedulerを使ったDevOps at OSC Tokyo/Fall 2013
 
ログにまつわるエトセトラ
ログにまつわるエトセトラログにまつわるエトセトラ
ログにまつわるエトセトラ
 

Introductionof taskflow

  • 2. OpenStack Advent Calender2013JP ● http://atnd.org/events/45763 ● https://github.com/irixjp/opstjpac/wiki/OpenStack-AdventCalendar-2013-JP          18日目
  • 3. Agenga ● ● ● ● What is Taskflow? How relate to OpenStack? How to use taskflow? Others
  • 4. What is Taskflow? 1 ● One of Python library ○ https://pypi.python.org/pypi/taskflow/0.1.1
  • 5. What is Taskflow? 2 ① create instance ④ ② get tracking id ③ unexpected accident you can resume process with tracking id! Happy Happy :)
  • 6. What is Taskflow? 3 ● logbooks table ● flowdetails table
  • 7. What is Taskflow? 4 ● taskdetails table
  • 8. What is Taskflow? 5 run instance get IP locate image task download image flow volume format driver boot vm We can continue run instance process again from point where flow failed.
  • 9. What is Taskflow? 6 と今まで説明ゼロでしたが… ● 処理をtaskという単位に細分化する ● そうすると、それらの処理を永続化することによって、例外時 の復旧ができる ● 追跡もしやすい ● コードも見やすい というライブラリです。
  • 10. How relate to OpenStack? 1 ● ● ● ● ● ● ● 元々はOpenstack Block strage service(Cinder) を、よいものにするために導入した仕組み ○ https://blueprints.launchpad.net/cinder/+spec/cinder-state-machine CinderAPI/Scheduler/Managerの個々のworkflowの要素をさらに taskという単位で分割し、より シンプルな構成にした この仕組みをライブラリにした Havanaで導入された Taskflow適用第一弾パッチ( Create Volume)は、主にリファクタリング ○ https://review.openstack.org/#/c/29862/ その後Bug修正等を経て、 Taskflowの0.1.1版が作成される さらに、この0.1.1版がCreate Volumeに再適用された( 2013/12/14) ○ https://review.openstack.org/#/c/58724/ 0.1.1版が適用され、何がパワーアップしたか? ○ Cinderから見て、taskflowを完全にライブラリ化した ■ ex) import taskflow.engines
  • 11. How relate to OpenStack? 3 ● Taskflowを適用する予定のProject ○ と言っても一気に進めるわけではなく、まずは1APIずつ 選んでやってみるという感じです ■ Nova ■ Cinder ■ Glance ■ Mistral ■ Rally
  • 12. How relate to OpenStack? 3 Taskflowはまだまだ成長中です。 皆さん参加してより良いものにしていきましょう! (IRCもあるよ :-P)
  • 14. Thanks Have a nice nice Xmas :-)