pf9ctl Binary Incorrectly Updating Proxy Settings
Problem
- While updating proxy settings with the pf9ctl binary, the
/opt/pf9/hostagent/pf9-hostagent.envfile is being updated incorrectly.
Environment
- Platform9 Managed Kubernetes - v5.9 through v5.11
- pf9ctl
Diagnosis
- Before applying
pf9ctl set-proxythe file/opt/pf9/hostagent/pf9-hostagent.envlooks like below.
$ cat /opt/pf9/hostagent/pf9-hostagent.envPYTHONPATH="/opt/pf9/hostagent/lib/python3.6/site-packages:/opt/pf9/hostagent/lib/python3.9/site-packages/bbslave:${PYTHONPATH}"PYTHON_EGG_CACHE=/tmp/python-eggsLD_LIBRARY_PATH="/opt/pf9/python/pf9-lib:/opt/pf9/python/pf9-hostagent-lib:${LD_LIBRARY_PATH}"- Setup proxy settings with
pf9ctlon Node.
$ pf9ctl set-proxy --protocol http --host-ip [IP_ADDRESS_1] --port [PORT] --no-proxy [IP_ADDRESS_2],[IP_ADDRESS_3]- After applying
pf9ctl set-proxythe file/opt/pf9/hostagent/pf9-hostagent.envlooks like below.
$ cat /opt/pf9/hostagent/pf9-hostagent.envPYTHONPATH="/opt/pf9/hostagent/lib/python3.6/site-packages:/opt/pf9/hostagent/lib/python3.9/site-packages/bbslave:${PYTHONPATH}"PYTHON_EGG_CACHE=/tmp/python-eggsLD_LIBRARY_PATH="/opt/pf9/python/pf9-lib:/opt/pf9/python/pf9-hostagent-lib:${LD_LIBRARY_PATH}"export http_proxy=http://[IP_ADDRESS_1]:[PORT]export https_proxy=http://[IP_ADDRESS_1]:[PORT]export HTTP_PROXY=http://[IP_ADDRESS_1]:[PORT]export HTTPS_PROXY=http://[IP_ADDRESS_1]:[PORT]export no_proxy=localhost,127.0.0.1,::1,localhost.localdomain,localhost4,localhost6export NO_PROXY=localhost,127.0.0.1,::1,localhost.localdomain,localhost4,localhost6- Hostagent Logs on the node:
bud2-otp-cp1 systemd[1]: pf9-hostagent.service: Ignoring invalid environment assignment 'export HTTPS_PROXY=http://[IP_ADDRESS_1]:[PORT]': /opt/pf9/hostagent/pf9-hostagent.envbud2-otp-cp1 systemd[1]: pf9-hostagent.service: Ignoring invalid environment assignment 'export no_proxy=localhost,127.0.0.1,::1,localhost.localdomain,localhost4,localhost6': /opt/pf9/>bud2-otp-cp1 systemd[1]: pf9-hostagent.service: Ignoring invalid environment assignment 'export NO_PROXY=localhost,127.0.0.1,::1,localhost.localdomain,localhost4,localhost6': /opt/pf9/>Cause
- This is due to a BUG: PMK-6577 and is resolved in PMK v5.12.
Workaround
- Manually update
/opt/pf9/hostagent/pf9-hostagent.envfile with required environment variables.
$ cat /opt/pf9/hostagent/pf9-hostagent.envPYTHONPATH="/opt/pf9/hostagent/lib/python3.6/site-packages:/opt/pf9/hostagent/lib/python3.9/site-packages/bbslave:${PYTHONPATH}"PYTHON_EGG_CACHE=/tmp/python-eggsLD_LIBRARY_PATH="/opt/pf9/python/pf9-lib:/opt/pf9/python/pf9-hostagent-lib:${LD_LIBRARY_PATH}"http_proxy=http://[IP_ADDRESS_1]:[PORT]https_proxy=http://[IP_ADDRESS_1]:[PORT]HTTP_PROXY=http://[IP_ADDRESS_1]:[PORT]HTTPS_PROXY=http://[IP_ADDRESS_1]:[PORT]no_proxy=127.0.0.1,localhost,[IP_ADDRESS_2],[IP_ADDRESS_3]NO_PROXY=127.0.0.1,localhost,[IP_ADDRESS_2],[IP_ADDRESS_3]- Restart pf9-hostagent service.
$ systemctl restart pf9-hostagent- Verify the proxy settings by fetching pod logs.
$ kubectl logs <POD_NAME> -n <NAMESPACE>Additional Information
- To learn more about configuring a proxy for PMK Cluster, please refer to this KB article.
Was this page helpful?