mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	Merge tag '4.18.2.5' into 4.18
This commit is contained in:
		
						commit
						6ef2eaca14
					
				| @ -26,6 +26,7 @@ import java.io.FileNotFoundException; | |||||||
| import java.io.FileOutputStream; | import java.io.FileOutputStream; | ||||||
| import java.io.IOException; | import java.io.IOException; | ||||||
| import java.nio.file.Files; | import java.nio.file.Files; | ||||||
|  | import java.nio.file.Path; | ||||||
| import java.nio.file.Paths; | import java.nio.file.Paths; | ||||||
| import java.text.DateFormat; | import java.text.DateFormat; | ||||||
| import java.text.SimpleDateFormat; | import java.text.SimpleDateFormat; | ||||||
| @ -63,6 +64,7 @@ import org.apache.cloudstack.storage.command.ResignatureCommand; | |||||||
| import org.apache.cloudstack.storage.command.SnapshotAndCopyAnswer; | import org.apache.cloudstack.storage.command.SnapshotAndCopyAnswer; | ||||||
| import org.apache.cloudstack.storage.command.SnapshotAndCopyCommand; | import org.apache.cloudstack.storage.command.SnapshotAndCopyCommand; | ||||||
| import org.apache.cloudstack.storage.command.SyncVolumePathCommand; | import org.apache.cloudstack.storage.command.SyncVolumePathCommand; | ||||||
|  | import org.apache.cloudstack.storage.formatinspector.Qcow2Inspector; | ||||||
| import org.apache.cloudstack.storage.to.PrimaryDataStoreTO; | import org.apache.cloudstack.storage.to.PrimaryDataStoreTO; | ||||||
| import org.apache.cloudstack.storage.to.SnapshotObjectTO; | import org.apache.cloudstack.storage.to.SnapshotObjectTO; | ||||||
| import org.apache.cloudstack.storage.to.TemplateObjectTO; | import org.apache.cloudstack.storage.to.TemplateObjectTO; | ||||||
| @ -2394,6 +2396,22 @@ public class KVMStorageProcessor implements StorageProcessor { | |||||||
| 
 | 
 | ||||||
|             template = storagePoolMgr.createPhysicalDiskFromDirectDownloadTemplate(tempFilePath, destTemplatePath, destPool, cmd.getFormat(), cmd.getWaitInMillSeconds()); |             template = storagePoolMgr.createPhysicalDiskFromDirectDownloadTemplate(tempFilePath, destTemplatePath, destPool, cmd.getFormat(), cmd.getWaitInMillSeconds()); | ||||||
| 
 | 
 | ||||||
|  |             String templatePath = template.getPath(); | ||||||
|  |             if (templatePath != null) { | ||||||
|  |                 try { | ||||||
|  |                     Qcow2Inspector.validateQcow2File(templatePath); | ||||||
|  |                 } catch (RuntimeException e) { | ||||||
|  |                     try { | ||||||
|  |                         Files.deleteIfExists(Path.of(templatePath)); | ||||||
|  |                     } catch (IOException ioException) { | ||||||
|  |                         s_logger.warn(String.format("Unable to remove file [%s]; consider removing it manually.", templatePath), ioException); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |                     s_logger.error(String.format("The downloaded file [%s] is not a valid QCOW2.", templatePath), e); | ||||||
|  |                     return new DirectDownloadAnswer(false, "The downloaded file is not a valid QCOW2. Ask the administrator to check the logs for more details.", true); | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  | 
 | ||||||
|             if (!storagePoolMgr.disconnectPhysicalDisk(pool.getPoolType(), pool.getUuid(), destTemplatePath)) { |             if (!storagePoolMgr.disconnectPhysicalDisk(pool.getPoolType(), pool.getUuid(), destTemplatePath)) { | ||||||
|                 s_logger.warn("Unable to disconnect physical disk at path: " + destTemplatePath + ", in storage pool id: " + pool.getUuid()); |                 s_logger.warn("Unable to disconnect physical disk at path: " + destTemplatePath + ", in storage pool id: " + pool.getUuid()); | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -64,8 +64,8 @@ echo "Using version: $version" | |||||||
| echo "Using source directory: $sourcedir" | echo "Using source directory: $sourcedir" | ||||||
| echo "Using output directory: $outputdir" | echo "Using output directory: $outputdir" | ||||||
| echo "Using branch: $branch" | echo "Using branch: $branch" | ||||||
| if [ "$tag" == "yes" ]; then | if [ "$tag" = "yes" ]; then | ||||||
|     if [ "$certid" == "X" ]; then |     if [ "$certid" = "X" ]; then | ||||||
|         echo "Tagging the branch with the version number, and signing the branch with your default certificate." |         echo "Tagging the branch with the version number, and signing the branch with your default certificate." | ||||||
|     else |     else | ||||||
|         echo "Tagging the branch with the version number, and signing the branch with certificate ID $certid." |         echo "Tagging the branch with the version number, and signing the branch with certificate ID $certid." | ||||||
| @ -143,7 +143,7 @@ bzip2 $outputdir/apache-cloudstack-$version-src.tar | |||||||
| 
 | 
 | ||||||
| cd $outputdir | cd $outputdir | ||||||
| echo 'armor' | echo 'armor' | ||||||
| if [ "$certid" == "X" ]; then | if [ "$certid" = "X" ]; then | ||||||
|   gpg -v --armor --output apache-cloudstack-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-$version-src.tar.bz2 |   gpg -v --armor --output apache-cloudstack-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-$version-src.tar.bz2 | ||||||
| else | else | ||||||
|   gpg -v --default-key $certid --armor --output apache-cloudstack-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-$version-src.tar.bz2 |   gpg -v --default-key $certid --armor --output apache-cloudstack-$version-src.tar.bz2.asc --detach-sig apache-cloudstack-$version-src.tar.bz2 | ||||||
| @ -155,7 +155,7 @@ sha512sum apache-cloudstack-$version-src.tar.bz2 > apache-cloudstack-$version-sr | |||||||
| echo 'verify' | echo 'verify' | ||||||
| gpg -v --verify apache-cloudstack-$version-src.tar.bz2.asc apache-cloudstack-$version-src.tar.bz2 | gpg -v --verify apache-cloudstack-$version-src.tar.bz2.asc apache-cloudstack-$version-src.tar.bz2 | ||||||
| 
 | 
 | ||||||
| if [ "$tag" == "yes" ]; then | if [ "$tag" = "yes" ]; then | ||||||
|   echo 'tag' |   echo 'tag' | ||||||
|   cd $sourcedir |   cd $sourcedir | ||||||
|   if [ "$certid" == "X" ]; then |   if [ "$certid" == "X" ]; then | ||||||
| @ -165,7 +165,7 @@ if [ "$tag" == "yes" ]; then | |||||||
|   fi |   fi | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| if [ "$committosvn" == "yes" ]; then | if [ "$committosvn" = "yes" ]; then | ||||||
|   echo 'committing artifacts to svn' |   echo 'committing artifacts to svn' | ||||||
|   rm -Rf /tmp/cloudstack-dev-dist |   rm -Rf /tmp/cloudstack-dev-dist | ||||||
|   cd /tmp |   cd /tmp | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user