diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 1118c9f9c..435cd6733 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -335,9 +335,9 @@ function install_zeromq { if is_fedora; then install_package zeromq elif is_ubuntu; then - install_package libzmq1 + install_package libzmq3-dev elif is_suse; then - install_package libzmq1 + install_package libzmq3-dev fi # Necessary directory for socket location. sudo mkdir -p /var/run/openstack diff --git a/devstack/redis_driver b/devstack/redis_driver index aad77d861..aed6a7e1b 100644 --- a/devstack/redis_driver +++ b/devstack/redis_driver @@ -11,7 +11,6 @@ # - nb_db_driver_configure REDIS_VERSION=3.0.6 -RUBY_VERSION=2.3 function _redis_env { # REMOTE_DB_* initialized after sourcing @@ -74,15 +73,7 @@ function nb_db_driver_install_server { _configure_redis fi - mkdir -p $DEST/ruby - if [ ! -f "$DEST/ruby/ruby-$RUBY_VERSION.0.tar.gz" ]; then - wget https://cache.ruby-lang.org/pub/ruby/$RUBY_VERSION/ruby-$RUBY_VERSION.0.tar.gz -O $DEST/ruby/ruby-$RUBY_VERSION.0.tar.gz - fi - tar xzvf $DEST/ruby/ruby-$RUBY_VERSION.0.tar.gz -C $DEST/ruby - cd $DEST/ruby/ruby-$RUBY_VERSION.0 - sudo ./configure - sudo make - sudo make install + install_package -y ruby if ! sudo gem list redis | grep -q redis; then sudo gem source -a $DF_RUBY_SOURCE_ADD diff --git a/dragonflow/switch/drivers/ovs/df_ovs_driver.py b/dragonflow/switch/drivers/ovs/df_ovs_driver.py index 6a5534fd3..0f1f2b9db 100644 --- a/dragonflow/switch/drivers/ovs/df_ovs_driver.py +++ b/dragonflow/switch/drivers/ovs/df_ovs_driver.py @@ -42,6 +42,13 @@ class DfOvsDriver(df_switch_driver.DfSwitchDriver): def initialize(self, db_change_callback, neutron_notifier): super(DfOvsDriver, self).initialize(db_change_callback, neutron_notifier) + self._initialize_app() + # The OfctlService is needed to support the 'get_flows' method + self._initialize_service() + + def _initialize_app(self): + if self.open_flow_app: + self.app_mgr.uninstantiate(self.open_flow_app.name) self.open_flow_app = self.app_mgr.instantiate( os_ken_base_app.OsKenDFAdapter, nb_api=self.nb_api, @@ -49,7 +56,10 @@ class DfOvsDriver(df_switch_driver.DfSwitchDriver): neutron_server_notifier=self.neutron_notifier, db_change_callback=self.db_change_callback ) - # The OfctlService is needed to support the 'get_flows' method + + def _initialize_service(self): + if self.open_flow_service: + self.app_mgr.uninstantiate(self.open_flow_service.name) self.open_flow_service = self.app_mgr.instantiate( of_service.OfctlService) diff --git a/dragonflow/tests/fullstack/apps/test_l2.py b/dragonflow/tests/fullstack/apps/test_l2.py index dc3141a80..740a31302 100644 --- a/dragonflow/tests/fullstack/apps/test_l2.py +++ b/dragonflow/tests/fullstack/apps/test_l2.py @@ -10,6 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. +import testtools import time from neutron.agent.common import utils @@ -225,6 +226,7 @@ class TestNeighborAdvertiser(test_base.DFTestBase): 'net.ipv6.conf.default.router_solicitations={}'. format(self.router_solicit_conf)], run_as_root=True) + @testtools.skip('bug/1820977') def test_simple_response(self): """ 2 ports on 1 subnet. 1 port asks for MAC of other.