Hey folks :wave: We are planning Prefect Server up...
# prefect-server
a
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
I would just take a look at the breaking changes in Prefect Core and let us know if you have any specific questions
k
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
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
I think you very likely will
z
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
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
yeah you could try that
a
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
Did you edit the source code? lol
a
Nope πŸ˜…
k
Will check with the team
Looks like we may have released a version of server with a dirty version of core (hotfixes)
a
We use the following image for Prefect UI:
prefecthq/ui:core-0.13.19
k
Checked with the team and this happens all the time
a
Ok, so I assume it should not be an issue, right? 😊
k
Not at all
a
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
oh nice. i am more confident about 0.14.22 to 0.15.x. just note the breaking changes in the changelog
a
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
At registration, but I learned today that
StartFlowRun
can take in a RunConfig you can override the RunConfig during run time.
πŸ‘ 1
a
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
Yes
z
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
Thanks @Kevin Kho πŸ™Œ Always appreciate your support! πŸ™
πŸ™ 1
And thanks @Zanie as well πŸ™‚
@grandimk this might interest you as well simple smile
g
Yes, we can leverage that option