@@ -796,12 +796,16 @@ public void doInTransactionWithoutResult(final TransactionStatus status) {
796
796
Long templateId = getRegisteredTemplateId (hypervisorAndTemplateName );
797
797
if (templateId != null ) {
798
798
VMTemplateVO templateVO = vmTemplateDao .findById (templateId );
799
- TemplateDataStoreVO templateDataStoreVO = templateDataStoreDao .findByTemplate (templateId , DataStoreRole .Image );
800
- String installPath = templateDataStoreVO .getInstallPath ();
801
- if (validateIfSeeded (storeUrlAndId .first (), installPath , nfsVersion )) {
802
- continue ;
803
- } else if (templateVO != null ) {
799
+ TemplateDataStoreVO templateDataStoreVO = templateDataStoreDao .findByStoreTemplate (storeUrlAndId .second (), templateId );
800
+ if (templateDataStoreVO != null ) {
801
+ String installPath = templateDataStoreVO .getInstallPath ();
802
+ if (validateIfSeeded (storeUrlAndId .first (), installPath , nfsVersion )) {
803
+ continue ;
804
+ }
805
+ }
806
+ if (templateVO != null ) {
804
807
registerTemplate (hypervisorAndTemplateName , storeUrlAndId , templateVO , templateDataStoreVO , filePath );
808
+ updateRegisteredTemplateDetails (templateId , hypervisorAndTemplateName );
805
809
continue ;
806
810
}
807
811
}
@@ -825,6 +829,11 @@ public void doInTransactionWithoutResult(final TransactionStatus status) {
825
829
}
826
830
827
831
private void updateRegisteredTemplateDetails (Long templateId , Map .Entry <Hypervisor .HypervisorType , String > hypervisorAndTemplateName ) {
832
+ Pair <Hypervisor .HypervisorType , String > entry = new Pair <>(hypervisorAndTemplateName .getKey (), hypervisorAndTemplateName .getValue ());
833
+ updateRegisteredTemplateDetails (templateId , entry );
834
+ }
835
+
836
+ private void updateRegisteredTemplateDetails (Long templateId , Pair <Hypervisor .HypervisorType , String > hypervisorAndTemplateName ) {
828
837
VMTemplateVO templateVO = vmTemplateDao .findById (templateId );
829
838
templateVO .setTemplateType (Storage .TemplateType .SYSTEM );
830
839
boolean updated = vmTemplateDao .update (templateVO .getId (), templateVO );
@@ -834,11 +843,11 @@ private void updateRegisteredTemplateDetails(Long templateId, Map.Entry<Hypervis
834
843
throw new CloudRuntimeException (errMsg );
835
844
}
836
845
837
- updateSystemVMEntries (templateId , hypervisorAndTemplateName .getKey ());
846
+ updateSystemVMEntries (templateId , hypervisorAndTemplateName .first ());
838
847
839
848
// Change value of global configuration parameter router.template.* for the corresponding hypervisor and minreq.sysvmtemplate.version for the ACS version
840
849
Map <String , String > configParams = new HashMap <>();
841
- configParams .put (RouterTemplateConfigurationNames .get (hypervisorAndTemplateName .getKey ()), hypervisorAndTemplateName .getValue ());
850
+ configParams .put (RouterTemplateConfigurationNames .get (hypervisorAndTemplateName .first ()), hypervisorAndTemplateName .second ());
842
851
configParams .put ("minreq.sysvmtemplate.version" , getSystemVmTemplateVersion ());
843
852
updateConfigurationParams (configParams );
844
853
}
0 commit comments