"Python: Command Not Found" in Ubuntu 20.04LTS During Node PreparationSee original GitHub issue
When initiating a pool with shipyard pool add, using the microsoft-azure-batch publisher 20-04-lts ubuntu image, the python executable is not available in the newly created node’s $PATH per Ubuntu’s new policy of handling the system python executable name and the 2-to-3 migration. Because nodeprep.sh references “python” as the executable name in a couple spots, the executable fails to be found, and the node preparation start task fails.
Batch Shipyard Version
shipyard, version 3.9.1
Steps to Reproduce
generate a pool with an ubuntu-server-container, microsoft-azure-batch, 20-04-lts image (shipyard pool add with a simple pool config for a single dedicated node)
Successful pool deploy
stderr.txt contains python:command not found (nodeprep.sh:385)
pool_specification: id: mypool vm_configuration: platform_image: offer: ubuntu-server-container publisher: microsoft-azure-batch sku: 20-04-lts vm_count: dedicated: 1 low_priority: 0 vm_size: STANDARD_A1_V2
python:command not found (nodeprep.sh:385)
This can be worked around by specifying a system python symlink in the additional_node_prep > pre commands. Happy to submit a pull request with changes to nodeprep.sh that test and direct to the appropriate python executable name to run so that the additional_node_prep pre-commands are no longer needed. I can always, of course, just pick a different image as well!
- Created 2 years ago
Top GitHub Comments
Thanks for opening this issue. 20.04 isn’t supported yet, but will be in the next version.
If you enable unverified versions you can select the dvsm from Windows which is referenced in the Microsoft tutorials and the commands will work on startup.