"Python: Command Not Found" in Ubuntu 20.04LTS During Node Preparation
See original GitHub issueProblem Description
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)
Expected Results
Successful pool deploy
Actual Results
stderr.txt contains python:command not found (nodeprep.sh:385)
Redacted Configuration
pool.yaml
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
Additional Logs
python:command not found (nodeprep.sh:385)
Additional Comments
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!
Issue Analytics
- State:
- Created 2 years ago
- Comments:5
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.