Add OVN Metadata service support to Packstack
Previously, Packstack wasn't deploying metadata service for OVN as it didn't exist before Queens. This patch is adding support to this service on compute nodes and disabling config_drive. Depends-On: I278ad5521c9529e5bd71f712c44c6a69f485d1b6 Change-Id: I6e169dea7b4a9d0d64bd61a226641b591eaf1da5 Co-Authored-By: Miguel Angel Ajo <majopela@redhat.com> Co-Authored-By: Alfredo Moralejo <amoralej@redhat.com> Co-Authored-By: Javier Peña <jpena@redhat.com>
This commit is contained in:
parent
2aef0edad8
commit
7ade23e0b3
|
@ -26,6 +26,7 @@ class packstack::neutron::ml2 ()
|
|||
class {'::neutron::plugins::ml2::ovn':
|
||||
ovn_nb_connection => "tcp:${hiera('CONFIG_CONTROLLER_HOST')}:6641",
|
||||
ovn_sb_connection => "tcp:${hiera('CONFIG_CONTROLLER_HOST')}:6642",
|
||||
ovn_metadata_enabled => true,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
class packstack::neutron::ovn_metadata ()
|
||||
{
|
||||
$ovn_southd = "tcp:${hiera('CONFIG_CONTROLLER_HOST')}:6642"
|
||||
|
||||
class { '::neutron::agents::ovn_metadata':
|
||||
ovn_sb_connection => $ovn_southd,
|
||||
shared_secret => hiera('CONFIG_NEUTRON_METADATA_PW'),
|
||||
metadata_ip => force_ip(hiera('CONFIG_KEYSTONE_HOST_URL')),
|
||||
debug => hiera('CONFIG_DEBUG_MODE'),
|
||||
metadata_workers => hiera('CONFIG_SERVICE_WORKERS'),
|
||||
}
|
||||
Service<| title == 'controller' |> -> Service<| title == 'ovn-metadata' |>
|
||||
}
|
|
@ -21,7 +21,7 @@ class packstack::nova::compute ()
|
|||
group => root,
|
||||
require => Package['openstack-nova-migration'],
|
||||
}
|
||||
|
||||
|
||||
$key_type = hiera('NOVA_MIGRATION_KEY_TYPE')
|
||||
$key_content = hiera('NOVA_MIGRATION_KEY_PUBLIC')
|
||||
|
||||
|
@ -72,13 +72,6 @@ class packstack::nova::compute ()
|
|||
$instance_usage_audit_period = 'month'
|
||||
}
|
||||
|
||||
# OVN neutron plugin doesn't support metadata
|
||||
if hiera('CONFIG_NEUTRON_L2_AGENT') == 'ovn' {
|
||||
$force_config_drive = true
|
||||
} else {
|
||||
$force_config_drive = false
|
||||
}
|
||||
|
||||
class { '::nova::compute':
|
||||
enabled => true,
|
||||
vncproxy_host => hiera('CONFIG_KEYSTONE_HOST_URL'),
|
||||
|
@ -87,7 +80,7 @@ class packstack::nova::compute ()
|
|||
instance_usage_audit => $instance_usage_audit,
|
||||
instance_usage_audit_period => $instance_usage_audit_period,
|
||||
allow_resize_to_same_host => hiera('CONFIG_NOVA_ALLOW_RESIZE_TO_SAME'),
|
||||
force_config_drive => $force_config_drive
|
||||
force_config_drive => false,
|
||||
}
|
||||
|
||||
class { '::nova::placement':
|
||||
|
|
|
@ -96,23 +96,12 @@ class packstack::provision::tempest ()
|
|||
$swift_available = str2bool(hiera('CONFIG_SWIFT_INSTALL'))
|
||||
$configure_tempest = str2bool(hiera('CONFIG_PROVISION_TEMPEST'))
|
||||
|
||||
# Metadata service is not supported with OVN plugin
|
||||
# Some API extensions are not enabled by OVN plugin
|
||||
# Some API extensions as l3_agent_scheduler are not enabled by OVN plugin
|
||||
$l2_agent = hiera('CONFIG_NEUTRON_L2_AGENT')
|
||||
if $l2_agent == 'ovn' {
|
||||
$neutron_api_extensions = 'ext-gw-mode,binding,agent,dhcp_agent_scheduler,external-net,quotas,provider,extraroute,router,extra_dhcp_opt,allowed-address-pairs,security-group'
|
||||
# In last cirros version 0.3.5 there is an issue to use metadata from configdrive which make tempest to fail validation in some jobs. This is fixed in master
|
||||
# but until a new version of cirros is published we have to disable run_validations. Note that connectivity validation is alwasys done by tempest even with
|
||||
# run_ssh to false, but it doesn't do additional validation.
|
||||
$run_ssh = false
|
||||
tempest_config { 'compute-feature-enabled/metadata_service':
|
||||
value => 'False',
|
||||
path => "${tempest_workspace}/etc/tempest.conf",
|
||||
}
|
||||
$neutron_api_extensions = 'ext-gw-mode,binding,agent,dhcp_agent_scheduler,external-net,quotas,provider,extraroute,router,extra_dhcp_opt,allowed-address-pairs,security-group,trunk'
|
||||
} else {
|
||||
$neutron_api_extensions = undef
|
||||
# clients should be able to ssh to instances
|
||||
$run_ssh = true
|
||||
}
|
||||
|
||||
class { '::tempest':
|
||||
|
@ -141,7 +130,7 @@ class packstack::provision::tempest ()
|
|||
image_name_alt => $image_name_alt,
|
||||
image_name => $uec_image_name,
|
||||
image_ssh_user => $image_ssh_user,
|
||||
run_ssh => $run_ssh,
|
||||
run_ssh => true,
|
||||
log_file => $log_file,
|
||||
neutron_available => $neutron_available,
|
||||
nova_available => $nova_available,
|
||||
|
|
|
@ -48,7 +48,9 @@ if hiera('CONFIG_NEUTRON_INSTALL') == 'y' {
|
|||
case hiera('CONFIG_NEUTRON_L2_AGENT') {
|
||||
'openvswitch': { include '::packstack::neutron::ovs_agent' }
|
||||
'linuxbridge': { include '::packstack::neutron::lb_agent' }
|
||||
'ovn': { include '::packstack::neutron::ovn_agent' }
|
||||
'ovn': { include '::packstack::neutron::ovn_agent'
|
||||
include '::packstack::neutron::ovn_metadata'
|
||||
}
|
||||
default: { include '::packstack::neutron::ovs_agent' }
|
||||
}
|
||||
include '::packstack::neutron::bridge'
|
||||
|
|
Loading…
Reference in New Issue