Add fuel-9.0 support

2.0.0 version for Fuel-9.0

Change-Id: I984dd490c566cb1921047dcf32c953bdb2782031
This commit is contained in:
Aleksandr Didenko 2016-04-11 11:46:02 +02:00
parent ef5abfdad0
commit 60d1937902
5 changed files with 100 additions and 67 deletions

View File

@ -29,9 +29,10 @@ It can also allow cloud operators to move controllers into different racks (see
## Compatibility
| Plugin version | Fuel version |
| -------------- | ------------ |
| 1.x.x | Fuel-8.x |
| Plugin version | Branch | Fuel version |
| -------------- | ------------- | ------------ |
| 1.x.x | stable/8.0 | Fuel-8.x |
| 2.x.x | stable/mitaka | Fuel-9.x |
## How to build plugin

View File

@ -7,59 +7,9 @@ $floating_br = pick($network_scheme['roles']['neutron/floating'], 'br-floatin
$floating_gw_if = pick($external_lb['floating_gw_if'], 'exlb-float-gw')
if $external_lb['external_public_vip'] and $external_lb['enable_fake_floating'] {
$service_name = 'p_exlb_floating_port'
$primitive_type = 'ovs_to_ns_port'
$complex_type = 'clone'
$ms_metadata = {
'interleave' => true,
}
$metadata = {
'migration-threshold' => 'INFINITY',
'failure-timeout' => '120',
}
$parameters = {
'ns' => 'vrouter',
'ovs_interface' => $floating_br,
'namespace_interface' => $floating_gw_if,
'namespace_ip' => $external_lb['fake_floating_gw'],
'namespace_cidr' => $external_lb['fake_floating_cidr'],
}
$operations = {
'monitor' => {
'interval' => '60',
'timeout' => '120'
},
'start' => {
'timeout' => '30'
},
'stop' => {
'timeout' => '30'
},
}
file {'/usr/lib/ocf/resource.d/fuel/ovs_to_ns_port':
ensure => file,
mode => '0755',
source => "puppet:///modules/external_loadbalancer/ovs_to_ns_port",
}
service { $service_name :
ensure => 'running',
enable => true,
hasstatus => true,
hasrestart => true,
provider => 'pacemaker',
require => File['/usr/lib/ocf/resource.d/fuel/ovs_to_ns_port'],
}
pacemaker_wrappers::service { $service_name :
primitive_type => $primitive_type,
parameters => $parameters,
metadata => $metadata,
operations => $operations,
ms_metadata => $ms_metadata,
complex_type => $complex_type,
prefix => false,
require => File['/usr/lib/ocf/resource.d/fuel/ovs_to_ns_port'],
}
}

View File

@ -0,0 +1,57 @@
notice('MODULAR: external_loadbalancer/ovs_to_ns_service.pp')
$plugin_name = 'external_loadbalancer'
$external_lb = hiera("$plugin_name")
$network_scheme = hiera_hash("network_scheme", {})
$floating_br = pick($network_scheme['roles']['neutron/floating'], 'br-floating')
$floating_gw_if = pick($external_lb['floating_gw_if'], 'exlb-float-gw')
if $external_lb['external_public_vip'] and $external_lb['enable_fake_floating'] {
$service_name = 'p_exlb_floating_port'
$primitive_type = 'ovs_to_ns_port'
$complex_type = 'clone'
$complex_metadata = {
'interleave' => true,
}
$metadata = {
'migration-threshold' => 'INFINITY',
'failure-timeout' => '120',
}
$parameters = {
'ns' => 'vrouter',
'ovs_interface' => $floating_br,
'namespace_interface' => $floating_gw_if,
'namespace_ip' => $external_lb['fake_floating_gw'],
'namespace_cidr' => $external_lb['fake_floating_cidr'],
}
$operations = {
'monitor' => {
'interval' => '60',
'timeout' => '120'
},
'start' => {
'timeout' => '30'
},
'stop' => {
'timeout' => '30'
},
}
service { $service_name :
ensure => 'running',
enable => true,
hasstatus => true,
hasrestart => true,
provider => 'pacemaker',
}
pacemaker::service { $service_name :
primitive_type => $primitive_type,
parameters => $parameters,
metadata => $metadata,
operations => $operations,
complex_metadata => $ms_metadata,
complex_type => $complex_type,
prefix => false,
}
}

View File

@ -1,43 +1,68 @@
- id: external-lb-hiera
version: 2.0.0
type: puppet
role: '*'
requires: [pre_hiera_config]
required_for: [pre_deployment_end]
groups: ['/.*/']
requires: [hiera]
required_for: [hiera-update]
parameters:
puppet_manifest: puppet/manifests/create_hiera_config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 360
- id: external-lb-ovs-to-ns-port
- id: hiera-update
version: 2.0.0
type: puppet
groups: ['/.*/']
requires: [external-lb-hiera]
required_for: [globals]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/hiera/hiera.pp
puppet_modules: /etc/puppet/modules
timeout: 360
- id: external-lb-ovs-to-ns-port-ocf
version: 2.0.0
type: puppet
groups: [primary-controller, controller]
requires: [deploy_start, netconfig, cluster-vrouter]
required_for: [deploy_end]
requires: [fuel_pkgs]
required_for: [globals]
parameters:
puppet_manifest: puppet/manifests/ovs_to_ns_ocf.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
- id: external-lb-ovs-to-ns-port-service
version: 2.0.0
type: puppet
groups: [primary-controller, controller]
requires: [deploy_start, cluster-vrouter]
required_for: [deploy_end]
parameters:
puppet_manifest: puppet/manifests/ovs_to_ns_service.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 600
# This is a workaround to disable adding record to hosts file if we use FQDN external host
- id: disable-public-ssl-hash
version: 2.0.0
type: puppet
groups: [primary-controller, controller]
requires: [ssl-add-trust-chain]
required_for: [ssl-dns-setup]
condition: "settings:public_ssl.horizon.value == true or settings:public_ssl.services.value == true"
condition: "settings:public_ssl.horizon == true or settings:public_ssl.services == true"
parameters:
puppet_manifest: puppet/manifests/disable_public_ssl_hash.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 60
- id: enable-public-ssl-hash
version: 2.0.0
type: puppet
groups: [primary-controller, controller]
requires: [ssl-dns-setup]
required_for: [hosts]
condition: "settings:public_ssl.horizon.value == true or settings:public_ssl.services.value == true"
condition: "settings:public_ssl.horizon == true or settings:public_ssl.services == true"
parameters:
puppet_manifest: puppet/manifests/enable_public_ssl_hash.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 60

View File

@ -1,8 +1,8 @@
name: external_loadbalancer
title: External load-balancer
version: 1.0.0
version: 2.0.0
description: Enable to use external load-balancer
fuel_version: ['8.0']
fuel_version: ['9.0']
licenses: ['Apache License, Version 2.0']
authors:
- 'Aleksandr Didenko <adidenko@mirantis.com>'
@ -10,14 +10,14 @@ homepage: 'https://github.com/openstack/fuel-plugin-external-lb'
groups: ['network']
releases:
- os: ubuntu
version: liberty-8.0
version: mitaka-9.0
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/ubuntu
- os: centos
version: liberty-8.0
version: mitaka-9.0
mode: ['ha']
deployment_scripts_path: deployment_scripts/
repository_path: repositories/centos
package_version: '3.0.0'
package_version: '4.0.0'
is_hotpluggable: false