-
Notifications
You must be signed in to change notification settings - Fork 106
Linux Bridge Plugin? #94
Comments
The puppetlabs openstack module doesn't currently provide an interface to use Linux Bridge instead of OVS, but it is available in the neutron module. You could design your own profiles that use the neutron::agents::linuxbridge and neutron::plugins::linuxbridge classes. It looks like there's a parameter in the openstack class for neutron_mechanism_drivers, but that just gets passed to openstack::common::ovs so that's not actually useful. We could try to move openstack::common::ovs to something like openstack::common::ml2 and make the driver actually configurable. I won't be able to get to that refactor any time soon, but I would be happy to look at pull requests for it. |
Thank you for writing me back, This is exactly what I kind of figured, running neuron separately to utilize the linuxbridge, But again thank you for your response, and a look at a pull request would also be very much appreciated, Thanks, Ryan Date: Mon, 13 Oct 2014 14:55:28 -0700 The puppetlabs openstack module doesn't currently provide an interface to use Linux Bridge instead of OVS, but it is available in the neutron module. You could design your own profiles that use the neutron::agents::linuxbridge and neutron::plugins::linuxbridge classes. It looks like there's a parameter in the openstack class for neutron_mechanism_drivers, but that just gets passed to openstack::common::ovs so that's not actually useful. We could try to move openstack::common::ovs to something like openstack::common::ml2 and make the driver actually configurable. I won't be able to get to that refactor any time soon, but I would be happy to look at pull requests for it. — |
I also use LinuxBridge instead of OpenvSwitch and made the following changes: diff --git a/manifests/profile/neutron/agent.pp b/manifests/profile/neutron/agent.pp
index f05ab71..31c1c6e 100644
--- a/manifests/profile/neutron/agent.pp
+++ b/manifests/profile/neutron/agent.pp
@@ -1,5 +1,5 @@
# The profile to set up a neutron agent
class openstack::profile::neutron::agent {
include ::openstack::common::neutron
- include ::openstack::common::ovs
+# include ::openstack::common::ovs
}
diff --git a/manifests/profile/neutron/server.pp b/manifests/profile/neutron/server.pp
index 0f211c9..3a6f0f2 100644
--- a/manifests/profile/neutron/server.pp
+++ b/manifests/profile/neutron/server.pp
@@ -5,7 +5,7 @@ class openstack::profile::neutron::server {
openstack::resources::firewall { 'Neutron API': port => '9696', }
include ::openstack::common::neutron
- include ::openstack::common::ovs
+# include ::openstack::common::ovs
Class['::neutron::db::mysql'] -> Exec['neutron-db-sync']
}
diff --git a/manifests/role/allinone.pp b/manifests/role/allinone.pp
index 0c50195..bdcde3a 100644
--- a/manifests/role/allinone.pp
+++ b/manifests/role/allinone.pp
@@ -13,13 +13,13 @@ class openstack::role::allinone inherits ::openstack::role {
class { '::openstack::profile::cinder::api': }
class { '::openstack::profile::nova::compute': }
class { '::openstack::profile::nova::api': }
- class { '::openstack::profile::neutron::router': }
+# class { '::openstack::profile::neutron::router': }
class { '::openstack::profile::neutron::server': }
class { '::openstack::profile::heat::api': }
class { '::openstack::profile::horizon': }
class { '::openstack::profile::auth_file': }
- class { '::openstack::setup::sharednetwork': }
- class { '::openstack::setup::cirros': }
+# class { '::openstack::setup::sharednetwork': }
+# class { '::openstack::setup::cirros': }
- Class['::openstack::profile::ceilometer::api'] -> Class['::openstack::setup::cirros']
+# Class['::openstack::profile::ceilometer::api'] -> Class['::openstack::setup::cirros']
} In my .pp file I added the following: class { 'neutron::plugins::ml2':
type_drivers => ['flat', 'vlan'],
tenant_network_types => ['vlan'],
mechanism_drivers => ['linuxbridge'],
flat_networks => ['physnet1'],
network_vlan_ranges => ['physnet1:1000:1100'],
enable_security_group => true,
}
file { '/etc/neutron/plugins/linuxbridge':
ensure => directory,
alias => 'linuxbridge-confdir',
}
file { '/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini':
ensure => link,
target => '/etc/neutron/plugin.ini',
require => File['linuxbridge-confdir'],
alias => 'linuxbridge-conffile',
}
class { 'neutron::agents::ml2::linuxbridge':
physical_interface_mappings => ['physnet1:eth1'],
require => File['linuxbridge-conffile'],
}
class { 'neutron::agents::dhcp':
interface_driver => 'neutron.agent.linux.interface.BridgeInterfaceDriver',
}
class { 'neutron::agents::l3':
external_network_bridge => '',
interface_driver => 'neutron.agent.linux.interface.BridgeInterfaceDriver',
}
class { 'neutron::agents::lbaas':
interface_driver => 'neutron.agent.linux.interface.BridgeInterfaceDriver',
}
class { 'neutron::agents::metering':
interface_driver => 'neutron.agent.linux.interface.BridgeInterfaceDriver',
}
class { 'neutron::agents::vpnaas':
interface_driver => 'neutron.agent.linux.interface.BridgeInterfaceDriver',
} |
By the way, add forked this repository and added optional LinuxBridge support: Might not be fully complete, but works for me so far. |
I know the puppet openstack module utilizes OVS as it's default mechanism driver/plugin, is there a way to utilize a Linux Bridge instead of the default OVS mechanism driver/plugin with the puppet openstack module?
Thanks for any input,
The text was updated successfully, but these errors were encountered: