CLOUDSTACK-1262: update default built-in systemvm.iso search patch to be consistent with RPM location

This commit is contained in:
Kelven Yang 2013-03-01 17:16:31 -08:00
parent 6317f0bd33
commit cec4d8b59c

View File

@ -528,29 +528,37 @@ public class VmwareManagerImpl extends ManagerBase implements VmwareManager, Vmw
private File getSystemVMPatchIsoFile() { private File getSystemVMPatchIsoFile() {
// locate systemvm.iso // locate systemvm.iso
URL url = this.getClass().getProtectionDomain().getCodeSource().getLocation(); URL url = this.getClass().getClassLoader().getResource("vms/systemvm.iso");
File file = new File(url.getFile()); File isoFile = null;
File isoFile = new File(file.getParent() + "/vms/systemvm.iso"); if (url != null) {
if (!isoFile.exists()) { isoFile = new File(url.getPath());
isoFile = new File("/usr/lib64/cloud/common/" + "/vms/systemvm.iso");
if (!isoFile.exists()) {
isoFile = new File("/usr/lib/cloud/common/" + "/vms/systemvm.iso");
} }
if(isoFile == null || !isoFile.exists()) {
isoFile = new File("/usr/share/cloudstack-common/vms/systemvm.iso");
}
assert(isoFile != null);
if(!isoFile.exists()) {
s_logger.error("Unable to locate systemvm.iso in your setup at " + isoFile.toString());
} }
return isoFile; return isoFile;
} }
@Override @Override
public File getSystemVMKeyFile() { public File getSystemVMKeyFile() {
URL url = this.getClass().getProtectionDomain().getCodeSource().getLocation(); URL url = this.getClass().getClassLoader().getResource("scripts/vm/systemvm/id_rsa.cloud");
File file = new File(url.getFile()); File keyFile = null;
if ( url != null ){
File keyFile = new File(file.getParent(), "/scripts/vm/systemvm/id_rsa.cloud"); keyFile = new File(url.getPath());
if (!keyFile.exists()) {
keyFile = new File("/usr/lib64/cloud/common" + "/scripts/vm/systemvm/id_rsa.cloud");
if (!keyFile.exists()) {
keyFile = new File("/usr/lib/cloud/common" + "/scripts/vm/systemvm/id_rsa.cloud");
} }
if (keyFile == null || !keyFile.exists()) {
keyFile = new File("/usr/share/cloudstack-common/scripts/vm/systemvm/id_rsa.cloud");
}
assert(keyFile != null);
if(!keyFile.exists()) {
s_logger.error("Unable to locate id_rsa.cloud in your setup at " + keyFile.toString());
} }
return keyFile; return keyFile;
} }