promenade/tools/gate/config-templates/joining-host-config.yaml
Matt McEuen c18e3a8d9d Add optional external_ip to promjoin
Adds an optional external_ip parameter to the prom join script API,
and to the Genesis and KubernetesNode schema.
This is used to populate the host's IP address in its /etc/hosts
file if present, according to normal hosts conventions.
If the value is not passed to prom-join or is absent from a
Genesis or KubernetesNode document, then the hosts file defaults
to the current loopback IP for the hostname (business as usual).

Change-Id: I58dc219923b18aaf9c83453b896ce509664d8766
2019-04-23 08:45:34 -05:00

118 lines
2.8 KiB
YAML

---
schema: promenade/KubernetesNode/v1
metadata:
schema: metadata/Document/v1
name: ${GENESIS_HOSTNAME}
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
data:
hostname: ${GENESIS_HOSTNAME}
ip: ${GENESIS_IP}
external_ip: ${GENESIS_IP}
join_ip: ${MASTER1_IP}
labels:
dynamic:
- calico-etcd=enabled
- ceph-mds=enabled
- ceph-mon=enabled
- ceph-osd=enabled
- ceph-rgw=enabled
- ceph-mgr=enabled
- coredns=enabled
- kubernetes-apiserver=enabled
- kubernetes-controller-manager=enabled
- kubernetes-etcd=enabled
- kubernetes-scheduler=enabled
- openstack-compute-node=enabled
- openstack-control-plane=enabled
- openvswitch=enabled
- ucp-control-plane=enabled
---
schema: promenade/KubernetesNode/v1
metadata:
schema: metadata/Document/v1
name: ${MASTER1_HOSTNAME}
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
data:
hostname: ${MASTER1_HOSTNAME}
ip: ${MASTER1_IP}
external_ip: ${MASTER1_IP}
join_ip: ${GENESIS_IP}
labels:
dynamic:
- calico-etcd=enabled
- ceph-mds=enabled
- ceph-mon=enabled
- ceph-osd=enabled
- ceph-rgw=enabled
- ceph-mgr=enabled
- coredns=enabled
- kubernetes-apiserver=enabled
- kubernetes-controller-manager=enabled
- kubernetes-etcd=enabled
- kubernetes-scheduler=enabled
- openstack-compute-node=enabled
- openstack-control-plane=enabled
- openvswitch=enabled
- ucp-control-plane=enabled
---
schema: promenade/KubernetesNode/v1
metadata:
schema: metadata/Document/v1
name: ${MASTER2_HOSTNAME}
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
data:
hostname: ${MASTER2_HOSTNAME}
ip: ${MASTER2_IP}
external_ip: ${MASTER2_IP}
join_ips:
- ${GENESIS_IP}
- ${MASTER1_IP}
labels:
dynamic:
- calico-etcd=enabled
- ceph-mds=enabled
- ceph-mon=enabled
- ceph-osd=enabled
- ceph-rgw=enabled
- ceph-mgr=enabled
- coredns=enabled
- kubernetes-apiserver=enabled
- kubernetes-controller-manager=enabled
- kubernetes-etcd=enabled
- kubernetes-scheduler=enabled
- openstack-compute-node=enabled
- openstack-control-plane=enabled
- openvswitch=enabled
- ucp-control-plane=enabled
---
schema: promenade/KubernetesNode/v1
metadata:
schema: metadata/Document/v1
name: ${WORKER_HOSTNAME}
layeringDefinition:
abstract: false
layer: site
storagePolicy: cleartext
data:
hostname: ${WORKER_HOSTNAME}
ip: ${WORKER_IP}
external_ip: ${WORKER_IP}
join_ips:
- ${GENESIS_IP}
- ${MASTER1_IP}
- ${MASTER2_IP}
labels:
dynamic:
- openstack-compute-node=enabled
- openvswitch=enabled
...