From 25287e8a02dcdccb371a1c7bef04ce3091094acc Mon Sep 17 00:00:00 2001 From: Vladimir Kuklin Date: Wed, 11 Dec 2013 14:31:13 +0400 Subject: [PATCH 1/6] Setup git-review Change-Id: I72c89e0c784d0b7ffe639b3430803570c97c2687 --- .gitreview | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitreview diff --git a/.gitreview b/.gitreview new file mode 100644 index 000000000..fb7a0fafb --- /dev/null +++ b/.gitreview @@ -0,0 +1,4 @@ +[gerrit] +host=review.openstack.org +port=29418 +project=stackforge/fuel-library.git From 75f65ccaac86fa18f9233314bd72d777c1291372 Mon Sep 17 00:00:00 2001 From: Andrey Korolyov Date: Tue, 10 Dec 2013 17:36:47 +0400 Subject: [PATCH 2/6] Add .gitreview The following commit strings match github.com/Mirantis/fuel.git commits: 687a554eb9b6ae4dcc114f34e9690e601b40610c 63e529bb9ff04814120e6606e5491497e6e9c99e e6919d95b3ff9be8c42f10cbe63e94d8b8b2cd41 67a0eca8e94ad30c0ebc704b6d58c7282f514fa8 2adedd194a41476d5cf6500943acef6181b9f600 ec5a34c06f682e6b3c7a1748eb0cd9ed8d40efad 506eb60589dd82a58fcfd1cd303a71b81405dcd5 5794eb0f4d1ba47fc59a8f3952bdadb365448cc3 ddfac2319d9b422d17bc77cc84d2fe518af65a00 a3cabba18b23d6f7dd409f18629033e7d8c58afb 332eb9e2d2f213069afb3e085a392170047561be f139e9f9b560e9408eb92a6d91f5913de5b24ea7 662b8c4b7d4576c75aff7d299a2d480613a67e2e 6d4eb37594755a8006d1b10b3cec157ebbbe5f54 f0a3ad894cf8b701d8058e017ba9af3ccd4c60be baf91010aa0ea7ee95550c2656eba7c83b5ec7f4 0e012cc5578446c0c14459d1c8874e19d3499f38 fcc5641ceedecb148de88c0e73d51d5b83a0ad70 0f4c285e05a5fed6b5a00d098f5459aee9450d15 e22ca9e058c1abf20be1535d621d1179c7bf9552 e986f16ec22ad24afe0781825dfc1687c4d01b15 89aaf0976e42bd4143d393bd81f695cbe9d8fac2 add ordering Fix bug with auto_assignment for Savanna + Neutron [nailgun] New node naming convention in ssh.config The slave nodes are called node-NN now istead of slave-NN. Flush IPs on all interfaces that are members of a bond - This is needed to prevent the situation when Puppet is trying to assign an IP to bond, which is already in use on some of bonded interfaces. Revert "Merge pull request #877 from alexeyklimenok/master" This reverts commit a3cabba18b23d6f7dd409f18629033e7d8c58afb, reversing changes made to 332eb9e2d2f213069afb3e085a392170047561be. use name from params.pp cpufreq tuning for compute nodes pseudo package for Centos w/ 4.0 rebase Update venv-ostf dependency for Havana Update versions for next dependencies: * python-novaclient * python-cinderclient * python-heatclient * python-muranoclient * python-ceilometerclient * oslo.config * six * requests Delete installation of next unused in OSTF clients: * python-quantumclient * python-glanceclient Closes-bug bug/1250862 Make cs_commit before service always Remove obsolete corosync::cleanup resource usage Cs_commit ordering for dhcp and metadata 1. fix dhcp commit order collector 2. set metadata commit order before service Change-Id: I06fbe2153b34f66b0d5a4a694e30410e1aff068a --- .../ceilometer/manifests/agent/central.pp | 5 --- .../puppet/cluster/manifests/haproxy.pp | 3 +- .../puppet/cluster/manifests/virtual_ip.pp | 5 +-- deployment/puppet/galera/manifests/init.pp | 3 +- deployment/puppet/heat/manifests/engine.pp | 4 +-- deployment/puppet/mysql/manifests/server.pp | 4 --- deployment/puppet/nailgun/files/venv-ostf.txt | 21 ++++++------ .../nailgun/templates/root_ssh_config.erb | 2 +- .../puppet/neutron/manifests/agents/dhcp.pp | 31 +++++++++--------- .../puppet/neutron/manifests/agents/l3.pp | 31 +++++++++--------- .../neutron/manifests/agents/metadata.pp | 3 +- .../puppet/neutron/manifests/agents/ovs.pp | 2 ++ .../puppet/nova/manifests/compute/libvirt.pp | 32 ++++++++++++------- .../puppet/savanna/manifests/dashboard.pp | 12 +++---- 14 files changed, 78 insertions(+), 80 deletions(-) diff --git a/deployment/puppet/ceilometer/manifests/agent/central.pp b/deployment/puppet/ceilometer/manifests/agent/central.pp index c119e73c0..a653d124a 100644 --- a/deployment/puppet/ceilometer/manifests/agent/central.pp +++ b/deployment/puppet/ceilometer/manifests/agent/central.pp @@ -110,8 +110,6 @@ cs_shadow { $res_name: cib => $cib_name } cs_commit { $res_name: cib => $cib_name } - ::corosync::cleanup{ $res_name: } - service { 'ceilometer-agent-central': ensure => $service_ensure, name => $res_name, @@ -121,9 +119,6 @@ provider => "pacemaker", } - Cs_commit[$res_name] -> ::Corosync::Cleanup[$res_name] - Cs_commit[$res_name] ~> ::Corosync::Cleanup[$res_name] - Cs_shadow[$res_name] -> Cs_resource[$res_name] -> Cs_commit[$res_name] -> diff --git a/deployment/puppet/cluster/manifests/haproxy.pp b/deployment/puppet/cluster/manifests/haproxy.pp index 3c96f165c..1d09e78e9 100644 --- a/deployment/puppet/cluster/manifests/haproxy.pp +++ b/deployment/puppet/cluster/manifests/haproxy.pp @@ -22,8 +22,7 @@ Anchor['haproxy'] -> Cs_shadow["$cib_name"] - corosync::cleanup {"clone_$cib_name": } - Cs_commit[$cib_name] ~> Corosync::Cleanup["clone_$cib_name"] -> Service['haproxy'] + Cs_commit[$cib_name] -> Service['haproxy'] file {'haproxy-ocf': path=>'/usr/lib/ocf/resource.d/mirantis/haproxy', diff --git a/deployment/puppet/cluster/manifests/virtual_ip.pp b/deployment/puppet/cluster/manifests/virtual_ip.pp index 025438397..095a862e6 100644 --- a/deployment/puppet/cluster/manifests/virtual_ip.pp +++ b/deployment/puppet/cluster/manifests/virtual_ip.pp @@ -23,10 +23,7 @@ cs_shadow { $cib_name: cib => $cib_name } cs_commit { $cib_name: cib => $cib_name } - ::corosync::cleanup { $vip_name: } - Cs_commit[$cib_name] -> ::Corosync::Cleanup[$vip_name] - Cs_commit[$cib_name] ~> ::Corosync::Cleanup[$vip_name] cs_resource { $vip_name: ensure => present, @@ -67,4 +64,4 @@ Corosync::Service['pacemaker'] -> Cluster::Virtual_ip <||> } # -### \ No newline at end of file +### diff --git a/deployment/puppet/galera/manifests/init.pp b/deployment/puppet/galera/manifests/init.pp index e32e860a5..faf5a24b2 100644 --- a/deployment/puppet/galera/manifests/init.pp +++ b/deployment/puppet/galera/manifests/init.pp @@ -146,9 +146,8 @@ cs_shadow { $res_name: cib => $cib_name } cs_commit { $res_name: cib => $cib_name } - ::corosync::cleanup { "clone_$res_name": } - Cs_commit["$res_name"] ~> Corosync::Cleanup["clone_$res_name"] -> Service["mysql"] + Cs_commit["$res_name"] -> Service["mysql"] cs_resource { "$res_name": ensure => present, diff --git a/deployment/puppet/heat/manifests/engine.pp b/deployment/puppet/heat/manifests/engine.pp index ccb732a14..8456ff556 100644 --- a/deployment/puppet/heat/manifests/engine.pp +++ b/deployment/puppet/heat/manifests/engine.pp @@ -63,8 +63,6 @@ cib => $service_name, } - corosync::cleanup { $service_name : } - cs_resource { $service_name : ensure => present, cib => $service_name, @@ -78,7 +76,7 @@ }, } - Heat_config<||> -> File['heat-engine-ocf'] -> Cs_shadow[$service_name] -> Cs_resource[$service_name] -> Cs_commit[$service_name] ~> Corosync::Cleanup[$service_name] -> Service['heat-engine'] + Heat_config<||> -> File['heat-engine-ocf'] -> Cs_shadow[$service_name] -> Cs_resource[$service_name] -> Cs_commit[$service_name] -> Service['heat-engine'] } diff --git a/deployment/puppet/mysql/manifests/server.pp b/deployment/puppet/mysql/manifests/server.pp index b8e436390..255edfccf 100644 --- a/deployment/puppet/mysql/manifests/server.pp +++ b/deployment/puppet/mysql/manifests/server.pp @@ -82,10 +82,6 @@ $allowed_hosts = '%' #$allowed_hosts = 'localhost' - ::corosync::cleanup{"p_${service_name}": } - Cs_commit['mysql']->::Corosync::Cleanup["p_${service_name}"] - Cs_commit['mysql']~>::Corosync::Cleanup["p_${service_name}"] - ::Corosync::Cleanup["p_${service_name}"] -> Service['mysql'] create_resources( 'class', { 'mysql::config' => $config_hash }) Class['mysql::config'] -> Cs_resource["p_${service_name}"] diff --git a/deployment/puppet/nailgun/files/venv-ostf.txt b/deployment/puppet/nailgun/files/venv-ostf.txt index 6c97141de..66cc2ff41 100644 --- a/deployment/puppet/nailgun/files/venv-ostf.txt +++ b/deployment/puppet/nailgun/files/venv-ostf.txt @@ -22,7 +22,7 @@ logutils==0.3.3 netaddr==0.7.10 nose==1.3.0 ordereddict==1.1 -oslo.config==1.1.1 +oslo.config==1.2.0 paramiko==1.10.1 pbr==0.5.21 pecan==0.3.0 @@ -32,20 +32,19 @@ psycopg2==2.5.1 pyOpenSSL==0.13 pycrypto==2.6 pyparsing==1.5.7 -python-cinderclient==1.0.4 -python-heatclient==0.2.2 -python-glanceclient==0.9.0 -python-keystoneclient==0.2.4 +python-cinderclient==1.0.6 +python-ceilometerclient==1.0.6 +python-heatclient==0.2.5 +python-keystoneclient==0.4.1 python-mimeparse==0.1.4 -python-muranoclient==0.2 -python-novaclient==2.12.0 -python-savannaclient==0.2.2 -python-quantumclient==2.2.3 -requests==1.2.3 +python-muranoclient==0.2.11 +python-novaclient==2.15.0 +python-savannaclient==0.3 +requests==1.1 setuptools-git==1.0 simplegeneric==0.8.1 simplejson==3.3.0 -six==1.3.0 +six==1.4.1 stevedore==0.10 testresources==0.2.7 testtools==0.9.32 diff --git a/deployment/puppet/nailgun/templates/root_ssh_config.erb b/deployment/puppet/nailgun/templates/root_ssh_config.erb index d1d8c7931..3f875f2e1 100644 --- a/deployment/puppet/nailgun/templates/root_ssh_config.erb +++ b/deployment/puppet/nailgun/templates/root_ssh_config.erb @@ -1,4 +1,4 @@ -Host slave-* controller-* compute-* storage-* 10.* 192.168.* 172.30.* 172.31.* 172.2?.* 172.1?.* +Host node-* controller-* compute-* storage-* 10.* 192.168.* 172.30.* 172.31.* 172.2?.* 172.1?.* CheckHostIP no IdentityFile ~/.ssh/bootstrap.rsa IdentityFile ~/.ssh/id_rsa diff --git a/deployment/puppet/neutron/manifests/agents/dhcp.pp b/deployment/puppet/neutron/manifests/agents/dhcp.pp index ce83c9eb0..4312a9c1d 100644 --- a/deployment/puppet/neutron/manifests/agents/dhcp.pp +++ b/deployment/puppet/neutron/manifests/agents/dhcp.pp @@ -11,15 +11,26 @@ ) { include 'neutron::params' + if $::neutron::params::dhcp_agent_package { + Package['neutron'] -> Package['neutron-dhcp-agent'] + + $dhcp_agent_package = 'neutron-dhcp-agent' + + package { 'neutron-dhcp-agent': + name => $::neutron::params::dhcp_agent_package + } + } else { + $dhcp_agent_package = $::neutron::params::package_name + } if $::operatingsystem == 'Ubuntu' { file { '/etc/init/neutron-dhcp-agent.override': replace => 'no', ensure => 'present', content => 'manual', mode => 644, - } -> Package['neutron-dhcp-agent'] + } -> Package<| title=="$dhcp_agent_package" |> if $service_provider != 'pacemaker' { - Package['neutron-dhcp-agent'] -> + Package<| title=="$dhcp_agent_package" |> -> exec { 'rm-neutron-dhcp-override': path => '/sbin:/bin:/usr/bin:/usr/sbin', command => "rm -f /etc/init/neutron-dhcp-agent.override", @@ -27,17 +38,6 @@ } } - if $::neutron::params::dhcp_agent_package { - Package['neutron'] -> Package['neutron-dhcp-agent'] - - $dhcp_agent_package = 'neutron-dhcp-agent' - - package { 'neutron-dhcp-agent': - name => $::neutron::params::dhcp_agent_package - } - } else { - $dhcp_agent_package = $::neutron::params::package_name - } include 'neutron::waist_setup' @@ -230,8 +230,9 @@ Anchor['neutron-dhcp-agent'] -> Cs_resource<| title=="p_${::neutron::params::dhcp_agent_service}" |> -> - Service['neutron-dhcp-service'] -> - Anchor['neutron-dhcp-agent-done'] + Cs_commit <| title== 'dhcp' |> -> + Service['neutron-dhcp-service'] -> + Anchor['neutron-dhcp-agent-done'] anchor {'neutron-dhcp-agent-done': } diff --git a/deployment/puppet/neutron/manifests/agents/l3.pp b/deployment/puppet/neutron/manifests/agents/l3.pp index b1dbece89..a89b55728 100644 --- a/deployment/puppet/neutron/manifests/agents/l3.pp +++ b/deployment/puppet/neutron/manifests/agents/l3.pp @@ -13,15 +13,27 @@ anchor {'neutron-l3': } Service<| title=='neutron-server' |> -> Anchor['neutron-l3'] + if $::neutron::params::l3_agent_package { + $l3_agent_package = 'neutron-l3' + + package { 'neutron-l3': + name => $::neutron::params::l3_agent_package, + ensure => present, + } + # do not move it to outside this IF + Package['neutron-l3'] -> Neutron_l3_agent_config <| |> + } else { + $l3_agent_package = $::neutron::params::package_name + } if $::operatingsystem == 'Ubuntu' { file { '/etc/init/neutron-l3-agent.override': replace => 'no', ensure => 'present', content => 'manual', mode => 644, - } -> Package['neutron-l3'] + } -> Package<| title == "$l3_agent_package" |> if $service_provider != 'pacemaker' { - Package['neutron-l3'] -> + Package<| title == "$l3_agent_package" |> -> exec { 'rm-neutron-l3-override': path => '/sbin:/bin:/usr/bin:/usr/sbin', command => "rm -f /etc/init/neutron-l3-agent.override", @@ -29,18 +41,6 @@ } } - if $::neutron::params::l3_agent_package { - $l3_agent_package = 'neutron-l3' - - package { 'neutron-l3': - name => $::neutron::params::l3_agent_package, - ensure => present, - } - # do not move it to outside this IF - Package['neutron-l3'] -> Neutron_l3_agent_config <| |> - } else { - $l3_agent_package = $::neutron::params::package_name - } include 'neutron::waist_setup' @@ -205,7 +205,8 @@ Anchor['neutron-l3'] -> Service['neutron-l3-init_stopped'] -> Cs_resource["p_${::neutron::params::l3_agent_service}"] -> - Service['neutron-l3'] -> + Cs_commit['l3']-> + Service['neutron-l3'] -> Anchor['neutron-l3-done'] service { 'neutron-l3-init_stopped': diff --git a/deployment/puppet/neutron/manifests/agents/metadata.pp b/deployment/puppet/neutron/manifests/agents/metadata.pp index 6355fcf81..1b691b054 100644 --- a/deployment/puppet/neutron/manifests/agents/metadata.pp +++ b/deployment/puppet/neutron/manifests/agents/metadata.pp @@ -137,10 +137,11 @@ Anchor['neutron-metadata-agent'] -> Service['neutron-metadata-agent__disabled'] -> Cs_resource["$res_name"] -> + Cs_commit["$cib_name"] -> Service["$res_name"] -> Anchor['neutron-metadata-agent-done'] } anchor {'neutron-metadata-agent-done': } } -# vim: set ts=2 sw=2 et : \ No newline at end of file +# vim: set ts=2 sw=2 et : diff --git a/deployment/puppet/neutron/manifests/agents/ovs.pp b/deployment/puppet/neutron/manifests/agents/ovs.pp index e891756e5..a2d64eaf0 100644 --- a/deployment/puppet/neutron/manifests/agents/ovs.pp +++ b/deployment/puppet/neutron/manifests/agents/ovs.pp @@ -157,6 +157,7 @@ Service['neutron-ovs-agent_stopped'] -> Exec<| title=='neutron-ovs-agent_stopped' |> -> Cs_resource["p_${::neutron::params::ovs_agent_service}"] -> + Cs_commit['ovs'] -> Service['neutron-ovs-agent'] service { 'neutron-ovs-agent': @@ -201,6 +202,7 @@ } } default: { + Package["$ovs_agent_package"] -> service { 'neutron-ovs-cleanup': name => 'neutron-ovs-cleanup', enable => true, diff --git a/deployment/puppet/nova/manifests/compute/libvirt.pp b/deployment/puppet/nova/manifests/compute/libvirt.pp index 9eb192410..96aa96121 100644 --- a/deployment/puppet/nova/manifests/compute/libvirt.pp +++ b/deployment/puppet/nova/manifests/compute/libvirt.pp @@ -8,23 +8,16 @@ if $::osfamily == 'RedHat' { -# yumrepo {'CentOS-Base': -# name => 'updates', -# priority => 10, -# before => [Package['libvirt']] -# }-> - - -# package { 'qemu': -# ensure => present, -# } - exec { 'symlink-qemu-kvm': command => "/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64", } stdlib::safe_package {'dnsmasq-utils':} + package { 'cpufreq-init': + ensure => present; + } + package { 'avahi': ensure => present; } -> @@ -50,6 +43,23 @@ } } + + if $::operatingsystem == 'Ubuntu' { + + package { 'cpufrequtils': + ensure => present; + } + file { '/etc/default/cpufrequtils': + content => "GOVERNOR=\"performance\" \n", + require => Package['cpufrequtils'], + notify => Service['cpufrequtils'], + } + service { 'cpufrequtils': + name => 'cpufrequtils', + enable => true, + ensure => true, + } + } Service['libvirt'] -> Service['nova-compute'] diff --git a/deployment/puppet/savanna/manifests/dashboard.pp b/deployment/puppet/savanna/manifests/dashboard.pp index 4895d4434..045972bbf 100644 --- a/deployment/puppet/savanna/manifests/dashboard.pp +++ b/deployment/puppet/savanna/manifests/dashboard.pp @@ -22,16 +22,16 @@ if $use_neutron { $use_neutron_value = 'True' + $floating_ips_value = 'False' } else { + if $use_floating_ips { + $floating_ips_value = 'True' + } else { + $floating_ips_value = 'False' + } $use_neutron_value = 'False' } - if $use_floating_ips { - $floating_ips_value = 'True' - } else { - $floating_ips_value = 'False' - } - File_line { ensure => $line_ensure, } From 0a6c2db51741fbaf265598e73171d76bf11082ce Mon Sep 17 00:00:00 2001 From: Sergey Vasilenko Date: Wed, 11 Dec 2013 13:57:40 +0400 Subject: [PATCH 3/6] Simplification orders of Bridge creation for OVS agent Closes-Bug: #1259924 * use neutron::agents::utils::bridges{} abstraction for create bridges for ovs-agent * naming Cs_resource for more convinient use. * remove unneeded relationship Change-Id: I35540ebb27121111e00668862947e4ee6ab1ee99 --- .../puppet/neutron/manifests/agents/ovs.pp | 42 ++++++------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/deployment/puppet/neutron/manifests/agents/ovs.pp b/deployment/puppet/neutron/manifests/agents/ovs.pp index a2d64eaf0..9d44e1e5b 100644 --- a/deployment/puppet/neutron/manifests/agents/ovs.pp +++ b/deployment/puppet/neutron/manifests/agents/ovs.pp @@ -1,15 +1,13 @@ class neutron::agents::ovs ( $neutron_config = {}, $service_provider = 'generic' - #$bridge_uplinks = ['br-ex:eth2'], - #$bridge_mappings = ['physnet1:br-ex'], - #$integration_bridge = 'br-int', - #$enable_tunneling = true, ) { include 'neutron::params' include 'neutron::waist_setup' + $res_name = "p_${::neutron::params::ovs_agent_service}" + Anchor<| title=='neutron-plugin-ovs-done' |> -> Anchor['neutron-ovs-agent'] Anchor<| title=='neutron-server-done' |> -> Anchor['neutron-ovs-agent'] Service<| title=='neutron-server' |> -> Anchor['neutron-ovs-agent'] @@ -51,33 +49,18 @@ ### - l23network::l2::bridge { $neutron_config['L2']['integration_bridge']: - external_ids => "bridge-id=${neutron_config['L2']['integration_bridge']}", - ensure => present, - skip_existing => true, - } - + neutron::agents::utils::bridges { $neutron_config['L2']['integration_bridge']: } if $neutron_config['L2']['enable_tunneling'] { - L23network::L2::Bridge<| |> -> - Anchor['neutron-ovs-agent-done'] - l23network::l2::bridge { $neutron_config['L2']['tunnel_bridge']: - external_ids => "bridge-id=${neutron_config['L2']['tunnel_bridge']}", - ensure => present, - skip_existing => true, - } -> - Anchor['neutron-ovs-agent-done'] - neutron_plugin_ovs { 'OVS/local_ip': value => $neutron_config['L2']['local_ip']; } + neutron::agents::utils::bridges { $neutron_config['L2']['tunnel_bridge']: } + neutron_plugin_ovs { 'OVS/local_ip': value => $neutron_config['L2']['local_ip'] } } else { - L23network::L2::Bridge[$neutron_config['L2']['integration_bridge']] -> - Anchor['neutron-ovs-agent-done'] - neutron::agents::utils::bridges { $neutron_config['L2']['phys_bridges']: } -> - Anchor['neutron-ovs-agent-done'] + neutron::agents::utils::bridges { $neutron_config['L2']['phys_bridges']: } } if $service_provider == 'pacemaker' { Neutron_config <| |> -> Cs_shadow['ovs'] - Neutron_plugin_ovs <| |> -> Cs_shadow['ovs'] - L23network::L2::Bridge <| |> -> Cs_shadow['ovs'] + Neutron_plugin_ovs <| |> -> Cs_shadow['ovs'] # OVS plugin and agent should be configured before resource created + Neutron::Agents::Utils::Bridges <| |> -> Cs_shadow['ovs'] # All bridges should be created before ovs-agent resource create cs_shadow { 'ovs': cib => 'ovs' } cs_commit { 'ovs': cib => 'ovs' } @@ -92,13 +75,13 @@ group => root, source => "puppet:///modules/neutron/ocf/neutron-agent-ovs", } - File['neutron-ovs-agent-ocf'] -> Cs_resource["p_${::neutron::params::ovs_agent_service}"] + File['neutron-ovs-agent-ocf'] -> Cs_resource[$res_name] File<| title == 'ocf-mirantis-path' |> -> File['neutron-ovs-agent-ocf'] Anchor['neutron-ovs-agent'] -> File['neutron-ovs-agent-ocf'] Package["$ovs_agent_package"] -> Neutron_plugin_ovs <| |> Neutron_plugin_ovs <| |> -> File['neutron-ovs-agent-ocf'] - cs_resource { "p_${::neutron::params::ovs_agent_service}": + cs_resource { $res_name: ensure => present, cib => 'ovs', primitive_class => 'ocf', @@ -156,12 +139,12 @@ Package[$ovs_agent_package] -> Service['neutron-ovs-agent_stopped'] -> Exec<| title=='neutron-ovs-agent_stopped' |> -> - Cs_resource["p_${::neutron::params::ovs_agent_service}"] -> + Cs_resource[$res_name] -> Cs_commit['ovs'] -> Service['neutron-ovs-agent'] service { 'neutron-ovs-agent': - name => "p_${::neutron::params::ovs_agent_service}", + name => $res_name, enable => true, ensure => running, hasstatus => true, @@ -181,6 +164,7 @@ } Neutron_config<||> ~> Service['neutron-ovs-agent'] Neutron_plugin_ovs<||> ~> Service['neutron-ovs-agent'] + Neutron::Agents::Utils::Bridges<||> -> Service['neutron-ovs-agent'] # All bridges should be created before ovs-agent service } Neutron_config<||> -> Service['neutron-ovs-agent'] Neutron_plugin_ovs<||> -> Service['neutron-ovs-agent'] From b037afbb32558103d4302f9489ae1a6b3c9b564d Mon Sep 17 00:00:00 2001 From: Dmitry Teselkin Date: Wed, 11 Dec 2013 17:42:06 +0400 Subject: [PATCH 4/6] Dependency fixed Change-Id: I68f7e65de28ea3c6f95101ca643e0f06a6b154e6 --- deployment/puppet/murano/manifests/dashboard.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/puppet/murano/manifests/dashboard.pp b/deployment/puppet/murano/manifests/dashboard.pp index 924928c7d..951585e05 100644 --- a/deployment/puppet/murano/manifests/dashboard.pp +++ b/deployment/puppet/murano/manifests/dashboard.pp @@ -62,7 +62,7 @@ ensure => installed, } - Package[$dashboard_deps] -> Package['murano_dashboard'] -> File[$modify_config] -> Exec['fix_horizon_config'] -> File[$murano_log_file] -> Exec['collect_static'] -> Service <| title == 'httpd' |> + Package[$dashboard_deps] -> Package['murano_dashboard'] -> File[$modify_config] -> Exec['fix_horizon_config'] -> File[$murano_log_file] -> File <| title == "${::horizon::params::logdir}/horizon.log" |> -> Exec['collect_static'] -> Service <| title == 'httpd' |> Package['murano_dashboard'] ~> Service <| title == 'httpd' |> Exec['fix_horizon_config'] ~> Service <| title == 'httpd' |> From be078146910faf15353a10f91eed8fb5a38faadc Mon Sep 17 00:00:00 2001 From: Sergey Vasilenko Date: Wed, 11 Dec 2013 19:29:44 +0400 Subject: [PATCH 5/6] FIX: returned wrong ERROR-CODE Change-Id: Iea9bccee7468264c641e7a333345ea91340e6059 --- deployment/puppet/neutron/files/ocf/neutron-agent-ovs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/puppet/neutron/files/ocf/neutron-agent-ovs b/deployment/puppet/neutron/files/ocf/neutron-agent-ovs index ce0337d59..48d8304d7 100644 --- a/deployment/puppet/neutron/files/ocf/neutron-agent-ovs +++ b/deployment/puppet/neutron/files/ocf/neutron-agent-ovs @@ -240,7 +240,7 @@ neutron_ovs_agent_status() { # compare PID from file with PID from `pgrep...` f_pid=`cat $OCF_RESKEY_pid | tr '\n' ' ' | awk '{print $1}'` if [ "xxx$pid" == "xxx$f_pid" ]; then - return $OCF_NOT_RUNNING + return $OCF_SUCCESS fi # at this point we have PID file and PID from it From b41a7bee63c1cedbcabe5ba91fd13f4aa154c3a9 Mon Sep 17 00:00:00 2001 From: Sergey Vasilenko Date: Wed, 11 Dec 2013 20:25:10 +0400 Subject: [PATCH 6/6] Change STOP agent method * Server -> Agent in messages * remove clean_and_recreate_ovs_bridges() as not needed * remove integration_bridge parameter Change-Id: I891e0012ef32c962bb7e272ee7505dda38dbec84 --- .../neutron/files/ocf/neutron-agent-ovs | 75 +++++++------------ 1 file changed, 26 insertions(+), 49 deletions(-) diff --git a/deployment/puppet/neutron/files/ocf/neutron-agent-ovs b/deployment/puppet/neutron/files/ocf/neutron-agent-ovs index 48d8304d7..f65657156 100644 --- a/deployment/puppet/neutron/files/ocf/neutron-agent-ovs +++ b/deployment/puppet/neutron/files/ocf/neutron-agent-ovs @@ -38,7 +38,6 @@ OCF_RESKEY_plugin_config_default="/etc/neutron/plugins/openvswitch/ovs_neutron_p OCF_RESKEY_user_default="neutron" OCF_RESKEY_pid_default="$HA_RSCTMP/$OCF_RESOURCE_INSTANCE.pid" OCF_RESKEY_amqp_server_port_default="5672" -OCF_RESKEY_integration_bridge_default="br-int" OCF_RESKEY_segmentation_bridge_default="br-tun" OCF_RESKEY_log_file_default="/var/log/neutron/ovs-agent.log" OCF_RESKEY_debug_default='false' @@ -49,7 +48,6 @@ OCF_RESKEY_debug_default='false' : ${OCF_RESKEY_user=${OCF_RESKEY_user_default}} : ${OCF_RESKEY_pid=${OCF_RESKEY_pid_default}} : ${OCF_RESKEY_amqp_server_port=${OCF_RESKEY_amqp_server_port_default}} -: ${OCF_RESKEY_integration_bridge=${OCF_RESKEY_integration_bridge_default}} : ${OCF_RESKEY_segmentation_bridge=${OCF_RESKEY_segmentation_bridge_default}} : ${OCF_RESKEY_log_file=${OCF_RESKEY_log_file_default}} : ${OCF_RESKEY_debug=${OCF_RESKEY_debug_default}} @@ -89,9 +87,9 @@ creates a distributed neutron-ovs-agent cluster. -Location of the OpenStack OVS Server server binary (${OCF_RESKEY_binary}) +Location of the OpenStack OVS agent binary (${OCF_RESKEY_binary}) -OpenStack OVS Server server binary (${OCF_RESKEY_binary}) +OpenStack OVS agent binary (${OCF_RESKEY_binary}) @@ -99,15 +97,15 @@ Location of the OpenStack OVS Server server binary (${OCF_RESKEY_binary}) Location of the OpenStack Neutron Service (neutron-server) configuration file -OpenStack OVS Server (neutron-server) config file +OpenStack Neutron Server (neutron-server) config file -Location of the OpenStack OVS Service (${OCF_RESKEY_binary}) configuration file +Location of the OpenStack OVS agent (${OCF_RESKEY_binary}) configuration file -OpenStack OVS Server (${OCF_RESKEY_binary}) config file +OpenStack OVS agent (${OCF_RESKEY_binary}) config file @@ -136,14 +134,6 @@ Additional parameters to pass on to the OpenStack OVS Service (${OCF_RESKEY_bina - - -OVS integration bridge name OpenStack OVS Service (${OCF_RESKEY_binary}) - -Integration bridge name for neutron-ovs-agent - - - OVS integration bridge name OpenStack OVS Service (${OCF_RESKEY_binary}) @@ -266,28 +256,9 @@ neutron_ovs_agent_monitor() { } -clean_and_recreate_ovs_bridges() { - ocf_log info "cleaning up integration bridge" - ovs-vsctl -- --if-exists del-br ${OCF_RESKEY_segmentation_bridge} - rc=$? - if [ $rc -ne 0 ]; then - ocf_log err "Could not clean up segmentation bridge ${OCF_RESKEY_segmentation_bridge}" - exit $OCF_ERR_GENERIC - fi - ocf_log info "cleaning up segmentation bridge" - ovs-vsctl -- --if-exists del-br ${OCF_RESKEY_integration_bridge} - rc=$? - if [ $rc -ne 0 ]; then - ocf_log err "Could not clean up integration bridge ${OCF_RESKEY_integration_bridge}" - exit $OCF_ERR_GENERIC - fi - ocf_log info "recreating integration bridge" - ovs-vsctl -- --may-exist add-br ${OCF_RESKEY_integration_bridge} - rc=$? - if [ $rc -ne 0 ]; then - ocf_log err "Could not start up integration bridge ${OCF_RESKEY_integration_bridge}" - exit $OCF_ERR_GENERIC - fi +cleanup_agents_ovs_bridges() { + # todo: remove ports, created by agent + rc=0 } @@ -297,11 +268,11 @@ neutron_ovs_agent_start() { neutron_ovs_agent_status rc=$? if [ $rc -eq $OCF_SUCCESS ]; then - ocf_log info "OpenStack OVS Server (${OCF_RESKEY_binary}) already running" + ocf_log info "OpenStack OVS agent (${OCF_RESKEY_binary}) already running" return $OCF_SUCCESS fi - clean_and_recreate_ovs_bridges + cleanup_agents_ovs_bridges # run and detach to background Neutron-ovs-agent as daemon. # Don't use ocf_run as we're sending the tool's output @@ -322,7 +293,7 @@ neutron_ovs_agent_start() { sleep 3 done - ocf_log info "OpenStack OVS Server (${OCF_RESKEY_binary}) started" + ocf_log info "OpenStack OVS agent (${OCF_RESKEY_binary}) started" return $OCF_SUCCESS } @@ -333,18 +304,24 @@ neutron_ovs_agent_stop() { neutron_ovs_agent_status rc=$? if [ $rc -eq $OCF_NOT_RUNNING ]; then - clean_and_recreate_ovs_bridges - ocf_log info "OpenStack OVS Server (${OCF_RESKEY_binary}) already stopped" + cleanup_agents_ovs_bridges + ocf_log info "OpenStack OVS agent (${OCF_RESKEY_binary}) already stopped" return $OCF_SUCCESS fi # Try SIGTERM - pid=`cat $OCF_RESKEY_pid` - pid="$pid `ps ax | grep -v grep | grep 'dnsmasq' | cut -c1-5`" + + pid=`get_worker_pid` + if [ "xxx$pid" == "xxx" ] ; then + ocf_log warn "OpenStack Neutron agent '$OCF_RESKEY_binary' not running." + #return $OCF_NOT_RUNNING + return $OCF_SUCCESS + fi + ocf_run kill -s TERM $pid rc=$? if [ $rc -ne 0 ]; then - ocf_log err "OpenStack OVS Server (${OCF_RESKEY_binary}) couldn't be stopped" + ocf_log err "OpenStack OVS agent (${OCF_RESKEY_binary}) couldn't be stopped" exit $OCF_ERR_GENERIC fi @@ -362,21 +339,21 @@ neutron_ovs_agent_stop() { fi count=`expr $count + 1` sleep 1 - ocf_log debug "OpenStack OVS Server (${OCF_RESKEY_binary}) still hasn't stopped yet. Waiting ..." + ocf_log debug "OpenStack OVS agent (${OCF_RESKEY_binary}) still hasn't stopped yet. Waiting ..." done neutron_ovs_agent_status rc=$? if [ $rc -ne $OCF_NOT_RUNNING ]; then # SIGTERM didn't help either, try SIGKILL - ocf_log info "OpenStack OVS Server (${OCF_RESKEY_binary}) failed to stop after ${shutdown_timeout}s \ + ocf_log info "OpenStack OVS agent (${OCF_RESKEY_binary}) failed to stop after ${shutdown_timeout}s \ using SIGTERM. Trying SIGKILL ..." ocf_run kill -s KILL $pid fi - clean_and_recreate_ovs_bridges + cleanup_agents_ovs_bridges - ocf_log info "OpenStack OVS Server (${OCF_RESKEY_binary}) stopped" + ocf_log info "OpenStack OVS agent (${OCF_RESKEY_binary}) stopped" rm -f $OCF_RESKEY_pid