use of com.epam.pipeline.entity.pipeline.run.parameter.RunSid in project cloud-pipeline by epam.
the class PipelineRunDaoTest method testLoadActiveServicesByUserInGroup.
@Test
public void testLoadActiveServicesByUserInGroup() {
List<RunSid> runSids = new ArrayList<>();
RunSid runSid = new RunSid();
runSid.setName(GROUP_NAME);
runSid.setIsPrincipal(false);
runSids.add(runSid);
Pipeline testPipeline = getPipeline();
PipelineRun run = createRunWithRunSids(testPipeline.getId(), null, runSids);
PagingRunFilterVO filterVO = new PagingRunFilterVO();
filterVO.setPage(1);
filterVO.setPageSize(TEST_PAGE_SIZE);
PipelineUser user = new PipelineUser();
user.setUserName(TEST_USER);
user.setGroups(Collections.singletonList(GROUP_NAME));
List<PipelineRun> runs = pipelineRunDao.loadActiveServices(filterVO, user);
assertEquals(1, runs.size());
assertEquals(run.getId(), runs.get(0).getId());
assertEquals(1, runs.size());
}
use of com.epam.pipeline.entity.pipeline.run.parameter.RunSid in project cloud-pipeline by epam.
the class PipelineRunDaoTest method testLoadActiveServicesByUserIsPrincipal.
@Test
public void testLoadActiveServicesByUserIsPrincipal() {
List<RunSid> runSids = new ArrayList<>();
RunSid runSid1 = new RunSid();
runSid1.setName(TEST_USER);
runSid1.setIsPrincipal(true);
runSids.add(runSid1);
Pipeline testPipeline = getPipeline();
PipelineRun run = createRunWithRunSids(testPipeline.getId(), null, runSids);
PagingRunFilterVO filterVO = new PagingRunFilterVO();
filterVO.setPage(1);
filterVO.setPageSize(TEST_PAGE_SIZE);
PipelineUser user = new PipelineUser();
user.setUserName(TEST_USER);
List<PipelineRun> runs = pipelineRunDao.loadActiveServices(filterVO, user);
assertEquals(1, runs.size());
assertEquals(run.getId(), runs.get(0).getId());
assertEquals(1, runs.size());
int servicesCount = pipelineRunDao.countActiveServices(user);
assertEquals(runs.size(), servicesCount);
}
use of com.epam.pipeline.entity.pipeline.run.parameter.RunSid in project cloud-pipeline by epam.
the class PipelineRunDaoTest method runPipelineWithRunSids.
@Test
public void runPipelineWithRunSids() {
List<RunSid> runSids = new ArrayList<>();
RunSid runSid1 = new RunSid();
runSid1.setName(TEST_USER);
runSid1.setIsPrincipal(true);
runSids.add(runSid1);
RunSid runSid2 = new RunSid();
runSid2.setName(GROUP_NAME);
runSid2.setIsPrincipal(false);
runSids.add(runSid2);
Pipeline testPipeline = getPipeline();
PipelineRun run = createRunWithRunSids(testPipeline.getId(), null, runSids);
PipelineRun loadedRun = pipelineRunDao.loadPipelineRun(run.getId());
assertTrue(runSids.equals(loadedRun.getRunSids()));
}
use of com.epam.pipeline.entity.pipeline.run.parameter.RunSid in project cloud-pipeline by epam.
the class PipelineLauncher method matchSystemParams.
public Map<SystemParams, String> matchSystemParams(PipelineRun run, String apiHost, String kubeNamespace, boolean enableAutoscaling, PipelineConfiguration configuration, GitCredentials gitCredentials) {
EnumMap<SystemParams, String> systemParamsWithValue = matchCommonParams(run, apiHost, gitCredentials);
systemParamsWithValue.put(SystemParams.NAMESPACE, kubeNamespace);
AWSCredentials awsCredentials = S3Helper.getDefaultAWSCredentials();
String awsRegion = S3Helper.getDefaultAWSRegion();
systemParamsWithValue.put(SystemParams.AWS_ACCESS_KEY_ID, awsCredentials.getAWSAccessKeyId());
systemParamsWithValue.put(SystemParams.AWS_SECRET_ACCESS_KEY, awsCredentials.getAWSSecretKey());
systemParamsWithValue.put(SystemParams.AWS_DEFAULT_REGION, awsRegion);
systemParamsWithValue.put(SystemParams.CLUSTER_NAME, DEFAULT_CLUSTER_NAME);
systemParamsWithValue.put(SystemParams.SSH_PASS, run.getSshPassword());
putIfStringValuePresent(systemParamsWithValue, SystemParams.RUN_CONFIG_NAME, run.getConfigName());
if (enableAutoscaling) {
systemParamsWithValue.put(SystemParams.AUTOSCALING_ENABLED, "");
}
putIfStringValuePresent(systemParamsWithValue, SystemParams.BUCKETS, configuration.getBuckets());
putIfStringValuePresent(systemParamsWithValue, SystemParams.MOUNT_OPTIONS, configuration.getNfsMountOptions());
putIfStringValuePresent(systemParamsWithValue, SystemParams.MOUNT_POINTS, configuration.getMountPoints());
if (CollectionUtils.isNotEmpty(run.getRunSids())) {
Predicate<RunSid> principalFilter = RunSid::getIsPrincipal;
collectSids(systemParamsWithValue, SystemParams.ALLOWED_USERS, run.getRunSids(), principalFilter);
collectSids(systemParamsWithValue, SystemParams.ALLOWED_GROUPS, run.getRunSids(), principalFilter.negate());
}
String securedEnvVars = Arrays.stream(SystemParams.values()).filter(SystemParams::isSecure).map(SystemParams::getEnvName).collect(Collectors.joining(ENV_DELIMITER));
systemParamsWithValue.put(SystemParams.SECURE_ENV_VARS, securedEnvVars);
return systemParamsWithValue;
}
use of com.epam.pipeline.entity.pipeline.run.parameter.RunSid in project cloud-pipeline by epam.
the class PipelineRunDao method loadPipelineRun.
@Transactional(propagation = Propagation.REQUIRED)
public PipelineRun loadPipelineRun(Long id) {
List<PipelineRun> items = getJdbcTemplate().query(loadRunByIdQuery, PipelineRunParameters.getExtendedRowMapper(), initTaskStatus.ordinal(), initTaskName, id);
if (!items.isEmpty()) {
PipelineRun pipelineRun = items.get(0);
List<RunSid> runSids = getJdbcTemplate().query(loadRunSidsQuery, PipelineRunParameters.getRunSidsRowMapper(), id);
pipelineRun.setRunSids(runSids);
List<Map<String, String>> envVars = getJdbcTemplate().query(loadEnvVarsQuery, PipelineRunParameters.getEnvVarsRowMapper(), pipelineRun.getId());
pipelineRun.setEnvVars(CollectionUtils.isEmpty(envVars) ? null : envVars.get(0));
return pipelineRun;
} else {
return null;
}
}
Aggregations