-
Notifications
You must be signed in to change notification settings - Fork 120
"Python: Command Not Found" in Ubuntu 20.04LTS During Node Preparation #363
Description
Problem 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_V2Additional 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!