private InstallRequest getInstallRequest(String packageName, String packageVersion, File yamlFile, String properties, String releaseName, String platformName) throws IOException { InstallProperties installProperties = getInstallProperties(releaseName, platformName, yamlFile, properties); InstallRequest installRequest = new InstallRequest(); installRequest.setInstallProperties(installProperties); PackageIdentifier packageIdentifier = new PackageIdentifier(); packageIdentifier.setPackageName(packageName); packageIdentifier.setPackageVersion(packageVersion); installRequest.setPackageIdentifier(packageIdentifier); return installRequest; }
private void validateInstallRequest(InstallRequest installRequest) { Assert.notNull(installRequest.getInstallProperties(), "Install properties must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getPlatformName()), "Platform name must not be empty"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getReleaseName()), "Release name must not be empty"); Assert.notNull(installRequest.getPackageIdentifier(), "Package identifier must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getPackageIdentifier().getPackageName()), "Package name must not be empty"); try { Release latestRelease = this.releaseRepository.findLatestRelease(installRequest.getInstallProperties() .getReleaseName()); if (latestRelease != null && !latestRelease.getInfo().getStatus().getStatusCode().equals(StatusCode.DELETED)) { throw new SkipperException("Release with the name [" + installRequest.getInstallProperties().getReleaseName() + "] already exists and it is not deleted."); } } catch (ReleaseNotFoundException e) { // ignore as this is expected. } }
private Release installReleaseInternal(InstallRequest installRequest, Long id, InstallProperties installProperties) { String releaseName = installRequest != null ? installRequest.getInstallProperties().getReleaseName() : installProperties.getReleaseName(); Message<SkipperEvents> message = MessageBuilder .withPayload(SkipperEvents.INSTALL) .setHeader(SkipperEventHeaders.INSTALL_REQUEST, installRequest) .setHeader(SkipperEventHeaders.INSTALL_ID, id) .setHeader(SkipperEventHeaders.INSTALL_PROPERTIES, installProperties) .build(); return handleMessageAndWait(message, releaseName); }
private Release installReleaseInternal(InstallRequest installRequest, Long id, InstallProperties installProperties) { String releaseName = installRequest != null ? installRequest.getInstallProperties().getReleaseName() : installProperties.getReleaseName(); Message<SkipperEvents> message = MessageBuilder .withPayload(SkipperEvents.INSTALL) .setHeader(SkipperEventHeaders.INSTALL_REQUEST, installRequest) .setHeader(SkipperEventHeaders.INSTALL_ID, id) .setHeader(SkipperEventHeaders.INSTALL_PROPERTIES, installProperties) .build(); return handleMessageAndWait(message, releaseName); }
InstallRequest installRequest = new InstallRequest(); PackageIdentifier packageIdentifier = new PackageIdentifier(); packageIdentifier.setPackageName(packageName); packageIdentifier.setPackageVersion(packageVersion); packageIdentifier.setRepositoryName(repoName); installRequest.setPackageIdentifier(packageIdentifier); InstallProperties installProperties = new InstallProperties(); installProperties.setPlatformName(platformName); installProperties.setReleaseName(streamName); installProperties.setConfigValues(new ConfigValues()); installRequest.setInstallProperties(installProperties); Release release = null; try {
private void validateInstallRequest(InstallRequest installRequest) { Assert.notNull(installRequest.getInstallProperties(), "Install properties must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getPlatformName()), "Platform name must not be empty"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getReleaseName()), "Release name must not be empty"); Assert.notNull(installRequest.getPackageIdentifier(), "Package identifier must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getPackageIdentifier().getPackageName()), "Package name must not be empty"); try { Release latestRelease = this.releaseRepository.findLatestRelease(installRequest.getInstallProperties() .getReleaseName()); if (latestRelease != null && !latestRelease.getInfo().getStatus().getStatusCode().equals(StatusCode.DELETED)) { throw new SkipperException("Release with the name [" + installRequest.getInstallProperties().getReleaseName() + "] already exists and it is not deleted."); } } catch (ReleaseNotFoundException e) { // ignore as this is expected. } }
InstallRequest installRequest = new InstallRequest(); PackageIdentifier packageIdentifier = new PackageIdentifier(); packageIdentifier.setPackageName(packageName); packageIdentifier.setPackageVersion(packageVersion); packageIdentifier.setRepositoryName(repoName); installRequest.setPackageIdentifier(packageIdentifier); InstallProperties installProperties = new InstallProperties(); installProperties.setPlatformName(platformName); installProperties.setReleaseName(streamName); installProperties.setConfigValues(new ConfigValues()); installRequest.setInstallProperties(installProperties); Release release = null; try {
/** * Downloads the package metadata and package zip file specified by PackageIdentifier * property of the DeploymentRequest. Deploys the package on the target platform. * * @param installRequest the install request * @return the Release object associated with this deployment */ @Transactional public Release install(InstallRequest installRequest) { validateInstallRequest(installRequest); PackageIdentifier packageIdentifier = installRequest.getPackageIdentifier(); String packageVersion = packageIdentifier.getPackageVersion(); String packageName = packageIdentifier.getPackageName(); PackageMetadata packageMetadata; if (!StringUtils.hasText(packageVersion)) { List<PackageMetadata> packageMetadataList = this.packageMetadataRepository.findByNameRequired(packageName); if (packageMetadataList.size() == 1) { packageMetadata = packageMetadataList.get(0); } else { packageMetadata = this.packageMetadataRepository.findFirstByNameOrderByVersionDesc(packageName); } } else { packageMetadata = this.packageMetadataRepository.findByNameAndOptionalVersionRequired(packageName, packageVersion); } return install(packageMetadata, installRequest.getInstallProperties()); }
InstallRequest installRequest = new InstallRequest(); InstallProperties installProperties = new InstallProperties(); installProperties.setConfigValues(releaseToRollback.getConfigValues()); installProperties.setPlatformName(releaseToRollback.getPlatformName()); installProperties.setReleaseName(releaseName); installRequest.setInstallProperties(installProperties); installRequest.setPackageIdentifier(packageIdentifier); context.getExtendedState().getVariables().put(SkipperEventHeaders.INSTALL_REQUEST, installRequest);
/** * Downloads the package metadata and package zip file specified by PackageIdentifier * property of the DeploymentRequest. Deploys the package on the target platform. * * @param installRequest the install request * @return the Release object associated with this deployment */ @Transactional public Release install(InstallRequest installRequest) { validateInstallRequest(installRequest); PackageIdentifier packageIdentifier = installRequest.getPackageIdentifier(); String packageVersion = packageIdentifier.getPackageVersion(); String packageName = packageIdentifier.getPackageName(); PackageMetadata packageMetadata; if (!StringUtils.hasText(packageVersion)) { List<PackageMetadata> packageMetadataList = this.packageMetadataRepository.findByNameRequired(packageName); if (packageMetadataList.size() == 1) { packageMetadata = packageMetadataList.get(0); } else { packageMetadata = this.packageMetadataRepository.findFirstByNameOrderByVersionDesc(packageName); } } else { packageMetadata = this.packageMetadataRepository.findByNameAndOptionalVersionRequired(packageName, packageVersion); } return install(packageMetadata, installRequest.getInstallProperties()); }
InstallRequest installRequest = new InstallRequest(); InstallProperties installProperties = new InstallProperties(); installProperties.setConfigValues(releaseToRollback.getConfigValues()); installProperties.setPlatformName(releaseToRollback.getPlatformName()); installProperties.setReleaseName(releaseName); installRequest.setInstallProperties(installProperties); installRequest.setPackageIdentifier(packageIdentifier); context.getExtendedState().getVariables().put(SkipperEventHeaders.INSTALL_REQUEST, installRequest);