From a5bc9a48deef974fd616f88a142ea992f7cb41f2 Mon Sep 17 00:00:00 2001 From: Mark Vanderwiel Date: Wed, 11 Jun 2014 15:56:14 -0500 Subject: [PATCH] Allow flat_injected and use_ipv6 overrides These are useful when trying to use config_drive Change-Id: Ib7a554327a68c5a967c021835156d92d33c3b7fd Closes-Bug: #1329035 --- CHANGELOG.md | 5 ++++- README.md | 2 ++ attributes/default.rb | 2 ++ metadata.rb | 2 +- spec/nova-common_spec.rb | 4 +++- templates/default/nova.conf.erb | 2 ++ 6 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66acb6a9..7accce79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # CHANGELOG for cookbook-openstack-compute This file is used to list changes made in each version of cookbook-openstack-compute. +## 9.2.10 +* Allow flat_injected and use_ipv6 to have attribute overrides + ## 9.2.9 * Allow live migration to have attribute overrides @@ -10,7 +13,7 @@ This file is used to list changes made in each version of cookbook-openstack-com ## 9.2.7 * Remove the storage_availability_zone settings -##9.2.6 +## 9.2.6 * Allow resize_confirm_window to have attribute overrides ## 9.2.5 diff --git a/README.md b/README.md index d62e733f..30c0b2fa 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Openstack Compute attributes are in the attribute namespace ["openstack"]["compu * `openstack["compute"]["config"]["resize_confirm_window"]` - Automatically confirm resizes after N seconds, Set to 0 to disable (default is 0) * `openstack["compute"]["config"]["disk_cachemodes"]` - Cachemodes to use for different disk types e.g: "file=directsync,block=none". Valid cache values are "default", "none", "writethrough", "writeback", "directsync" and "unsafe". * `openstack["compute"]["config"]["live_migration_retry_count"]` - Number of 1 second retries needed in live_migration +* `openstack["compute"]["config"]["flat_injected"]` - Whether to attempt to inject network setup into guest. Used by config_drive support. * `openstack["compute"]["api"]["signing_dir"]` - Keystone PKI needs a location to hold the signed tokens * `openstack["compute"]["api"]["signing_dir"]` - Keystone PKI needs a location to hold the signed tokens * `openstack["compute"]["rpc_thread_pool_size"]` - Size of RPC thread pool (default 64) @@ -181,6 +182,7 @@ Basic networking configuration is controlled with the following attributes: * `openstack["compute"]["network"]["vlan_interface"]` - Defaults to eth0. Refers to the network interface used for VM addresses when VMs are assigned in a VLAN subnet. * `openstack["compute"]["network"]["auto_assign_floating_ip"]` - Defaults to false. Autoassigning floating ip to VM, this should be only for nova network. * `openstack["compute"]["network"]["force_dhcp_release"]` - If True, send a dhcp release on instance termination. (Default is false on "fedora", "redhat", "centos") +* `openstack["compute"]["network"]["use_ipv6"]` - If True, use ipv6 support. You can have the cookbook automatically create networks in Nova for you by adding a Hash to the `openstack["compute"]["networks"]` Array. **Note**: The `openstack-compute::nova-setup` recipe contains the code that creates these pre-defined networks. diff --git a/attributes/default.rb b/attributes/default.rb index 1350da70..115d2ddf 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -166,6 +166,7 @@ default['openstack']['compute']['network']['vlan_interface'] = 'eth0' default['openstack']['compute']['network']['auto_assign_floating_ip'] = false # https://bugs.launchpad.net/nova/+bug/1075859 default['openstack']['compute']['network']['use_single_default_gateway'] = false +default['openstack']['compute']['network']['use_ipv6'] = false default['openstack']['compute']['scheduler']['scheduler_driver'] = 'nova.scheduler.filter_scheduler.FilterScheduler' default['openstack']['compute']['scheduler']['default_filters'] = %W( @@ -249,6 +250,7 @@ default['openstack']['compute']['config']['resume_guests_state_on_host_boot'] = default['openstack']['compute']['config']['force_config_drive'] = nil default['openstack']['compute']['config']['mkisofs_cmd'] = 'genisoimage' default['openstack']['compute']['config']['injected_network_template'] = '$pybasedir/nova/virt/interfaces.template' +default['openstack']['compute']['config']['flat_injected'] = false # Volume API class (driver) default['openstack']['compute']['config']['volume_api_class'] = 'nova.volume.cinder.API' diff --git a/metadata.rb b/metadata.rb index f9a3c7cd..25f8604d 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ maintainer_email 'matt@opscode.com' license 'Apache 2.0' description 'The OpenStack Compute service Nova.' long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version '9.2.9' +version '9.2.10' recipe 'openstack-compute::api-ec2', 'Installs AWS EC2 compatible API' recipe 'openstack-compute::api-metadata', 'Installs the nova metadata package' diff --git a/spec/nova-common_spec.rb b/spec/nova-common_spec.rb index 3d53045d..9b95c5c5 100644 --- a/spec/nova-common_spec.rb +++ b/spec/nova-common_spec.rb @@ -277,7 +277,9 @@ describe 'openstack-compute::nova-common' do [/^allow_resize_to_same_host=false$/, /^force_dhcp_release=true$/, /^mkisofs_cmd=genisoimage$/, - %r{^injected_network_template=\$pybasedir/nova/virt/interfaces.template$}].each do |line| + %r{^injected_network_template=\$pybasedir/nova/virt/interfaces.template$}, + /^flat_injected=false$/, + /^use_ipv6=false$/].each do |line| expect(chef_run).to render_file(file.name).with_content(line) end end diff --git a/templates/default/nova.conf.erb b/templates/default/nova.conf.erb index 61a91a05..830330af 100644 --- a/templates/default/nova.conf.erb +++ b/templates/default/nova.conf.erb @@ -122,6 +122,7 @@ use_single_default_gateway=<%= node["openstack"]["compute"]["network"]["use_sing vlan_interface=<%= node["openstack"]["compute"]["network"]["vlan_interface"] %> auto_assign_floating_ip=<%= node["openstack"]["compute"]["network"]["auto_assign_floating_ip"] %> <% end -%> +use_ipv6=<%= node["openstack"]["compute"]["network"]["use_ipv6"] %> ##### GLANCE ##### image_service=nova.image.glance.GlanceImageService @@ -263,6 +264,7 @@ force_config_drive=<%= node["openstack"]["compute"]["config"]["force_config_driv <% end %> mkisofs_cmd=<%= node["openstack"]["compute"]["config"]["mkisofs_cmd"] %> injected_network_template=<%= node["openstack"]["compute"]["config"]["injected_network_template"] %> +flat_injected=<%= node["openstack"]["compute"]["config"]["flat_injected"] %> <% if node["openstack"]["compute"]["enabled_apis"].include?("ec2") %> # The IP address on which the EC2 API will listen. (string value)