Merge "[suse] Allow k8s cluster without floating ip"

This commit is contained in:
Jenkins 2016-12-15 20:35:01 +00:00 committed by Gerrit Code Review
commit d30df64f5c
4 changed files with 28 additions and 19 deletions

View File

@ -45,10 +45,21 @@ class JeOSK8sTemplateDefinition(k8s_template_def.K8sTemplateDefinition):
**kwargs)
def get_env_files(self, cluster_template):
env_files = []
if cluster_template.master_lb_enabled:
return [template_def.COMMON_ENV_PATH + 'with_master_lb.yaml']
env_files.append(
template_def.COMMON_ENV_PATH + 'with_master_lb.yaml')
else:
return [template_def.COMMON_ENV_PATH + 'no_master_lb.yaml']
env_files.append(
template_def.COMMON_ENV_PATH + 'no_master_lb.yaml')
if cluster_template.floating_ip_enabled:
env_files.append(
template_def.COMMON_ENV_PATH + 'enable_floating_ip.yaml')
else:
env_files.append(
template_def.COMMON_ENV_PATH + 'disable_floating_ip.yaml')
return env_files
@property
def driver_module_path(self):

View File

@ -438,6 +438,18 @@ resources:
pool_private_ip: {get_attr: [etcd_loadbalancer, vip_address]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
######################################################################
#
# resources that expose the IPs of either floating ip or a given
# fixed ip depending on whether FloatingIP is enabled for the cluster.
#
api_address_floating_switch:
type: Magnum::FloatingIPAddressSwitcher
properties:
public_ip: {get_attr: [api_address_lb_switch, public_ip]}
private_ip: {get_attr: [api_address_lb_switch, private_ip]}
######################################################################
#
# kubernetes masters. This is a resource group that will create
@ -542,7 +554,7 @@ outputs:
str_replace:
template: api_ip_address
params:
api_ip_address: {get_attr: [api_address_switch, public_ip]}
api_ip_address: {get_attr: [api_address_floating_switch, ip_address]}
description: >
This is the API endpoint of the Kubernetes cluster. Use this to access
the Kubernetes API.

View File

@ -168,20 +168,6 @@ resources:
handle: {get_resource: master_wait_handle}
timeout: {get_param: wait_condition_timeout}
######################################################################
#
# resource that exposes the IPs of either the kube master or the API
# LBaaS pool depending on whether LBaaS is enabled for the bay.
#
api_address_switch:
type: Magnum::ApiGatewaySwitcher
properties:
pool_public_ip: {get_param: api_public_address}
pool_private_ip: {get_param: api_private_address}
master_public_ip: {get_attr: [kube_master_floating, floating_ip_address]}
master_private_ip: {get_attr: [kube_master_eth0, fixed_ips, 0, ip_address]}
######################################################################
#
# software configs. these are components that are combined into
@ -302,7 +288,7 @@ resources:
replacement_policy: AUTO
kube_master_floating:
type: OS::Neutron::FloatingIP
type: Magnum::Optional::KubeMaster::Neutron::FloatingIP
properties:
floating_network: {get_param: external_network}
port_id: {get_resource: kube_master_eth0}

View File

@ -303,7 +303,7 @@ resources:
replacement_policy: AUTO
kube_minion_floating:
type: OS::Neutron::FloatingIP
type: Magnum::Optional::KubeMinion::Neutron::FloatingIP
properties:
floating_network: {get_param: external_network}
port_id: {get_resource: kube_minion_eth0}