Exemple #1
0
    def test_grid_sync_report_sync_time(self):
        # prepare grid manager for sync
        stub = grid_sync_stub.GridSyncStub(self.ctx, self.connector_fixture)
        stub.prepare_grid_manager(wapi_version='1.8')
        grid_mgr = stub.get_grid_manager()
        grid_mgr.mapping._sync_nios_for_network_view = mock.Mock()

        eas = {'Some EA': {'value': 'False'}, 'Zero EA': {'value': '0'}}
        member_mock = {
            '_ref': ('member/Li5pcHY0X2FkZHJlc3MkMTky'
                     'LjE2OC4xLjEwLzE:192.168.1.10/my_view'),
            'ipv4_address':
            '192.168.1.10',
            'host_name':
            'gm',
            'extattrs':
            eas
        }
        connector = self._mock_connector(get_object=[member_mock])
        connector.host = '192.168.1.10'
        grid_mgr.grid_config.gm_connector = connector

        # sync
        grid_mgr.grid_config.grid_sync_support = True
        grid_mgr.grid_config.grid_sync_minimum_wait_time = 0
        grid_mgr.grid_config.report_grid_sync_time = True
        grid_mgr.sync()

        member_ea = member_mock['extattrs'].to_dict()
        sync_info = member_ea[const.EA_LAST_GRID_SYNC_TIME]['value']
        assert isinstance(sync_info, list)
        assert grid_mgr.hostname in sync_info[0]
Exemple #2
0
 def setUp(self):
     super(NotificationTestCase, self).setUp()
     self.ctx = context.get_admin_context()
     stub = grid_sync_stub.GridSyncStub(self.ctx, self.connector_fixture)
     stub.prepare_grid_manager(wapi_version='2.2')
     self.grid_mgr = stub.get_grid_manager()
     self.grid_mgr.grid_config.grid_sync_support = False
     self.grid_mgr.last_sync_time = mock.Mock()
     self.grid_mgr.grid_config.gm_connector = mock.Mock()
     self.grid_mgr.grid_config.gm_connector.wapi_version = '2.0'
     self.event_handler = notification_handler.IpamEventHandler(
         self.ctx, mock.Mock(), self.grid_mgr)
Exemple #3
0
    def test_grid_sync_frequency_check(self):
        # prepare grid manager for sync
        stub = grid_sync_stub.GridSyncStub(self.ctx, self.connector_fixture)
        stub.prepare_grid_manager(wapi_version='1.8')
        grid_mgr = stub.get_grid_manager()
        grid_mgr._report_sync_time = mock.Mock()
        grid_mgr.mapping._sync_nios_for_network_view = mock.Mock()

        # test for no sync
        grid_mgr.grid_config.grid_sync_support = False
        grid_mgr.sync()
        assert not grid_mgr.member._discover_members.called
        assert not grid_mgr.grid_config._discover_config.called
        assert not grid_mgr.mapping._discover_network_views.called
        assert not grid_mgr.mapping._discover_networks.called
        last_sync_time = dbi.get_last_sync_time(self.ctx.session)
        self.assertIsNone(last_sync_time)

        # test for the first sync; expects sync
        grid_mgr.grid_config.grid_sync_support = True
        grid_mgr.sync()
        assert grid_mgr.member._discover_members.called_once
        assert grid_mgr.grid_config._discover_config.called_once
        assert grid_mgr.mapping._discover_network_views.called_once
        assert grid_mgr.mapping._discover_networks.called_once
        sync_time_from_second_sync = dbi.get_last_sync_time(self.ctx.session)
        self.assertEqual(sync_time_from_second_sync, grid_mgr.last_sync_time)

        # test for the second sync; expects no sync due to min wait time
        grid_mgr.grid_config.grid_sync_support = True
        grid_mgr.grid_config.grid_sync_minimum_wait_time = 10
        grid_mgr.sync()
        assert grid_mgr.member._discover_members.called_once
        assert grid_mgr.grid_config._discover_config.called_once
        assert grid_mgr.mapping._discover_network_views.called_once
        assert grid_mgr.mapping._discover_networks.called_once
        # should be the same as last_sync_time from the first sync
        # to prove that dicovery methods are not called in this test case.
        self.assertEqual(sync_time_from_second_sync, grid_mgr.last_sync_time)

        # test for the third sync; expects sync
        grid_mgr.grid_config.grid_sync_support = True
        grid_mgr.grid_config.grid_sync_minimum_wait_time = 0
        grid_mgr.sync()
        assert grid_mgr.member._discover_members.called_once
        assert grid_mgr.grid_config._discover_config.called_once
        assert grid_mgr.mapping._discover_network_views.called_once
        assert grid_mgr.mapping._discover_networks.called_once
        last_sync_time = dbi.get_last_sync_time(self.ctx.session)
        self.assertEqual(last_sync_time, grid_mgr.last_sync_time)
Exemple #4
0
 def setUp(self):
     super(TestDriver, self).setUp()
     self.ctx = context.get_admin_context()
     self._setup_config()
     self.grid_stub = grid_sync_stub.GridSyncStub(self.ctx,
                                                  self.connector_fixture)
     self.grid_stub.prepare_grid_manager(wapi_version='2.0')
     self.grid_mgr = self.grid_stub.get_grid_manager()
     self.grid_mgr._report_sync_time = mock.Mock()
     self.grid_mgr.mapping._sync_nios_for_network_view = mock.Mock()
     self.grid_mgr.member._discover_dns_settings = mock.Mock(
         return_value={})
     self.grid_mgr.member._discover_dhcp_settings = mock.Mock(
         return_value={})
     self.grid_mgr.sync()
     self.grid_mgr.get_config = mock.Mock()
Exemple #5
0
    def setUp(self):
        super(InfobloxContextTestCase, self).setUp()
        self.ctx = context.get_admin_context()

        self.setup_coreplugin(neutron_plugin_stub.DB_PLUGIN_KLASS)
        self.plugin = directory.get_plugin()

        self.plugin_stub = neutron_plugin_stub.NeutronPluginStub(
            self.ctx, self.plugin)

        self.grid_stub = grid_sync_stub.GridSyncStub(self.ctx,
                                                     self.connector_fixture)
        self.grid_stub.prepare_grid_manager(wapi_version='2.2')
        self.grid_mgr = self.grid_stub.get_grid_manager()
        self.grid_mgr._report_sync_time = mock.Mock()
        self.grid_mgr.mapping._sync_nios_for_network_view = mock.Mock()
        self.grid_mgr.sync()

        self.grid_id = self.grid_mgr.grid_config.grid_id
        self.grid_config = self.grid_mgr.grid_config