diff --git a/kvirt/cluster/openshift/__init__.py b/kvirt/cluster/openshift/__init__.py index efcb2e73c..b6820cadf 100644 --- a/kvirt/cluster/openshift/__init__.py +++ b/kvirt/cluster/openshift/__init__.py @@ -1039,12 +1039,15 @@ def create(config, plandir, cluster, overrides, dnsconfig=None): overrides['image'] = image static_networking_ctlplane, static_networking_worker = False, False macentries = [] + custom_names = {} vmrules = overrides.get('vmrules', []) for entry in vmrules: if isinstance(entry, dict): hostname = list(entry.keys())[0] if isinstance(entry[hostname], dict): rule = entry[hostname] + if 'name' in rule: + custom_names[hostname] = rule['name'] if 'nets' in rule and isinstance(rule['nets'], list): netrule = rule['nets'][0] if isinstance(netrule, dict) and 'ip' in netrule and 'netmask' in netrule: @@ -1057,6 +1060,8 @@ def create(config, plandir, cluster, overrides, dnsconfig=None): static_networking_ctlplane = True elif hostname.startswith(f"{cluster}-worker"): static_networking_worker = True + if custom_names: + overrides['custom_names'] = custom_names overrides['cluster'] = cluster if not os.path.exists(clusterdir): os.makedirs(clusterdir) diff --git a/kvirt/cluster/openshift/haproxy.cfg b/kvirt/cluster/openshift/haproxy.cfg index 1cc914bf7..cf2057752 100644 --- a/kvirt/cluster/openshift/haproxy.cfg +++ b/kvirt/cluster/openshift/haproxy.cfg @@ -52,7 +52,13 @@ listen ingress-8000 mode tcp balance source {% for num in range(0, ingresses) %} - {% set server = baremetal_hosts[num]['fqdn'] if baremetal_hosts is defined and baremetal_hosts|length > num and 'fqdn' in baremetal_hosts[num] else name|default("%s-%s-%s.%s" % (cluster, ingressprefix, num, final_domain)) %} + {% if baremetal_hosts is defined and baremetal_hosts|length > num and 'fqdn' in baremetal_hosts[num] %} + {% set server = baremetal_hosts[num]['fqdn'] %} + {% elif custom_names is defined and "%s-%s-%s" % (cluster, ingressprefix, num) in custom_names %} + {% set server = custom_names["%s-%s-%s" % (cluster, ingressprefix, num)] %} + {% else %} + {% set server = "%s-%s-%s.%s" % (cluster, ingressprefix, num, final_domain) %} + {% endif %} server {{ ingressprefix }}{{ num }} {{ server }}:80 check inter 1s {% endfor %} @@ -61,6 +67,12 @@ listen ingress-1443 mode tcp balance source {% for num in range(0, ingresses) %} - {% set server = baremetal_hosts[num]['fqdn'] if baremetal_hosts is defined and baremetal_hosts|length > num and 'fqdn' in baremetal_hosts[num] else name|default("%s-%s-%s.%s" % (cluster, ingressprefix, num, final_domain)) %} + {% if baremetal_hosts is defined and baremetal_hosts|length > num and 'fqdn' in baremetal_hosts[num] %} + {% set server = baremetal_hosts[num]['fqdn'] %} + {% elif custom_names is defined and "%s-%s-%s" % (cluster, ingressprefix, num) in custom_names %} + {% set server = custom_names["%s-%s-%s" % (cluster, ingressprefix, num)] %} + {% else %} + {% set server = "%s-%s-%s.%s" % (cluster, ingressprefix, num, final_domain) %} + {% endif %} server {{ ingressprefix }}{{ num }} {{ server }}:443 check inter 1s {% endfor %}