private static Collection<String> getResourceNames(JobConfig jobConfig) { return jobConfig.resourceConfigs().stream().map(ResourceConfig::getName).collect(Collectors.toList()); }
private static Collection<String> getResourceNames(JobConfig jobConfig) { return jobConfig.resourceConfigs().stream().map(ResourceConfig::getName).collect(Collectors.toList()); }
@Override public Set<ResourceConfig> getAllResources() { final HashSet<ResourceConfig> resourceConfigs = new HashSet<>(); accept((pipelineConfig, stageConfig, jobConfig) -> resourceConfigs.addAll(jobConfig.resourceConfigs())); for (AgentConfig agent : agents) { resourceConfigs.addAll(agent.getResourceConfigs()); } return resourceConfigs; }
public void createJobInstances(JobInstances jobs, SchedulingContext context, JobConfig config, String stageName, final JobNameGenerator nameGenerator, final Clock clock, InstanceFactory instanceFactory) { Collection<AgentConfig> agents = context.findAgentsMatching(config.resourceConfigs()); int counter = 0; for (AgentConfig agent : agents) { instanceFactory.reallyCreateJobInstance(config, jobs, agent.getUuid(), nameGenerator.generateName(++counter), true, false, context, clock); } if (counter == 0) { throw new CannotScheduleException(String.format("Could not find matching agents to run job [%s] of stage [%s].", config.name(), stageName), stageName); } }
public static JobConfig jobWithNoResourceRequirement() { JobConfig jobConfig = jobConfig(); jobConfig.setName(UUID.randomUUID().toString()); jobConfig.setRunInstanceCount((String)null); jobConfig.resourceConfigs().clear(); return jobConfig; } }
@Test public void shouldPopulateResourcesFromAttributeMap() { HashMap map = new HashMap(); String value = "a, b,c ,d,e"; map.put(JobConfig.RESOURCES, value); ResourceConfigs resourceConfigs = new ResourceConfigs(); resourceConfigs.add(new ResourceConfig("z")); JobConfig jobConfig = new JobConfig(new CaseInsensitiveString("job-name"), resourceConfigs, null); jobConfig.setConfigAttributes(map); assertThat(jobConfig.resourceConfigs().size(), is(5)); }
private StageConfig stageWithJobResource(String resourceName) { StageConfig stage = StageConfigMother.custom("stage", "job"); JobConfigs configs = stage.allBuildPlans(); ResourceConfig resourceConfig = new ResourceConfig(); resourceConfig.setName(resourceName); configs.get(0).resourceConfigs().add(resourceConfig); return stage; } }
public JobPlan createJobPlan(JobConfig config, SchedulingContext context) { JobIdentifier identifier = new JobIdentifier(); String elasticProfileId = config.getElasticProfileId(); ElasticProfile elasticProfile = null; if (elasticProfileId != null) { elasticProfile = context.getElasticProfile(elasticProfileId); } final EnvironmentVariables variables = EnvironmentVariables.toEnvironmentVariables(context.overrideEnvironmentVariables(config.getVariables()).getEnvironmentVariablesConfig()); return new DefaultJobPlan(new Resources(config.resourceConfigs()), ArtifactPlan.toArtifactPlans(config.artifactConfigs()), ArtifactPropertiesGenerator.toArtifactProperties(config.getProperties()), -1, identifier, null, variables, new EnvironmentVariables(), elasticProfile); } }
public static JobPlan createJobPlan(JobConfig jobConfig, JobIdentifier jobIdentifier, SchedulingContext schedulingContext) { final EnvironmentVariables environmentVariables = EnvironmentVariables.toEnvironmentVariables(schedulingContext.overrideEnvironmentVariables(jobConfig.getVariables()).getEnvironmentVariablesConfig()); final List<ArtifactPropertiesGenerator> artifactPropertiesGenerators = ArtifactPropertiesGenerator.toArtifactProperties(jobConfig.getProperties()); final List<ArtifactPlan> artifactPlans = ArtifactPlan.toArtifactPlans(jobConfig.artifactConfigs()); return new DefaultJobPlan(new Resources(jobConfig.resourceConfigs()), artifactPlans, artifactPropertiesGenerators, -1, jobIdentifier, null, environmentVariables, new EnvironmentVariables(), null); }
assertThat(plan.resourceConfigs(), is(new ResourceConfigs("tiger, lion"))); assertThat(plan.getTabs().size(), is(2)); assertThat(plan.getTabs().first().getName(), is("Emma"));
CRJob jobToCRJob(JobConfig jobConfig) { CRJob job = new CRJob(); job.setName(jobConfig.name().toString()); job.setResources(jobConfig.resourceConfigs().resourceNames()); job.setElasticProfileId(jobConfig.getElasticProfileId()); for (EnvironmentVariableConfig var: jobConfig.getVariables()) { job.addEnvironmentVariable(environmentVariableConfigToCREnvironmentVariable(var)); } for (ArtifactPropertyConfig prop: jobConfig.getProperties()) { job.addProperty(new CRPropertyGenerator(prop.getName(), prop.getSrc(), prop.getXpath())); } for(Tab tab: jobConfig.getTabs()) { job.addTab(new CRTab(tab.getName(), tab.getPath())); } for (ArtifactConfig artifactConfig: jobConfig.artifactConfigs()) { job.addArtifact(artifactConfigToCRArtifact(artifactConfig)); } if (jobConfig.isRunOnAllAgents()) { job.setRunOnAllAgents(jobConfig.isRunOnAllAgents()); } else { job.setRunInstanceCount(jobConfig.getRunInstanceCountValue()); } for (Task task: jobConfig.tasks()) { job.addTask(taskToCRTask(task)); } if (jobConfig.getTimeout() != null) { job.setTimeout(Integer.valueOf(jobConfig.getTimeout())); } return job; }
ResourceConfigs resourceConfigs = jobConfig.resourceConfigs(); if (crJob.getResources() != null) for (String crResource : crJob.getResources()) {