Search in sources :

Example 36 with TransactionLegacy

use of com.cloud.utils.db.TransactionLegacy in project cloudstack by apache.

the class SimulatorManagerImpl method configureSimulator.

@Override
public Long configureSimulator(final Long zoneId, final Long podId, final Long clusterId, final Long hostId, final String command, final String values, final Integer count, final String jsonResponse) {
    Long id = null;
    TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB);
    try {
        txn.start();
        MockConfigurationVO config = _mockConfigDao.findByCommand(zoneId, podId, clusterId, hostId, command);
        if (config == null) {
            config = new MockConfigurationVO();
            config.setClusterId(clusterId);
            config.setDataCenterId(zoneId);
            config.setPodId(podId);
            config.setHostId(hostId);
            config.setName(command);
            config.setValues(values);
            config.setCount(count);
            config.setJsonResponse(jsonResponse);
            config = _mockConfigDao.persist(config);
            txn.commit();
        } else {
            config.setValues(values);
            config.setCount(count);
            config.setJsonResponse(jsonResponse);
            _mockConfigDao.update(config.getId(), config);
            txn.commit();
        }
        id = config.getId();
    } catch (final Exception ex) {
        txn.rollback();
        throw new CloudRuntimeException("Unable to configure simulator mock because of " + ex.getMessage(), ex);
    } finally {
        txn.close();
        txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB);
        txn.close();
    }
    return id;
}
Also used : MockConfigurationVO(com.cloud.simulator.MockConfigurationVO) TransactionLegacy(com.cloud.utils.db.TransactionLegacy) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) ConfigurationException(javax.naming.ConfigurationException)

Example 37 with TransactionLegacy

use of com.cloud.utils.db.TransactionLegacy in project cloudstack by apache.

the class SimulatorManagerImpl method querySimulatorMock.

@Override
public MockConfigurationVO querySimulatorMock(final Long id) {
    TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB);
    try {
        txn.start();
        return _mockConfigDao.findById(id);
    } catch (final Exception ex) {
        txn.rollback();
        throw new CloudRuntimeException("Unable to query simulator mock because of " + ex.getMessage(), ex);
    } finally {
        txn.close();
        txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB);
        txn.close();
    }
}
Also used : TransactionLegacy(com.cloud.utils.db.TransactionLegacy) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) ConfigurationException(javax.naming.ConfigurationException)

Example 38 with TransactionLegacy

use of com.cloud.utils.db.TransactionLegacy in project cloudstack by apache.

the class GlobalLoadBalancingRulesServiceImplTest method runCreateGlobalLoadBalancerRuleInvalidServiceType.

void runCreateGlobalLoadBalancerRuleInvalidServiceType() throws Exception {
    TransactionLegacy txn = TransactionLegacy.open("runCreateGlobalLoadBalancerRulePostiveTest");
    GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl();
    gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class);
    Account account = new AccountVO("testaccount", 1, "networkdomain", (short) 0, UUID.randomUUID().toString());
    when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account);
    gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class);
    when(gslbServiceImpl._gslbRuleDao.persist(any(GlobalLoadBalancerRuleVO.class))).thenReturn(new GlobalLoadBalancerRuleVO());
    gslbServiceImpl._gslbLbMapDao = Mockito.mock(GlobalLoadBalancerLbRuleMapDao.class);
    gslbServiceImpl._regionDao = Mockito.mock(RegionDao.class);
    RegionVO region = new RegionVO();
    region.setGslbEnabled(true);
    when(gslbServiceImpl._regionDao.findById(anyInt())).thenReturn(region);
    gslbServiceImpl._rulesMgr = Mockito.mock(RulesManager.class);
    gslbServiceImpl._lbDao = Mockito.mock(LoadBalancerDao.class);
    gslbServiceImpl._networkDao = Mockito.mock(NetworkDao.class);
    gslbServiceImpl._globalConfigDao = Mockito.mock(ConfigurationDao.class);
    gslbServiceImpl._ipAddressDao = Mockito.mock(IPAddressDao.class);
    gslbServiceImpl._agentMgr = Mockito.mock(AgentManager.class);
    CreateGlobalLoadBalancerRuleCmd createCmd = new CreateGlobalLoadBalancerRuleCmdExtn();
    Class<?> _class = createCmd.getClass().getSuperclass();
    Field regionIdField = _class.getDeclaredField("regionId");
    regionIdField.setAccessible(true);
    regionIdField.set(createCmd, new Integer(1));
    Field algoField = _class.getDeclaredField("algorithm");
    algoField.setAccessible(true);
    algoField.set(createCmd, "roundrobin");
    Field stickyField = _class.getDeclaredField("stickyMethod");
    stickyField.setAccessible(true);
    stickyField.set(createCmd, "sourceip");
    Field nameField = _class.getDeclaredField("globalLoadBalancerRuleName");
    nameField.setAccessible(true);
    nameField.set(createCmd, "gslb-rule");
    Field descriptionField = _class.getDeclaredField("description");
    descriptionField.setAccessible(true);
    descriptionField.set(createCmd, "testing create gslb-rule");
    Field serviceDomainField = _class.getDeclaredField("serviceDomainName");
    serviceDomainField.setAccessible(true);
    serviceDomainField.set(createCmd, "gslb-rule-domain");
    Field serviceTypeField = _class.getDeclaredField("serviceType");
    serviceTypeField.setAccessible(true);
    serviceTypeField.set(createCmd, "invalidtcp");
    try {
        gslbServiceImpl.createGlobalLoadBalancerRule(createCmd);
    } catch (InvalidParameterValueException e) {
        Assert.assertTrue(e.getMessage().contains("Invalid service type"));
    }
}
Also used : Account(com.cloud.user.Account) ConfigurationDao(org.apache.cloudstack.framework.config.dao.ConfigurationDao) LoadBalancerDao(com.cloud.network.dao.LoadBalancerDao) AgentManager(com.cloud.agent.AgentManager) IPAddressDao(com.cloud.network.dao.IPAddressDao) RulesManager(com.cloud.network.rules.RulesManager) AccountVO(com.cloud.user.AccountVO) TransactionLegacy(com.cloud.utils.db.TransactionLegacy) Field(java.lang.reflect.Field) NetworkDao(com.cloud.network.dao.NetworkDao) CreateGlobalLoadBalancerRuleCmd(org.apache.cloudstack.api.command.user.region.ha.gslb.CreateGlobalLoadBalancerRuleCmd) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) RegionVO(org.apache.cloudstack.region.RegionVO) AccountManager(com.cloud.user.AccountManager) RegionDao(org.apache.cloudstack.region.dao.RegionDao)

Example 39 with TransactionLegacy

use of com.cloud.utils.db.TransactionLegacy in project cloudstack by apache.

the class GlobalLoadBalancingRulesServiceImplTest method runRemoveFromGlobalLoadBalancerRuleTest.

void runRemoveFromGlobalLoadBalancerRuleTest() throws Exception {
    TransactionLegacy txn = TransactionLegacy.open("runRemoveFromGlobalLoadBalancerRuleTest");
    GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl();
    gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class);
    gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class);
    gslbServiceImpl._gslbLbMapDao = Mockito.mock(GlobalLoadBalancerLbRuleMapDao.class);
    gslbServiceImpl._regionDao = Mockito.mock(RegionDao.class);
    gslbServiceImpl._rulesMgr = Mockito.mock(RulesManager.class);
    gslbServiceImpl._lbDao = Mockito.mock(LoadBalancerDao.class);
    gslbServiceImpl._networkDao = Mockito.mock(NetworkDao.class);
    gslbServiceImpl._globalConfigDao = Mockito.mock(ConfigurationDao.class);
    gslbServiceImpl._ipAddressDao = Mockito.mock(IPAddressDao.class);
    gslbServiceImpl._agentMgr = Mockito.mock(AgentManager.class);
    List<GslbServiceProvider> mockGslbProviders = new ArrayList<GslbServiceProvider>();
    mockGslbProviders.add(Mockito.mock(GslbServiceProvider.class));
    gslbServiceImpl._gslbProviders = mockGslbProviders;
    RemoveFromGlobalLoadBalancerRuleCmd removeFromGslbCmd = new RemoveFromGlobalLoadBalancerRuleCmdExtn();
    Class<?> _class = removeFromGslbCmd.getClass().getSuperclass();
    Account account = new AccountVO("testaccount", 1, "networkdomain", (short) 0, UUID.randomUUID().toString());
    when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account);
    Field gslbRuleId = _class.getDeclaredField("id");
    gslbRuleId.setAccessible(true);
    gslbRuleId.set(removeFromGslbCmd, new Long(1));
    GlobalLoadBalancerRuleVO gslbRule = new GlobalLoadBalancerRuleVO("test-gslb-rule", "test-gslb-rule", "test-domain", "roundrobin", "sourceip", "tcp", 1, 1, 1, GlobalLoadBalancerRule.State.Active);
    when(gslbServiceImpl._gslbRuleDao.findById(new Long(1))).thenReturn(gslbRule);
    LoadBalancerVO lbRule = new LoadBalancerVO();
    lbRule.setState(FirewallRule.State.Active);
    Field networkIdField = LoadBalancerVO.class.getSuperclass().getDeclaredField("networkId");
    networkIdField.setAccessible(true);
    networkIdField.set(lbRule, new Long(1));
    Field idField = LoadBalancerVO.class.getSuperclass().getDeclaredField("id");
    idField.setAccessible(true);
    idField.set(lbRule, new Long(1));
    Field sourceIpAddressId = LoadBalancerVO.class.getSuperclass().getDeclaredField("sourceIpAddressId");
    sourceIpAddressId.setAccessible(true);
    sourceIpAddressId.set(lbRule, new Long(1));
    when(gslbServiceImpl._lbDao.findById(new Long(1))).thenReturn(lbRule);
    Field lbRules = _class.getDeclaredField("loadBalancerRulesIds");
    lbRules.setAccessible(true);
    List<Long> lbRuleIds = new ArrayList<Long>();
    lbRuleIds.add(new Long(1));
    lbRules.set(removeFromGslbCmd, lbRuleIds);
    NetworkVO networkVo = new NetworkVO();
    Field dcID = NetworkVO.class.getDeclaredField("dataCenterId");
    dcID.setAccessible(true);
    dcID.set(networkVo, new Long(1));
    Field phyNetworkId = NetworkVO.class.getDeclaredField("physicalNetworkId");
    phyNetworkId.setAccessible(true);
    phyNetworkId.set(networkVo, new Long(200));
    when(gslbServiceImpl._networkDao.findById(new Long(1))).thenReturn(networkVo);
    GlobalLoadBalancerLbRuleMapVO gslbLbMap = new GlobalLoadBalancerLbRuleMapVO(1, 1, 1);
    List<GlobalLoadBalancerLbRuleMapVO> listSslbLbMap = new ArrayList<GlobalLoadBalancerLbRuleMapVO>();
    listSslbLbMap.add(gslbLbMap);
    when(gslbServiceImpl._gslbLbMapDao.listByGslbRuleId(new Long(1))).thenReturn(listSslbLbMap);
    when(gslbServiceImpl._gslbLbMapDao.findByGslbRuleIdAndLbRuleId(new Long(1), new Long(1))).thenReturn(gslbLbMap);
    IPAddressVO ip = new IPAddressVO(new Ip("10.1.1.1"), 1, 1, 1, true);
    when(gslbServiceImpl._ipAddressDao.findById(new Long(1))).thenReturn(ip);
    gslbServiceImpl.removeFromGlobalLoadBalancerRule(removeFromGslbCmd);
}
Also used : ConfigurationDao(org.apache.cloudstack.framework.config.dao.ConfigurationDao) Account(com.cloud.user.Account) LoadBalancerDao(com.cloud.network.dao.LoadBalancerDao) AgentManager(com.cloud.agent.AgentManager) RulesManager(com.cloud.network.rules.RulesManager) Ip(com.cloud.utils.net.Ip) ArrayList(java.util.ArrayList) LoadBalancerVO(com.cloud.network.dao.LoadBalancerVO) AccountVO(com.cloud.user.AccountVO) Field(java.lang.reflect.Field) NetworkVO(com.cloud.network.dao.NetworkVO) IPAddressDao(com.cloud.network.dao.IPAddressDao) RemoveFromGlobalLoadBalancerRuleCmd(org.apache.cloudstack.api.command.user.region.ha.gslb.RemoveFromGlobalLoadBalancerRuleCmd) TransactionLegacy(com.cloud.utils.db.TransactionLegacy) NetworkDao(com.cloud.network.dao.NetworkDao) Matchers.anyLong(org.mockito.Matchers.anyLong) AccountManager(com.cloud.user.AccountManager) IPAddressVO(com.cloud.network.dao.IPAddressVO) RegionDao(org.apache.cloudstack.region.dao.RegionDao)

Example 40 with TransactionLegacy

use of com.cloud.utils.db.TransactionLegacy in project cloudstack by apache.

the class GlobalLoadBalancingRulesServiceImplTest method runCreateGlobalLoadBalancerRulePostiveTest.

void runCreateGlobalLoadBalancerRulePostiveTest() throws Exception {
    TransactionLegacy txn = TransactionLegacy.open("runCreateGlobalLoadBalancerRulePostiveTest");
    GlobalLoadBalancingRulesServiceImpl gslbServiceImpl = new GlobalLoadBalancingRulesServiceImpl();
    gslbServiceImpl._accountMgr = Mockito.mock(AccountManager.class);
    Account account = new AccountVO("testaccount", 1, "networkdomain", (short) 0, UUID.randomUUID().toString());
    when(gslbServiceImpl._accountMgr.getAccount(anyLong())).thenReturn(account);
    gslbServiceImpl._gslbRuleDao = Mockito.mock(GlobalLoadBalancerRuleDao.class);
    when(gslbServiceImpl._gslbRuleDao.persist(any(GlobalLoadBalancerRuleVO.class))).thenReturn(new GlobalLoadBalancerRuleVO());
    gslbServiceImpl._gslbLbMapDao = Mockito.mock(GlobalLoadBalancerLbRuleMapDao.class);
    gslbServiceImpl._regionDao = Mockito.mock(RegionDao.class);
    RegionVO region = new RegionVO();
    region.setGslbEnabled(true);
    when(gslbServiceImpl._regionDao.findById(anyInt())).thenReturn(region);
    gslbServiceImpl._rulesMgr = Mockito.mock(RulesManager.class);
    gslbServiceImpl._lbDao = Mockito.mock(LoadBalancerDao.class);
    gslbServiceImpl._networkDao = Mockito.mock(NetworkDao.class);
    gslbServiceImpl._globalConfigDao = Mockito.mock(ConfigurationDao.class);
    gslbServiceImpl._ipAddressDao = Mockito.mock(IPAddressDao.class);
    gslbServiceImpl._agentMgr = Mockito.mock(AgentManager.class);
    CreateGlobalLoadBalancerRuleCmd createCmd = new CreateGlobalLoadBalancerRuleCmdExtn();
    Class<?> _class = createCmd.getClass().getSuperclass();
    Field regionIdField = _class.getDeclaredField("regionId");
    regionIdField.setAccessible(true);
    regionIdField.set(createCmd, new Integer(1));
    Field algoField = _class.getDeclaredField("algorithm");
    algoField.setAccessible(true);
    algoField.set(createCmd, "roundrobin");
    Field stickyField = _class.getDeclaredField("stickyMethod");
    stickyField.setAccessible(true);
    stickyField.set(createCmd, "sourceip");
    Field nameField = _class.getDeclaredField("globalLoadBalancerRuleName");
    nameField.setAccessible(true);
    nameField.set(createCmd, "gslb-rule");
    Field descriptionField = _class.getDeclaredField("description");
    descriptionField.setAccessible(true);
    descriptionField.set(createCmd, "testing create gslb-rule");
    Field serviceDomainField = _class.getDeclaredField("serviceDomainName");
    serviceDomainField.setAccessible(true);
    serviceDomainField.set(createCmd, "gslb-rule-domain");
    Field serviceTypeField = _class.getDeclaredField("serviceType");
    serviceTypeField.setAccessible(true);
    serviceTypeField.set(createCmd, "tcp");
    try {
        gslbServiceImpl.createGlobalLoadBalancerRule(createCmd);
    } catch (Exception e) {
        s_logger.info("exception in testing runCreateGlobalLoadBalancerRulePostiveTest message: " + e.toString());
    }
}
Also used : Account(com.cloud.user.Account) ConfigurationDao(org.apache.cloudstack.framework.config.dao.ConfigurationDao) LoadBalancerDao(com.cloud.network.dao.LoadBalancerDao) AgentManager(com.cloud.agent.AgentManager) IPAddressDao(com.cloud.network.dao.IPAddressDao) RulesManager(com.cloud.network.rules.RulesManager) AccountVO(com.cloud.user.AccountVO) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) TransactionLegacy(com.cloud.utils.db.TransactionLegacy) Field(java.lang.reflect.Field) NetworkDao(com.cloud.network.dao.NetworkDao) CreateGlobalLoadBalancerRuleCmd(org.apache.cloudstack.api.command.user.region.ha.gslb.CreateGlobalLoadBalancerRuleCmd) RegionVO(org.apache.cloudstack.region.RegionVO) AccountManager(com.cloud.user.AccountManager) RegionDao(org.apache.cloudstack.region.dao.RegionDao)

Aggregations

TransactionLegacy (com.cloud.utils.db.TransactionLegacy)368 PreparedStatement (java.sql.PreparedStatement)174 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)149 SQLException (java.sql.SQLException)133 ResultSet (java.sql.ResultSet)102 ArrayList (java.util.ArrayList)98 DB (com.cloud.utils.db.DB)95 ConfigurationException (javax.naming.ConfigurationException)54 InvalidParameterValueException (com.cloud.exception.InvalidParameterValueException)35 Date (java.util.Date)34 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)31 HashMap (java.util.HashMap)29 URISyntaxException (java.net.URISyntaxException)28 AccountVO (com.cloud.user.AccountVO)21 CloudException (com.cloud.exception.CloudException)20 Account (com.cloud.user.Account)20 Field (java.lang.reflect.Field)19 MockVolumeVO (com.cloud.simulator.MockVolumeVO)18 AgentManager (com.cloud.agent.AgentManager)13 IPAddressDao (com.cloud.network.dao.IPAddressDao)13