---
# System prepended metadata

title: flytekit migration and flyte proto issues

---

- flyte proto migration - pytorch
    - 可以接觸到 proto 跟如何從 protobuf genrate code 
    - 難度: 簡單
    - 任務:
        - 我們現在正在把 v1 的 proto 放到 v2 裡面, 到 flyte 的 repo 有兩個 branch, master 跟 v2
        - 我們要把 v1 的 pytorch proto ([here](https://github.com/flyteorg/flyte/blob/master/flyteidl/protos/flyteidl/plugins/pytorch.proto)) 搬到 v2 ([here](https://github.com/flyteorg/flyte/tree/v2/flyteidl2/plugins)) 再稍微改一下下 import path 就好了
        - 搬完要跑 `make gen` (可以看一下 Makefile), 就會生成一堆 code 了


- flytekit 到 sdk migration 的 issue:
    - 從 v1 的 launch plan 轉換成 v2 的 trigger
        - lauunch plan 跟 trigger 是進行排程的功能, 可以設定 task 什麼時候要跑 (e.g. 每小時)
        - 難度: 中
        - 任務: 把 launch plan 的設定轉換成 v2 trigger 的設定
        - 參考:
            - v1 launch plan 文件: https://www.union.ai/docs/v1/flyte/user-guide/core-concepts/launch-plans/
            - v2 trigger 可以看這個 example: https://github.com/flyteorg/flyte-sdk/blob/main/examples/triggers/basic.py
            - 可以跑一下 v1 跟 v2 的, 了解怎麼設定
    - 把 v1 的 flytekit deck 轉換成 v2 的 report
        - deck 是 v1 中我們可以用來看 report 的功能, 在 v2 這個功能叫 report
        - 難度: 高
        - 任務: 
            - 把 deck 的設定轉換成 v2 report 的設定
            - v1 有個 `flytekit.Deck.publish()` function ([link](https://github.com/flyteorg/flytekit/blob/a693622e471dcf44dd5c8dc624857fdc64ee2d91/flytekit/deck/deck.py#L86)) 可以在 task 沒結束前 publish report, v2 裡面叫做 `flyte.report.flush()` ([link](https://github.com/flyteorg/flyte-sdk/blob/4e8fb989dbb82ca211c2cce1eac222f1eef0434d/src/flyte/report/_report.py#L129))
                - 可能需要想一下呼叫 v1 的 publish 時怎麼去呼叫 v2 的 flush
        - 參考:
            - v1 deck 文件: https://www.union.ai/docs/v1/flyte/user-guide/development-cycle/decks/#decks
            - v2 report 文件: https://www.union.ai/docs/v2/flyte/user-guide/task-programming/reports/#reports
            - 可以跑一下 v1 跟 v2 的, 了解怎麼設定

