Add setting for compatible with older rpc API

Set [upgrade_levels] in nova.conf to compatible
with order rpc API, such as add compute=juno to
enable kilo rpc API compatible with juno compute,
for kilo controller can manage the juno compute node.
According to
https://review.openstack.org/#/c/53944/
http://docs.openstack.org/openstack-ops/content/ops_upgrades_upgrade_levels.html
https://github.com/openstack/nova/search?p=1&q=upgrade_levels&utf8=%E2%9C%93

Change-Id: I42c88ba06d2f1ea4f09dc4925e61cca74625337f
This commit is contained in:
Xiao Xia 2015-01-08 18:27:01 +08:00
parent cb5d969cd0
commit b872103a53
5 changed files with 45 additions and 0 deletions

View File

@ -24,6 +24,7 @@ This file is used to list changes made in each version of cookbook-openstack-com
* Move deprecated neutron_*/glance_*/cinder_* configurations to [neutron]/[glance]/[cinder] sections in nova.conf * Move deprecated neutron_*/glance_*/cinder_* configurations to [neutron]/[glance]/[cinder] sections in nova.conf
* Allow dbsync_timeout to be configurable * Allow dbsync_timeout to be configurable
* Make libvirtd service started prior to nova compute service * Make libvirtd service started prior to nova compute service
* Add [upgrade_levels] in nova.conf to enable rpc API compatible with order version
## 9.3.1 ## 9.3.1
* Move auth configuration from api-paste.ini to nova.conf * Move auth configuration from api-paste.ini to nova.conf

View File

@ -355,6 +355,9 @@ VMware Configuration Attributes
* `openstack['compute']['vmware']['maximum_objects']` - The maximum number of ObjectContent data objects that should be returned in a single result. (integer value, default 100) * `openstack['compute']['vmware']['maximum_objects']` - The maximum number of ObjectContent data objects that should be returned in a single result. (integer value, default 100)
* `openstack['compute']['vmware']['integration_bridge']` - Name of Integration Bridge (string value, default br-int) * `openstack['compute']['vmware']['integration_bridge']` - Name of Integration Bridge (string value, default br-int)
Upgrade levels Attribute
------------------------
* `openstack['openstack']['compute']['upgrade_levels']` - The RPC version numbers or release name alias
The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance: The following attributes are defined in attributes/default.rb of the common cookbook, but are documented here due to their relevance:

View File

@ -548,3 +548,23 @@ default['openstack']['compute']['vmware']['wsdl_location'] = nil
default['openstack']['compute']['vmware']['maximum_objects'] = 100 default['openstack']['compute']['vmware']['maximum_objects'] = 100
# Name of Integration Bridge (string value, default br-int) # Name of Integration Bridge (string value, default br-int)
default['openstack']['compute']['vmware']['integration_bridge'] = 'br-int' default['openstack']['compute']['vmware']['integration_bridge'] = 'br-int'
# Lock the version of RPC messages and allow live upgrading of the services
# without interruption caused by version mismatch.
# The configuration options allow the specification of RPC version numbers if desired,
# but release name alias are also supported.
# options e.g.:
# default['openstack']['compute']['upgrade_levels'] = {
# 'baseapi' => 'juno',
# 'console' => 'juno',
# 'consoleauth' => 'juno',
# 'cert' => 'juno',
# 'scheduler' => 'juno',
# 'compute' => 'juno',
# 'intercell' => 'juno',
# 'conductor' => '2.0',
# 'network' => '3.0',
# 'cells' => 'juno'
# }
# choose the needed ones to set
default['openstack']['compute']['upgrade_levels'] = nil

View File

@ -786,6 +786,17 @@ describe 'openstack-compute::nova-common' do
end end
end end
end end
it 'sets the upgrade levels' do
node.set['openstack']['compute']['upgrade_levels'] = {
'compute' => 'juno',
'cert' => '3.0',
'network' => 'havana'
}
node['openstack']['compute']['upgrade_levels'].each do |key, val|
expect(chef_run).to render_config_file(file.name).with_section_content('upgrade_levels', /^#{key} = #{val}$/)
end
end
end end
describe 'rootwrap.conf' do describe 'rootwrap.conf' do

View File

@ -673,3 +673,13 @@ catalog_info=<%= node['openstack']['compute']['block-storage']['cinder_catalog_i
# Region name of this node (string value) # Region name of this node (string value)
os_region_name=<%= node['openstack']['region'] %> os_region_name=<%= node['openstack']['region'] %>
<% if node['openstack']['compute']['upgrade_levels'] -%>
# Lock the version of RPC messages and allow live upgrading of the services
# without interruption caused by version mismatch.
# Add upgrade_levels for order rpc API, ex. compute = juno
[upgrade_levels]
<% node['openstack']['compute']['upgrade_levels'].each do |key, val| %>
<%= key %> = <%= val %>
<% end -%>
<% end -%>