Merge "Add optional external_ip to promjoin"

This commit is contained in:
Zuul 2019-04-25 21:25:48 +00:00 committed by Gerrit Code Review
commit 105fa608d7
9 changed files with 19 additions and 2 deletions

View File

@ -17,6 +17,7 @@ metadata:
data:
hostname: n0
ip: 192.168.77.10
external_ip: 192.168.77.10
apiserver:
arguments:
- --authorization-mode=Node,RBAC

View File

@ -10,6 +10,7 @@ metadata:
data:
hostname: n0
ip: 192.168.77.10
external_ip: 192.168.77.10
armada:
target_manifest: cluster-bootstrap
labels:

View File

@ -36,7 +36,10 @@ class JoinScriptsResource(BaseResource):
def on_get(self, req, resp):
leave_kubectl = req.get_param_as_bool('leave_kubectl')
design_ref = req.get_param('design_ref', required=True)
# The required IP address to be used by Kubernetes itself
ip = req.get_param('ip', required=True)
# The optional IP address to configure as externally-routable
external_ip = req.get_param('external_ip', default='127.0.0.1')
hostname = req.get_param('hostname', required=True)
# NOTE(sh8121att): Set a default here for backward compatability
dns_domain = req.get_param('domain', default='local')
@ -73,6 +76,7 @@ class JoinScriptsResource(BaseResource):
'hostname': hostname,
'domain': dns_domain,
'ip': ip,
'external_ip': external_ip,
'join_ips': join_ips,
'labels': {
'dynamic': dynamic_labels,

View File

@ -105,6 +105,9 @@ data:
ip:
$ref: '#/definitions/ip_address'
external_ip:
$ref: '#/definitions/ip_address'
labels:
properties:
static:

View File

@ -26,6 +26,9 @@ data:
ip:
$ref: '#/definitions/ip_address'
external_ip:
$ref: '#/definitions/ip_address'
domain:
type: string

View File

@ -1,7 +1,7 @@
# This file is controlled by Promenade. Do not modify.
#
127.0.0.1 {{ config.get_first('Genesis:hostname', 'KubernetesNode:hostname') }}.{{ config.get_first('Genesis:domain', 'KubernetesNode:domain', default='local') }} {{ config.get_first('Genesis:hostname', 'KubernetesNode:hostname') }}
127.0.0.1 localhost
{{ config.get_first('Genesis:external_ip', 'KubernetesNode:external_ip', default='127.0.0.1') }} {{ config.get_first('Genesis:hostname', 'KubernetesNode:hostname') }}.{{ config.get_first('Genesis:domain', 'KubernetesNode:domain', default='local') }} {{ config.get_first('Genesis:hostname', 'KubernetesNode:hostname') }}
{%- for entry in config.get_path('KubernetesNetwork:hosts_entries', []) %}
{{ entry['ip'] }} {{ entry['names'] | join(' ') }}
{%- endfor %}

View File

@ -24,7 +24,7 @@ promenade_render_curl_url() {
else
DESIGN_REF="design_ref=${NGINX_URL}/promenade.yaml"
fi
HOST_PARAMS="hostname=${NAME}&ip=$(config_vm_ip "${NAME}")"
HOST_PARAMS="hostname=${NAME}&ip=$(config_vm_ip "${NAME}")&external_ip=$(config_vm_ip "${NAME}")"
echo "${BASE_URL}?${DESIGN_REF}&${HOST_PARAMS}&leave_kubectl=true${LABEL_PARAMS}"
}

View File

@ -10,6 +10,7 @@ metadata:
data:
hostname: ${GENESIS_HOSTNAME}
ip: ${GENESIS_IP}
external_ip: ${GENESIS_IP}
labels:
dynamic:
- calico-etcd=enabled

View File

@ -10,6 +10,7 @@ metadata:
data:
hostname: ${GENESIS_HOSTNAME}
ip: ${GENESIS_IP}
external_ip: ${GENESIS_IP}
join_ip: ${MASTER1_IP}
labels:
dynamic:
@ -40,6 +41,7 @@ metadata:
data:
hostname: ${MASTER1_HOSTNAME}
ip: ${MASTER1_IP}
external_ip: ${MASTER1_IP}
join_ip: ${GENESIS_IP}
labels:
dynamic:
@ -70,6 +72,7 @@ metadata:
data:
hostname: ${MASTER2_HOSTNAME}
ip: ${MASTER2_IP}
external_ip: ${MASTER2_IP}
join_ips:
- ${GENESIS_IP}
- ${MASTER1_IP}
@ -102,6 +105,7 @@ metadata:
data:
hostname: ${WORKER_HOSTNAME}
ip: ${WORKER_IP}
external_ip: ${WORKER_IP}
join_ips:
- ${GENESIS_IP}
- ${MASTER1_IP}