Add Support of LBaaS v2 API

LBaaS v1 api is completely removed by neutron, so it
cannot be used now. Added Support of LBaaS v2 API.
Now all COE's uses LBaaS v2.

Co-Authored-By: yatin karel <yatin.karel@nectechnologies.in>
Change-Id: Idbccbe1065857449fc8e158115b7833b68c2da9f
Partially-Implements: blueprint magnum-lbaasv2-support
This commit is contained in:
Hua Wang 2016-08-27 15:54:58 +05:30 committed by yatin
parent 4548b310e5
commit 77e6c3160f
16 changed files with 295 additions and 157 deletions

View File

@ -22,8 +22,6 @@ enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
# Note: Default template uses LBaaS.
enable_service q-lbaas
enable_service neutron
# Enable Heat services
@ -32,6 +30,16 @@ enable_service h-api
enable_service h-api-cfn
enable_service h-api-cw
# Disable LBaaS(v1) service
disable_service q-lbaas
# Enable LBaaS(v2) services
enable_service q-lbaasv2
enable_service octavia
enable_service o-cw
enable_service o-hk
enable_service o-hm
enable_service o-api
# Enable Magnum services
enable_service magnum-api
enable_service magnum-cond

View File

@ -52,10 +52,19 @@ and neutron::
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
# Note: Default template uses LBaaS.
enable_service q-lbaas
enable_service neutron
# Disable LBaaS(v1) service
disable_service q-lbaas
# Enable LBaaS(v2) services
enable_service q-lbaasv2
enable_service octavia
enable_service o-cw
enable_service o-hk
enable_service o-hm
enable_service o-api
# Enable heat services
enable_service h-eng
enable_service h-api
@ -65,6 +74,7 @@ and neutron::
# Enable barbican services
enable_plugin barbican https://git.openstack.org/openstack/barbican
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
VOLUME_BACKING_FILE_SIZE=20G
END

View File

@ -78,7 +78,8 @@ To run unit test coverage and check percentage of code covered::
tox -e cover
To discover and interact with templates, please refer to
`<http://docs.openstack.org/developer/magnum/dev/bay-template-example.html>`_
Exercising the Services Using Devstack
======================================
@ -123,6 +124,17 @@ Kilo, and heat is enabled by the magnum plugin)::
# For details http://docs.openstack.org/developer/magnum/dev/tls.html
enable_plugin barbican https://git.openstack.org/openstack/barbican
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
enable_plugin octavia https://git.openstack.org/openstack/octavia
# Disable LBaaS(v1) service
disable_service q-lbaas
# Enable LBaaS(v2) services
enable_service q-lbaasv2
enable_service octavia
enable_service o-cw
enable_service o-hk
enable_service o-hm
enable_service o-api
VOLUME_BACKING_FILE_SIZE=20G
END

View File

@ -4,9 +4,11 @@ resource_registry:
"Magnum::ApiGatewaySwitcher": ../fragments/api_gateway_switcher_master.yaml
# Cluster template
"Magnum::Optional::Neutron::Pool": "OS::Heat::None"
"Magnum::Optional::Neutron::Pool::FloatingIP": "OS::Heat::None"
"Magnum::Optional::Neutron::Pool::HealthMonitor": "OS::Heat::None"
"Magnum::Optional::Neutron::LBaaS::LoadBalancer": "OS::Heat::None"
"Magnum::Optional::Neutron::LBaaS::Listener": "OS::Heat::None"
"Magnum::Optional::Neutron::LBaaS::Pool": "OS::Heat::None"
"Magnum::Optional::Neutron::LBaaS::HealthMonitor": "OS::Heat::None"
"Magnum::Optional::Neutron::FloatingIP": "OS::Heat::None"
# Master node template
"Magnum::Optional::Neutron::PoolMember": "OS::Heat::None"
"Magnum::Optional::Neutron::LBaaS::PoolMember": "OS::Heat::None"

View File

@ -4,9 +4,11 @@ resource_registry:
"Magnum::ApiGatewaySwitcher": ../fragments/api_gateway_switcher_pool.yaml
# Cluster template
"Magnum::Optional::Neutron::Pool": "OS::Neutron::Pool"
"Magnum::Optional::Neutron::Pool::FloatingIP": "OS::Neutron::FloatingIP"
"Magnum::Optional::Neutron::Pool::HealthMonitor": "OS::Neutron::HealthMonitor"
"Magnum::Optional::Neutron::LBaaS::LoadBalancer": "OS::Neutron::LBaaS::LoadBalancer"
"Magnum::Optional::Neutron::LBaaS::Listener": "OS::Neutron::LBaaS::Listener"
"Magnum::Optional::Neutron::LBaaS::Pool": "OS::Neutron::LBaaS::Pool"
"Magnum::Optional::Neutron::LBaaS::HealthMonitor": "OS::Neutron::LBaaS::HealthMonitor"
"Magnum::Optional::Neutron::FloatingIP": "OS::Neutron::FloatingIP"
# Master node template
"Magnum::Optional::Neutron::PoolMember": "OS::Neutron::PoolMember"
"Magnum::Optional::Neutron::LBaaS::PoolMember": "OS::Neutron::LBaaS::PoolMember"

View File

@ -238,50 +238,69 @@ resources:
#
# load balancers.
#
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
api_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: api_loadbalancer}
protocol: {get_param: loadbalancing_protocol}
protocol_port: {get_param: kubernetes_port}
api_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: api_listener}
protocol: {get_param: loadbalancing_protocol}
api_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
api_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: {get_param: loadbalancing_protocol}
monitors: [{get_resource: api_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: {get_param: kubernetes_port}
pool: { get_resource: api_pool }
api_pool_floating:
type: Magnum::Optional::Neutron::Pool::FloatingIP
type: Magnum::Optional::Neutron::FloatingIP
depends_on:
- extrouter_inside
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_pool, vip, port_id]}
port_id: {get_attr: [api_loadbalancer, vip_port_id]}
etcd_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
etcd_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: etcd_loadbalancer}
protocol: HTTP
protocol_port: 2379
etcd_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: etcd_listener}
protocol: HTTP
etcd_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
etcd_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: HTTP
monitors: [{get_resource: etcd_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 2379
pool: { get_resource: etcd_pool }
######################################################################
#
@ -293,14 +312,14 @@ resources:
type: Magnum::ApiGatewaySwitcher
properties:
pool_public_ip: {get_attr: [api_pool_floating, floating_ip_address]}
pool_private_ip: {get_attr: [api_pool, vip, address]}
pool_private_ip: {get_attr: [api_loadbalancer, vip_address]}
master_public_ip: {get_attr: [kube_masters, resource.0.kube_master_external_ip]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
etcd_address_switch:
type: Magnum::ApiGatewaySwitcher
properties:
pool_private_ip: {get_attr: [etcd_pool, vip, address]}
pool_private_ip: {get_attr: [etcd_loadbalancer, vip_address]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
######################################################################
@ -319,7 +338,7 @@ resources:
type: kubemaster.yaml
properties:
api_public_address: {get_attr: [api_pool_floating, floating_ip_address]}
api_private_address: {get_attr: [api_pool, vip, address]}
api_private_address: {get_attr: [api_loadbalancer, vip_address]}
ssh_key_name: {get_param: ssh_key_name}
server_image: {get_param: server_image}
master_flavor: {get_param: master_flavor}

View File

@ -428,17 +428,19 @@ resources:
port_id: {get_resource: kube_master_eth0}
api_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: api_pool_id}
pool: {get_param: api_pool_id}
address: {get_attr: [kube_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet }
protocol_port: {get_param: kubernetes_port}
etcd_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: etcd_pool_id}
pool: {get_param: etcd_pool_id}
address: {get_attr: [kube_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet }
protocol_port: 2379
outputs:

View File

@ -328,48 +328,67 @@ resources:
#
# load balancers.
#
api_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
vip_subnet: {get_param: fixed_subnet}
api_pool:
type: Magnum::Optional::Neutron::Pool
api_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: api_loadbalancer}
protocol: {get_param: loadbalancing_protocol}
monitors: [{get_resource: api_monitor}]
subnet: {get_param: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: {get_param: kubernetes_port}
api_pool_floating:
type: Magnum::Optional::Neutron::Pool::FloatingIP
api_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_pool, vip, port_id]}
lb_algorithm: ROUND_ROBIN
listener: {get_resource: api_listener}
protocol: {get_param: loadbalancing_protocol}
etcd_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
api_monitor:
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
pool: { get_resource: api_pool }
api_pool_floating:
type: Magnum::Optional::Neutron::FloatingIP
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_loadbalancer, vip_port_id]}
etcd_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_param: fixed_subnet}
etcd_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: etcd_loadbalancer}
protocol: HTTP
protocol_port: 2379
etcd_pool:
type: Magnum::Optional::Neutron::Pool
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: etcd_listener}
protocol: HTTP
monitors: [{get_resource: etcd_monitor}]
subnet: {get_param: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 2379
etcd_monitor:
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
pool: { get_resource: etcd_pool }
######################################################################
#
@ -381,14 +400,14 @@ resources:
type: Magnum::ApiGatewaySwitcher
properties:
pool_public_ip: {get_attr: [api_pool_floating, floating_ip_address]}
pool_private_ip: {get_attr: [api_pool, vip, address]}
pool_private_ip: {get_attr: [api_loadbalancer, vip_address]}
master_public_ip: {get_attr: [kube_masters, resource.0.kube_master_external_ip]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
etcd_address_switch:
type: Magnum::ApiGatewaySwitcher
properties:
pool_private_ip: {get_attr: [etcd_pool, vip, address]}
pool_private_ip: {get_attr: [etcd_loadbalancer, vip_address]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
######################################################################
@ -405,7 +424,7 @@ resources:
type: kubemaster-fedora-ironic.yaml
properties:
api_public_address: {get_attr: [api_pool_floating, floating_ip_address]}
api_private_address: {get_attr: [api_pool, vip, address]}
api_private_address: {get_attr: [api_loadbalancer, vip_address]}
ssh_key_name: {get_param: ssh_key_name}
server_image: {get_param: server_image}
master_flavor: {get_param: master_flavor}

View File

@ -348,50 +348,69 @@ resources:
#
# load balancers.
#
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
api_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: api_loadbalancer}
protocol: {get_param: loadbalancing_protocol}
protocol_port: {get_param: kubernetes_port}
api_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: api_listener}
protocol: {get_param: loadbalancing_protocol}
api_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
api_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: {get_param: loadbalancing_protocol}
monitors: [{get_resource: api_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: {get_param: kubernetes_port}
pool: { get_resource: api_pool }
api_pool_floating:
type: Magnum::Optional::Neutron::Pool::FloatingIP
type: Magnum::Optional::Neutron::FloatingIP
depends_on:
- extrouter_inside
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_pool, vip, port_id]}
port_id: {get_attr: [api_loadbalancer, vip_port_id]}
etcd_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
etcd_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: etcd_loadbalancer}
protocol: HTTP
protocol_port: 2379
etcd_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: etcd_listener}
protocol: HTTP
etcd_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
etcd_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: HTTP
monitors: [{get_resource: etcd_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 2379
pool: { get_resource: etcd_pool }
######################################################################
#
@ -403,14 +422,14 @@ resources:
type: Magnum::ApiGatewaySwitcher
properties:
pool_public_ip: {get_attr: [api_pool_floating, floating_ip_address]}
pool_private_ip: {get_attr: [api_pool, vip, address]}
pool_private_ip: {get_attr: [api_loadbalancer, vip_address]}
master_public_ip: {get_attr: [kube_masters, resource.0.kube_master_external_ip]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
etcd_address_lb_switch:
type: Magnum::ApiGatewaySwitcher
properties:
pool_private_ip: {get_attr: [etcd_pool, vip, address]}
pool_private_ip: {get_attr: [etcd_loadbalancer, vip_address]}
master_private_ip: {get_attr: [kube_masters, resource.0.kube_master_ip]}
######################################################################
@ -441,7 +460,7 @@ resources:
type: kubemaster.yaml
properties:
api_public_address: {get_attr: [api_pool_floating, floating_ip_address]}
api_private_address: {get_attr: [api_pool, vip, address]}
api_private_address: {get_attr: [api_loadbalancer, vip_address]}
ssh_key_name: {get_param: ssh_key_name}
server_image: {get_param: server_image}
master_flavor: {get_param: master_flavor}

View File

@ -402,17 +402,19 @@ resources:
get_attr: [kube_master, addresses, {get_param: fixed_network}, 0, port]
api_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: api_pool_id}
pool: {get_param: api_pool_id}
address: {get_attr: [kube_master, networks, private, 0]}
subnet: { get_param: fixed_subnet }
protocol_port: {get_param: kubernetes_port}
etcd_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: etcd_pool_id}
pool: {get_param: etcd_pool_id}
address: {get_attr: [kube_master, networks, private, 0]}
subnet: { get_param: fixed_subnet }
protocol_port: 2379
outputs:

View File

@ -420,17 +420,19 @@ resources:
port_id: {get_resource: kube_master_eth0}
api_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: api_pool_id}
pool: {get_param: api_pool_id}
address: {get_attr: [kube_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet }
protocol_port: {get_param: kubernetes_port}
etcd_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: etcd_pool_id}
pool: {get_param: etcd_pool_id}
address: {get_attr: [kube_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet }
protocol_port: 2379
######################################################################

View File

@ -343,33 +343,41 @@ resources:
#
# load balancers.
#
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
api_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: api_loadbalancer}
protocol: HTTP
protocol_port: 8080
api_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: api_listener}
protocol: HTTP
api_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
api_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: HTTP
monitors: [{get_resource: api_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 8080
description: API pool for Mesos cluster
pool: { get_resource: api_pool }
api_pool_floating:
type: Magnum::Optional::Neutron::Pool::FloatingIP
type: Magnum::Optional::Neutron::FloatingIP
depends_on:
- extrouter_inside
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_pool, vip, port_id]}
port_id: {get_attr: [api_loadbalancer, vip_port_id]}
######################################################################
#

View File

@ -78,10 +78,11 @@ resources:
port_id: {get_resource: mesos_master_eth0}
api_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: api_pool_id}
pool: {get_param: api_pool_id}
address: {get_attr: [mesos_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet }
protocol_port: 8080
outputs:

View File

@ -287,50 +287,69 @@ resources:
#
# load balancers.
#
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
api_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: api_loadbalancer}
protocol: {get_param: loadbalancing_protocol}
protocol_port: {get_param: swarm_port}
api_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: api_listener}
protocol: {get_param: loadbalancing_protocol}
api_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
api_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: {get_param: loadbalancing_protocol}
monitors: [{get_resource: api_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: {get_param: swarm_port}
pool: { get_resource: api_pool }
api_pool_floating:
type: Magnum::Optional::Neutron::Pool::FloatingIP
type: Magnum::Optional::Neutron::FloatingIP
depends_on:
- extrouter_inside
properties:
floating_network: {get_param: external_network}
port_id: {get_attr: [api_pool, vip, port_id]}
port_id: {get_attr: [api_loadbalancer, vip_port_id]}
etcd_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_resource: fixed_subnet}
etcd_listener:
type: Magnum::Optional::Neutron::LBaaS::Listener
properties:
loadbalancer: {get_resource: etcd_loadbalancer}
protocol: HTTP
protocol_port: 2379
etcd_pool:
type: Magnum::Optional::Neutron::LBaaS::Pool
properties:
lb_algorithm: ROUND_ROBIN
listener: {get_resource: etcd_listener}
protocol: HTTP
etcd_monitor:
type: Magnum::Optional::Neutron::Pool::HealthMonitor
type: Magnum::Optional::Neutron::LBaaS::HealthMonitor
properties:
type: TCP
delay: 5
max_retries: 5
timeout: 5
etcd_pool:
type: Magnum::Optional::Neutron::Pool
properties:
protocol: HTTP
monitors: [{get_resource: etcd_monitor}]
subnet: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 2379
pool: { get_resource: etcd_pool }
######################################################################
#
@ -342,14 +361,14 @@ resources:
type: Magnum::ApiGatewaySwitcher
properties:
pool_public_ip: {get_attr: [api_pool_floating, floating_ip_address]}
pool_private_ip: {get_attr: [api_pool, vip, address]}
pool_private_ip: {get_attr: [api_loadbalancer, vip_address]}
master_public_ip: {get_attr: [swarm_masters, resource.0.swarm_master_external_ip]}
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_ip]}
etcd_address_switch:
type: Magnum::ApiGatewaySwitcher
properties:
pool_private_ip: {get_attr: [etcd_pool, vip, address]}
pool_private_ip: {get_attr: [etcd_loadbalancer, vip_address]}
master_private_ip: {get_attr: [swarm_masters, resource.0.swarm_master_ip]}
######################################################################
@ -380,7 +399,7 @@ resources:
http_proxy: {get_param: http_proxy}
https_proxy: {get_param: https_proxy}
no_proxy: {get_param: no_proxy}
swarm_api_ip: {get_attr: [api_pool, vip, address]}
swarm_api_ip: {get_attr: [api_loadbalancer, vip_address]}
cluster_uuid: {get_param: cluster_uuid}
magnum_url: {get_param: magnum_url}
tls_disabled: {get_param: tls_disabled}
@ -392,7 +411,7 @@ resources:
swarm_port: {get_param: swarm_port}
api_pool_id: {get_resource: api_pool}
etcd_pool_id: {get_resource: etcd_pool}
etcd_server_ip: {get_attr: [etcd_pool, vip, address]}
etcd_server_ip: {get_attr: [etcd_loadbalancer, vip_address]}
api_ip_address: {get_attr: [api_pool_floating, floating_ip_address]}
swarm_version: {get_param: swarm_version}
trustee_user_id: {get_param: trustee_user_id}

View File

@ -415,17 +415,19 @@ resources:
get_resource: swarm_master_eth0
api_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: api_pool_id}
pool: {get_param: api_pool_id}
address: {get_attr: [swarm_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet_id }
protocol_port: {get_param: swarm_port}
etcd_pool_member:
type: Magnum::Optional::Neutron::PoolMember
type: Magnum::Optional::Neutron::LBaaS::PoolMember
properties:
pool_id: {get_param: etcd_pool_id}
pool: {get_param: etcd_pool_id}
address: {get_attr: [swarm_master_eth0, fixed_ips, 0, ip_address]}
subnet: { get_param: fixed_subnet_id }
protocol_port: 2379
######################################################################

View File

@ -21,6 +21,8 @@ special=$2
export PROJECTS="openstack/barbican $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin magnum git://git.openstack.org/openstack/magnum"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin octavia https://github.com/openstack/octavia"
if [ "$coe" = "mesos" ]; then
echo "MAGNUM_GUEST_IMAGE_URL=https://fedorapeople.org/groups/magnum/ubuntu-14.04.3-mesos-0.25.0.qcow2" >> $BASE/new/devstack/localrc
@ -36,6 +38,15 @@ elif [ "${coe}${special}" = "k8s-ironic" ]; then
# NOTE(strigazi) keep cinder
# export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service cinder c-sch c-api c-vol"
# Enable LBaaS(v2) and disable LBaaS(v1)
export DEVSTACK_LOCAL_CONFIG+=$'\n'"disable_service q-lbaas"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service q-lbaasv2"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service octavia"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service o-cw"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service o-hk"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service o-hm"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service o-api"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER=pxe_ssh"