https://prefect.io logo
a

ale

09/16/2021, 4:12 PM
Hey folks πŸ‘‹ We are planning Prefect Server upgrade from 0.13.13 to 0.15.x We are thinking of doing a 3-stage upgrade: from 0.13.13 to 0.13.19, then from 0.13.19 to 0.14.22, then from 0.14.22 to 0.15.x However, we are wondering if we can skip the second stage and go directly from 0.13.19 to 0.15.x Any suggestions?
z

Zanie

09/16/2021, 4:14 PM
I would just take a look at the breaking changes in Prefect Core and let us know if you have any specific questions
k

Kevin Kho

09/16/2021, 4:14 PM
I think so. Environments are still in the code base if you use them. My only advice is to go through the whole changelog and look for the breaking changes. 0.15.5 specifically has one where if you are accessing the server from different machines, you need to start it with the
--expose
flag.
a

ale

09/16/2021, 4:22 PM
Sorry @Zanie and @Kevin Kho I forgot to add the second question πŸ˜… We use Docker storage and flows are built using 0.13.13 Do you think we might encounter issues if we upgrade the Server but keep flows at 0.13.13?
k

Kevin Kho

09/16/2021, 4:28 PM
I think you very likely will
z

Zanie

09/16/2021, 4:29 PM
We inject environment variables into the containers which can be an issue over major version changes
Generally, we try to be backwards compatible still there. Most of those breaking changes are auth related and may not affect you since you're a Server user, but I'd definitely do a trial run first.
a

ale

09/16/2021, 4:32 PM
Ok, so maybe we can: β€’ upgrade server to 0.13.19 and keep flows on 0.13.13, ensure flows work as expected and then upgrade them to 0.13.19 β€’ upgrade server to 0.14.22 and keep flows on 0.13.19, ensure flows work as expected and then upgrade them to 0.14.22 β€’ upgrade server to 0.15.x and keep flows on 0.14.22, ensure flows work as expected and then upgrade them to same version of server Make sense?
k

Kevin Kho

09/16/2021, 4:34 PM
yeah you could try that
a

ale

09/16/2021, 4:36 PM
Thanks πŸ™Œ
Hey folks simple smile Just wanted to let you know that the upgrade of Prefect server to 0.13.19 is going well. Flows are still using 0.13.13 but we will upgrade them soon (we already planned to upgrade to 0.14.22 and then to 0.15.x in the next couple of weeks). After upgrading Prefect server on 0.13.19, from Prefect UI we see: β€œCORE VERSION *0.13.18+109.G37135691E*” Is this normal?
k

Kevin Kho

09/24/2021, 3:38 PM
Did you edit the source code? lol
a

ale

09/24/2021, 3:40 PM
Nope πŸ˜…
k

Kevin Kho

09/24/2021, 3:41 PM
Will check with the team
Looks like we may have released a version of server with a dirty version of core (hotfixes)
a

ale

09/24/2021, 3:45 PM
We use the following image for Prefect UI:
prefecthq/ui:core-0.13.19
k

Kevin Kho

09/24/2021, 3:58 PM
Checked with the team and this happens all the time
a

ale

09/24/2021, 3:59 PM
Ok, so I assume it should not be an issue, right? 😊
k

Kevin Kho

09/24/2021, 4:00 PM
Not at all
a

ale

09/24/2021, 4:02 PM
Cool! Thanks for your support @Kevin Kho πŸ™Œ
πŸ‘ 1
Hey folks simple smile Just wanted to let you know that we were able to complete the upgrade from 0.13.19 to 0.14.22 quite easily on both Prefect flows and Prefect Server/UI/Agent. In 2-3 weeks we plan to upgrade to 0.15.x
k

Kevin Kho

10/12/2021, 4:08 PM
oh nice. i am more confident about 0.14.22 to 0.15.x. just note the breaking changes in the changelog
a

ale

10/12/2021, 6:45 PM
Yep, will look into that before upgrading!
I have a question related to ECSRunConfig. Let's say that we have a flow that uses this type of run config, and we set the task definition ARN using a variable. Something like
Copy code
ECSRun(task_definition=my_var_arn)
When will my_var_arn be evaluated? At registration time or when the agent picks up the flow to be executed? I'm asking this because, based on when my_var_arn is evaluated, I might need to adapt our deployment process
k

Kevin Kho

10/12/2021, 7:04 PM
At registration, but I learned today that
StartFlowRun
can take in a RunConfig you can override the RunConfig during run time.
πŸ‘ 1
a

ale

10/12/2021, 7:07 PM
So, if I have something like
Copy code
my_var_arn = os.environ["ARN"]
The ARN env var must be known at registration time, right?
k

Kevin Kho

10/12/2021, 7:08 PM
Yes
z

Zanie

10/12/2021, 7:12 PM
The agent pulls the run config from the server and then deploys the task so it needs to be known at registration time. Once the task is created your flow code is downloaded and executed there (at that point, some values can become dynamic and loaded from the env if you want)
a

ale

10/12/2021, 7:12 PM
Thanks @Kevin Kho πŸ™Œ Always appreciate your support! πŸ™
πŸ™ 1
And thanks @Zanie as well πŸ™‚
@grandimk this might interest you as well simple smile
g

grandimk

10/13/2021, 7:31 AM
Yes, we can leverage that option
2 Views