Browse Source

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
changes/60/314060/16
Hua Wang 5 years ago
committed by yatin
parent
commit
77e6c3160f
  1. 12
      devstack/settings
  2. 14
      doc/source/dev/manual-devstack.rst
  3. 14
      doc/source/dev/quickstart.rst
  4. 10
      magnum/drivers/common/templates/environments/no_master_lb.yaml
  5. 10
      magnum/drivers/common/templates/environments/with_master_lb.yaml
  6. 73
      magnum/drivers/k8s_coreos_v1/templates/kubecluster.yaml
  7. 10
      magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml
  8. 73
      magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster-fedora-ironic.yaml
  9. 73
      magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml
  10. 10
      magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster-fedora-ironic.yaml
  11. 10
      magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml
  12. 36
      magnum/drivers/mesos_ubuntu_v1/templates/mesoscluster.yaml
  13. 5
      magnum/drivers/mesos_ubuntu_v1/templates/mesosmaster.yaml
  14. 75
      magnum/drivers/swarm_fedora_atomic_v1/templates/cluster.yaml
  15. 10
      magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml
  16. 11
      magnum/tests/contrib/gate_hook.sh

12
devstack/settings

@ -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

14
doc/source/dev/manual-devstack.rst

@ -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

14
doc/source/dev/quickstart.rst

@ -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

10
magnum/drivers/common/templates/environments/no_master_lb.yaml

@ -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"

10
magnum/drivers/common/templates/environments/with_master_lb.yaml

@ -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"

73
magnum/drivers/k8s_coreos_v1/templates/kubecluster.yaml

@ -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}

10
magnum/drivers/k8s_coreos_v1/templates/kubemaster.yaml

@ -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:

73
magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster-fedora-ironic.yaml

@ -328,48 +328,67 @@ resources:
#
# load balancers.
#
api_loadbalancer:
type: Magnum::Optional::Neutron::LBaaS::LoadBalancer
properties:
vip_subnet: {get_param: 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_param: 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
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_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::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_param: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 2379
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}

73
magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml

@ -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}

10
magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster-fedora-ironic.yaml

@ -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:

10
magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml

@ -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
######################################################################

36
magnum/drivers/mesos_ubuntu_v1/templates/mesoscluster.yaml

@ -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]}
######################################################################
#

5
magnum/drivers/mesos_ubuntu_v1/templates/mesosmaster.yaml

@ -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:

75
magnum/drivers/swarm_fedora_atomic_v1/templates/cluster.yaml

@ -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}

10
magnum/drivers/swarm_fedora_atomic_v1/templates/swarmmaster.yaml

@ -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
######################################################################

11
magnum/tests/contrib/gate_hook.sh

@ -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"

Loading…
Cancel
Save