Exemple #1
0
    def test_amphora_update_vrrp_interface(self, mock_driver,
                                           mock_generate_uuid, mock_log,
                                           mock_get_session,
                                           mock_listener_repo_get,
                                           mock_listener_repo_update,
                                           mock_amphora_repo_update):
        _LB_mock.amphorae = _amphorae_mock
        amphora_update_vrrp_interface_obj = (
            amphora_driver_tasks.AmphoraUpdateVRRPInterface())
        amphora_update_vrrp_interface_obj.execute(_LB_mock)
        mock_driver.get_vrrp_interface.assert_called_once_with(_amphora_mock)

        mock_driver.reset_mock()

        _LB_mock.amphorae = _amphorae_mock
        amphora_update_vrrp_interface_obj.revert("BADRESULT", _LB_mock)
        mock_amphora_repo_update.assert_called_with(_session_mock,
                                                    _amphora_mock.id,
                                                    vrrp_interface=None)

        mock_driver.reset_mock()
        mock_amphora_repo_update.reset_mock()

        failure_obj = failure.Failure.from_exception(Exception("TESTEXCEPT"))
        amphora_update_vrrp_interface_obj.revert(failure_obj, _LB_mock)
        self.assertFalse(mock_amphora_repo_update.called)
Exemple #2
0
 def get_vrrp_subflow(self, prefix):
     sf_name = prefix + '-' + constants.GET_VRRP_SUBFLOW
     vrrp_subflow = linear_flow.Flow(sf_name)
     vrrp_subflow.add(
         network_tasks.GetAmphoraeNetworkConfigs(
             name=sf_name + '-' + constants.GET_AMP_NETWORK_CONFIG,
             requires=constants.LOADBALANCER,
             provides=constants.AMPHORAE_NETWORK_CONFIG))
     vrrp_subflow.add(
         amphora_driver_tasks.AmphoraUpdateVRRPInterface(
             name=sf_name + '-' + constants.AMP_UPDATE_VRRP_INTF,
             requires=constants.LOADBALANCER,
             provides=constants.LOADBALANCER))
     vrrp_subflow.add(
         database_tasks.CreateVRRPGroupForLB(
             name=sf_name + '-' + constants.CREATE_VRRP_GROUP_FOR_LB,
             requires=constants.LOADBALANCER,
             provides=constants.LOADBALANCER))
     vrrp_subflow.add(
         amphora_driver_tasks.AmphoraVRRPUpdate(
             name=sf_name + '-' + constants.AMP_VRRP_UPDATE,
             requires=(constants.LOADBALANCER,
                       constants.AMPHORAE_NETWORK_CONFIG)))
     vrrp_subflow.add(
         amphora_driver_tasks.AmphoraVRRPStart(
             name=sf_name + '-' + constants.AMP_VRRP_START,
             requires=constants.LOADBALANCER))
     return vrrp_subflow
Exemple #3
0
    def test_amphora_update_vrrp_interface(self, mock_driver,
                                           mock_generate_uuid, mock_log,
                                           mock_get_session,
                                           mock_listener_repo_get,
                                           mock_listener_repo_update,
                                           mock_amphora_repo_update):
        _LB_mock.amphorae = _amphorae_mock

        timeout_dict = {
            constants.CONN_MAX_RETRIES: CONN_MAX_RETRIES,
            constants.CONN_RETRY_INTERVAL: CONN_RETRY_INTERVAL
        }

        amphora_update_vrrp_interface_obj = (
            amphora_driver_tasks.AmphoraUpdateVRRPInterface())
        amphora_update_vrrp_interface_obj.execute(_LB_mock)
        mock_driver.get_vrrp_interface.assert_called_once_with(
            _amphora_mock, timeout_dict=timeout_dict)

        # Test revert
        mock_driver.reset_mock()

        _LB_mock.amphorae = _amphorae_mock
        amphora_update_vrrp_interface_obj.revert("BADRESULT", _LB_mock)
        mock_amphora_repo_update.assert_called_with(_session_mock,
                                                    _amphora_mock.id,
                                                    vrrp_interface=None)

        mock_driver.reset_mock()
        mock_amphora_repo_update.reset_mock()

        failure_obj = failure.Failure.from_exception(Exception("TESTEXCEPT"))
        amphora_update_vrrp_interface_obj.revert(failure_obj, _LB_mock)
        self.assertFalse(mock_amphora_repo_update.called)

        # Test revert with exception
        mock_driver.reset_mock()
        mock_amphora_repo_update.reset_mock()
        mock_amphora_repo_update.side_effect = Exception('fail')

        _LB_mock.amphorae = _amphorae_mock
        amphora_update_vrrp_interface_obj.revert("BADRESULT", _LB_mock)
        mock_amphora_repo_update.assert_called_with(_session_mock,
                                                    _amphora_mock.id,
                                                    vrrp_interface=None)