-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gl 1358 migrate #2001
base: master
Are you sure you want to change the base?
Gl 1358 migrate #2001
Conversation
In GitLab by @dbeltrankyl on Nov 12, 2024, 12:55 added 1 commit
|
In GitLab by @dbeltrankyl on Nov 12, 2024, 13:06 added 1 commit
|
In GitLab by @dbeltrankyl on Nov 12, 2024, 13:07 marked this merge request as ready |
In GitLab by @dbeltrankyl on Nov 12, 2024, 13:08 ready to review, Some codes are reported as not covered, like the pickup function, but they are actually being called, so something weird is happening with the coverage. Anyway, I need to address two TODOs added when we move to github (like enabling the tests in the pipeline) so I can test again there. |
In GitLab by @kinow on Nov 12, 2024, 16:09 Commented on docs/source/troubleshooting/error-codes.rst line 211 s/Comprobe/Check? |
In GitLab by @kinow on Nov 12, 2024, 16:09 Commented on autosubmit/platforms/paramiko_platform.py line 1497 As |
In GitLab by @kinow on Nov 12, 2024, 16:09 Commented on autosubmit/platforms/paramiko_platform.py line 520 Maybe it'd be a good time to also change this default If we let it retry Probably better to add a configuration with a default of... 2? 3?, and add a short interval time to sleep before retrying (can be configurable too, although we didn't do that in the other issue, so we can use the same timeout here, I think). Or, if adding the configuration requires too much effort, maybe we can just lower from 150 here, and add the sleep in-between each retry. |
In GitLab by @kinow on Nov 12, 2024, 16:09 Commented on autosubmit/migrate/migrate.py line 114 Wouldn't a |
In GitLab by @kinow on Nov 12, 2024, 16:09 Refactored code and docs are looking great. Did a partial review, but I am have to go home 🏃 ☔ Also, I uncommented the Thanks Dani! |
In GitLab by @kinow on Nov 13, 2024, 10:13 Commented on test/unit/test_migrate.py line 58 On But on this branch, even with
|
In GitLab by @kinow on Nov 13, 2024, 10:39 Finished reviewing it this morning. There were parts of the code that I didn't understand if they were added here, or if they had been simply refactored (the latter is the case here). Great job splitting the job into smaller functions! Maybe in the future we can discuss using exceptions to control-flow too, and not only boolean flags (I think that could simplify our code a bit, without performance issues). 👍 |
In GitLab by @dbeltrankyl on Nov 14, 2024, 08:35 Commented on autosubmit/platforms/paramiko_platform.py line 520
In that case, the problem with the performance was that the command was infinite until the end of execution and always doing stuff
The issue with the rsync was that sometimes the command ended abruptly without sending all the data. The number of retries needed is unknown because there could be Terabytes of data or just megas. From people's experience, the crash is not related to the size, and just prompting the command again solves the issue. So it is hard to set a number. I guess I can lower the rsync to 30 times? Sleep time is not a connection issue, so I'm unsure if it is useful. Thirty times should be fast to process anyway ( if there are connection issues* ), and if there is no data left, the loop ends. The idea is to end the transfer as fast as possible, and sleep would delay it without much benefit ( I believe ). Also, the mayor CPU/io time is done in the remote platform while in local, it is blocked without using resources |
In GitLab by @kinow on Nov 14, 2024, 11:26 Commented on autosubmit/platforms/paramiko_platform.py line 520 Thanks Dani! I thought that'd be running locally. Let's fix with a) choose either lower number, or add timeouts, or leave as-is (either way is fine by me) and b) add a small note to https://autosubmit.readthedocs.io/en/master/userguide/manage/index.html#how-to-migrate-an-experiment |
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:33 Commented on docs/source/troubleshooting/error-codes.rst line 211 changed this line in version 4 of the diff |
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:33 Commented on autosubmit/platforms/paramiko_platform.py line 1497 changed this line in version 4 of the diff |
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:33 Commented on autosubmit/platforms/paramiko_platform.py line 520 changed this line in version 4 of the diff |
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:33 Commented on autosubmit/migrate/migrate.py line 114 changed this line in version 4 of the diff |
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:33 added 1 commit
|
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:34 Commented on autosubmit/platforms/paramiko_platform.py line 520
|
In GitLab by @dbeltrankyl on Nov 28, 2024, 15:35 Commented on test/unit/test_migrate.py line 58 You're right, I also have this issue, but at some point, it was working ( perhaps some rebase?) It seems that assert happens because the original folder is not removed.
|
In GitLab by @dbeltrankyl on Nov 29, 2024, 12:07 added 1 commit
|
In GitLab by @dbeltrankyl on Nov 29, 2024, 12:10 added 1 commit
|
In GitLab by @dbeltrankyl on Nov 12, 2024, 09:22
Fixes Include 3.15.19 fixes in the migrate command of >4.1.X #1358
Refactored a bit the code, added typing
Added rsync offer in case FTP channel fails ( mn5 doesn't work in some cases with only FTP channel )
Pytests working on local, but as it needs a ssh connection, it also doesn't work in the pipeline ( waiting for github)
Draft: ( I have to check the cov )