-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
4.12.z, 4.16.0
-
Quality / Stability / Reliability
-
False
-
-
1
-
Important
-
No
-
None
-
None
-
None
-
MCO Sprint 256
-
1
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
OpenShift installation on Azure fails with proxy not able populate private internal DNS
When installing OCP the machine-config cluster operator is not successful and complains with following message:
Error:
~~~
Message: Node master-0 is reporting: "unexpected on-disk state validating against rendered-master-xx: content mismatch for file \"/etc/mco/proxy.env\"", Node master-1 is reporting: "unexpected on-disk state validating against rendered-master-xx: content mismatch for file \"/etc/mco/proxy.env\"", Node master-2 is reporting: "unexpected on-disk state validating against rendered-master-xx: content mismatch for file \"/etc/mco/proxy.env\"" ~~~
Environment:-
OCP version 4.12.46- UPI install with a proxy,
- existing private DNS,
- existing network.
It is observed that the rendered-master-xxx mc wanted to configure the following
function urldecode() { : "${*//+/ }"; echo -e "${_//%/\\x}"; } ; urldecode "$(oc get mc rendered-master-xxx -o yaml | grep -B5 "path: /etc/mco/proxy.env" | grep source | tail -n 1 | cut -d, -f2)"
# Proxy environment variables will be populated in this file. Properly
# url encoded passwords with special characters will use '%<HEX><HEX>'.
# Systemd requires that any % used in a password be represented as
# %% in a unit file since % is a prefix for macros; this restriction does not
# apply for environment files. Templates that need the proxy set should use
# 'EnvironmentFile=/etc/mco/proxy.env'.
HTTP_PROXY=http://10.0.0.4:3128
HTTPS_PROXY=http://10.0.0.4:3128
NO_PROXY=.cluster.local,.svc,10.0.0.0/24,10.128.0.0/14,127.0.0.1,168.63.xx.xx,169.254.xx.xx,172.30.0.0/16,api-int.test.example.com,localhost
value observed on the machine was :
But the value in the master machine was:
sh-4.4# cat /etc/mco/proxy.env
# Proxy environment variables will be populated in this file. Properly
# url encoded passwords with special characters will use '%<HEX><HEX>'.
# Systemd requires that any % used in a password be represented as
# %% in a unit file since % is a prefix for macros; this restriction does not
# apply for environment files. Templates that need the proxy set should use
#'EnvironmentFile=/etc/mco/proxy.env'.
HTTP_PROXY=http://10.0.0.4:3128
HTTPS_PROXY=http://10.0.0.4:3128
NO_PROXY=.cluster.local,.svc,10.0.0.0/24,10.128.0.0/14,127.0.0.1,169.254.xx.xx,172.30.0.0/16,api-int.test.example.com,localhost
After manually vi into each master node and add the IP 168.63.xx.xx to each proxy.env resolves the issue. That IP is needed when installing with a proxy and a private azure DNS.
Version-Release number of selected component (if applicable):
How reproducible:
100%
Steps to Reproduce:
1. Install UPI cluster with proxy and existing private DNS + network
2. Observe the installation to fail
3. check proxy.env on the node
Actual results:
Installation fails
Expected results:
Installation should be successful
Additional info:
- This was working fine 4.10 - Also, The master mcp needs to be created because the first one is somehow deleted or was never created.