From 12c395b56052af36901ab3ed1a366ed8985740eb Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 25 Nov 2015 14:37:40 +0530 Subject: [PATCH 1/5] CLOUDSTACK-9083: Add disk serial to kvm virt xml Adds disk serial ids based on volume uuids to the virt xml. This may be useful for appliances/software that needs some serial ids on the VM disks. This does not impact existing/running VMs, the vm virt xmls will be updates for running VMs the next time they are stopped/started. For testing, disk serial (of debian based systemvm) in the virt xml matched that in /sys/devices/pci0000:00:0000:00:07.0/virtio4/block/vda/serial. We currently don't support scsi-blcok devices for which serial is not supported, for this we've added a DeviceType (LUN) which may be used in future and a check to not add the serial to the xml if disk type is LUN. Refer: https://libvirt.org/formatdomain.html#elementsDisks Signed-off-by: Rohit Yadav --- .../kvm/resource/LibvirtComputingResource.java | 6 ++++++ .../cloud/hypervisor/kvm/resource/LibvirtVMDef.java | 11 ++++++++++- .../hypervisor/kvm/storage/KVMStorageProcessor.java | 9 ++++++--- .../kvm/resource/LibvirtComputingResourceTest.java | 8 ++++++++ 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 11317afe5e2..a7777cc3140 100755 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -2140,6 +2140,7 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv if (data instanceof VolumeObjectTO) { final VolumeObjectTO volumeObjectTO = (VolumeObjectTO)data; + disk.setSerial(diskUuidToSerial(volumeObjectTO.getUuid())); if (volumeObjectTO.getBytesReadRate() != null && volumeObjectTO.getBytesReadRate() > 0) { disk.setBytesReadRate(volumeObjectTO.getBytesReadRate()); } @@ -2419,6 +2420,11 @@ public class LibvirtComputingResource extends ServerResourceBase implements Serv } } + public String diskUuidToSerial(String uuid) { + String uuidWithoutHyphen = uuid.replace("-",""); + return uuidWithoutHyphen.substring(0, Math.min(uuidWithoutHyphen.length(), 20)); + } + private String getIqn() { try { final String textToFind = "InitiatorName="; diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java index 5ab842948df..fb1b1340115 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java @@ -419,7 +419,7 @@ public class LibvirtVMDef { public static class DiskDef { public enum DeviceType { - FLOPPY("floppy"), DISK("disk"), CDROM("cdrom"); + FLOPPY("floppy"), DISK("disk"), CDROM("cdrom"), LUN("lun"); String _type; DeviceType(String type) { @@ -524,6 +524,7 @@ public class LibvirtVMDef { private Long _iopsReadRate; private Long _iopsWriteRate; private DiskCacheMode _diskCacheMode; + private String _serial; private boolean qemuDriver = true; public void setDeviceType(DeviceType deviceType) { @@ -708,6 +709,10 @@ public class LibvirtVMDef { this.qemuDriver = qemuDriver; } + public void setSerial(String serial) { + this._serial = serial; + } + @Override public String toString() { StringBuilder diskBuilder = new StringBuilder(); @@ -761,6 +766,10 @@ public class LibvirtVMDef { } diskBuilder.append("/>\n"); + if (_serial != null && !_serial.isEmpty() && _deviceType != DeviceType.LUN) { + diskBuilder.append("" + _serial + ""); + } + if ((_deviceType != DeviceType.CDROM) && (s_libvirtVersion >= 9008) && (s_qemuVersion >= 1001000) && diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java index 08ce05ad3ea..995941346c6 100644 --- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java +++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java @@ -950,7 +950,7 @@ public class KVMStorageProcessor implements StorageProcessor { return null; } - protected synchronized String attachOrDetachDisk(final Connect conn, final boolean attach, final String vmName, final KVMPhysicalDisk attachingDisk, final int devId) throws LibvirtException, + protected synchronized String attachOrDetachDisk(final Connect conn, final boolean attach, final String vmName, final KVMPhysicalDisk attachingDisk, final int devId, final String serial) throws LibvirtException, InternalErrorException { List disks = null; Domain dm = null; @@ -986,6 +986,7 @@ public class KVMStorageProcessor implements StorageProcessor { } } else { diskdef = new DiskDef(); + diskdef.setSerial(serial); if (attachingPool.getType() == StoragePoolType.RBD) { if(resource.getHypervisorType() == Hypervisor.HypervisorType.LXC){ // For LXC, map image to host and then attach to Vm @@ -1028,6 +1029,7 @@ public class KVMStorageProcessor implements StorageProcessor { final VolumeObjectTO vol = (VolumeObjectTO)disk.getData(); final PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore(); final String vmName = cmd.getVmName(); + final String serial = resource.diskUuidToSerial(vol.getUuid()); try { final Connect conn = LibvirtConnection.getConnectionByVmName(vmName); @@ -1035,7 +1037,7 @@ public class KVMStorageProcessor implements StorageProcessor { final KVMPhysicalDisk phyDisk = storagePoolMgr.getPhysicalDisk(primaryStore.getPoolType(), primaryStore.getUuid(), vol.getPath()); - attachOrDetachDisk(conn, true, vmName, phyDisk, disk.getDiskSeq().intValue()); + attachOrDetachDisk(conn, true, vmName, phyDisk, disk.getDiskSeq().intValue(), serial); return new AttachAnswer(disk); } catch (final LibvirtException e) { @@ -1054,12 +1056,13 @@ public class KVMStorageProcessor implements StorageProcessor { final VolumeObjectTO vol = (VolumeObjectTO)disk.getData(); final PrimaryDataStoreTO primaryStore = (PrimaryDataStoreTO)vol.getDataStore(); final String vmName = cmd.getVmName(); + final String serial = resource.diskUuidToSerial(vol.getUuid()); try { final Connect conn = LibvirtConnection.getConnectionByVmName(vmName); final KVMPhysicalDisk phyDisk = storagePoolMgr.getPhysicalDisk(primaryStore.getPoolType(), primaryStore.getUuid(), vol.getPath()); - attachOrDetachDisk(conn, false, vmName, phyDisk, disk.getDiskSeq().intValue()); + attachOrDetachDisk(conn, false, vmName, phyDisk, disk.getDiskSeq().intValue(), serial); storagePoolMgr.disconnectPhysicalDisk(primaryStore.getPoolType(), primaryStore.getUuid(), vol.getPath()); diff --git a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java index b15e1488b8c..e0d99525f83 100644 --- a/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java +++ b/plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtComputingResourceTest.java @@ -389,6 +389,14 @@ public class LibvirtComputingResourceTest { assertNotNull(stats); } + @Test + public void diskUuidToSerialTest() { + String uuid = "38400000-8cf0-11bd-b24e-10b96e4ef00d"; + String expected = "384000008cf011bdb24e"; + LibvirtComputingResource lcr = new LibvirtComputingResource(); + Assert.assertEquals(expected, lcr.diskUuidToSerial(uuid)); + } + @Test public void testUUID() { String uuid = "1"; From 1e67a5d2c89009daabdcded86e9844824ec7d1ed Mon Sep 17 00:00:00 2001 From: Syed Date: Fri, 27 Nov 2015 13:48:18 -0500 Subject: [PATCH 2/5] Fix secondary storage not working with swift --- .../resource/NfsSecondaryStorageResource.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java index be5969104fd..888bb753084 100644 --- a/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java +++ b/services/secondary-storage/server/src/org/apache/cloudstack/storage/resource/NfsSecondaryStorageResource.java @@ -356,9 +356,17 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S try { String downloadPath = determineStorageTemplatePath(storagePath, destPath); final File downloadDirectory = _storage.getFile(downloadPath); - if (!downloadDirectory.mkdirs()) { - return new CopyCmdAnswer("Failed to create download directory " + downloadPath); + + if (downloadDirectory.exists()) { + s_logger.debug("Directory " + downloadPath + " already exists"); + } else { + if (!downloadDirectory.mkdirs()) { + final String errMsg = "Unable to create directory " + downloadPath + " to copy from Swift to cache."; + s_logger.error(errMsg); + return new CopyCmdAnswer(errMsg); + } } + File destFile = SwiftUtil.getObject(swiftTO, downloadDirectory, srcData.getPath()); return postProcessing(destFile, downloadPath, destPath, srcData, destData); } catch (Exception e) { From 6d4722953f859c537aadd2a0b4b5f3553f33dc69 Mon Sep 17 00:00:00 2001 From: Milamber Date: Sun, 29 Nov 2015 19:01:56 +0000 Subject: [PATCH 3/5] Update L10N resource files with 4.6 strings from Transifex (20151129) --- client/WEB-INF/classes/resources/messages_ar.properties | 4 ++-- client/WEB-INF/classes/resources/messages_de_DE.properties | 1 + client/WEB-INF/classes/resources/messages_fr_FR.properties | 5 +++-- client/WEB-INF/classes/resources/messages_nb_NO.properties | 1 + client/WEB-INF/classes/resources/messages_nl_NL.properties | 1 + client/WEB-INF/classes/resources/messages_pt_BR.properties | 1 + client/WEB-INF/classes/resources/messages_ru_RU.properties | 1 + 7 files changed, 10 insertions(+), 4 deletions(-) diff --git a/client/WEB-INF/classes/resources/messages_ar.properties b/client/WEB-INF/classes/resources/messages_ar.properties index 3dc7ce1788b..bcaf2bb0de6 100644 --- a/client/WEB-INF/classes/resources/messages_ar.properties +++ b/client/WEB-INF/classes/resources/messages_ar.properties @@ -54,7 +54,7 @@ label.configure=\u0642\u0645 \u0628\u062a\u0643\u0648\u064a\u0646 label.configure.vpc=\u062a\u0643\u0648\u064a\u0646 VPC label.corrections.saved=\u062a\u0645 \u062d\u0641\u0638 \u0627\u0644\u062a\u0635\u062d\u064a\u062d\u0627\u062a label.cpu.mhz=\u0648\u062d\u062f\u0629 \u0627\u0644\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0631\u0643\u0632\u064a\u0629 (\u0628\u0627\u0644\u0645\u064a\u063a\u0627\u0647\u064a\u0631\u062a\u0632) -label.cpu=\u00d9\u0088\u00d8\u00ad\u00d8\u00af\u00d8\u00a9 \u00d8\u00a7\u00d9\u0084\u00d9 +label.cpu=\u0648 \u0645 \u0645 label.create.project=\u0623\u0646\u0634\u0626 \u0645\u0634\u0631\u0648\u0639 label.create.VPN.connection=\u0625\u0646\u0634\u0627\u0621 \u0627\u062a\u0635\u0627\u0644 \u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0634\u0628\u0643\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 label.dead.peer.detection=\u0643\u0634\u0641 \u0627\u0644\u0642\u0631\u064a\u0646 \u0627\u0644\u0645\u0641\u0642\u0648\u062f @@ -86,7 +86,7 @@ label.ESP.policy=\u0633\u064a\u0627\u0633\u0629 ESP label.failed=\u062e\u0637\u0623 label.filterBy=\u062a\u0635\u0641\u064a\u0629 \u062d\u0633\u0628 label.full.path=\u0645\u0633\u0627\u0631 \u0643\u0627\u0645\u0644 -label.gpu=\u00d9\u0088\u00d8\u00ad\u00d8\u00af\u00d8\u00a9 \u00d8\u00a7\u00d9\u0084\u00d9 +label.gpu=\u0648\u0639\u0631 label.guest.type=\u0646\u0648\u0639 \u0627\u0644\u0636\u064a\u0641 label.IKE.lifetime=\u0639\u0645\u0631 IKE (\u062b\u0627\u0646\u064a\u0629) label.IKE.policy=\u0633\u064a\u0627\u0633\u0629 IKE diff --git a/client/WEB-INF/classes/resources/messages_de_DE.properties b/client/WEB-INF/classes/resources/messages_de_DE.properties index ef0a7504417..4ba33eaf476 100644 --- a/client/WEB-INF/classes/resources/messages_de_DE.properties +++ b/client/WEB-INF/classes/resources/messages_de_DE.properties @@ -1127,6 +1127,7 @@ label.override.guest.traffic=Gast-Datenverkehr \u00fcberschreiben label.override.public.traffic=\u00d6ffentlichen Datenverkehr \u00fcberschreiben label.ovm3.cluster=Natives Clustering label.ovm3.pool=Natives Pooling +label.ovm3.traffic.label=OVM3 Datenverkehrs-Bezeichnung label.ovm3.vip=Master Vip IP label.ovm.traffic.label=OVM Datenverkehrs-Bezeichnung label.ovs=OVS diff --git a/client/WEB-INF/classes/resources/messages_fr_FR.properties b/client/WEB-INF/classes/resources/messages_fr_FR.properties index 560c55bdb2f..da74fb7d04d 100644 --- a/client/WEB-INF/classes/resources/messages_fr_FR.properties +++ b/client/WEB-INF/classes/resources/messages_fr_FR.properties @@ -929,7 +929,7 @@ label.loading=Chargement en cours label.local.file=Fichier local label.local=Local label.local.storage.enabled=Activer le stockage local pour les VMs Utilisateurs -label.local.storage.enabled.system.vms=Active le stockage local pour les VMs Syst\u00e8mes +label.local.storage.enabled.system.vms=Activer le stockage local pour les VMs Syst\u00e8mes label.local.storage=Stockage local label.login=Connexion label.logout=D\u00e9connexion @@ -1127,6 +1127,7 @@ label.override.guest.traffic=Remplacer Trafic-invit\u00e9 label.override.public.traffic=Remplacer Trafic-public label.ovm3.cluster=Cluster natif label.ovm3.pool=Pool natif +label.ovm3.traffic.label=Libell\u00e9 trafic OVM3 label.ovm3.vip=IP Ma\u00eetre Vip label.ovm.traffic.label=Libell\u00e9 trafic OVM label.ovs=OVS @@ -1739,7 +1740,7 @@ message.action.enable.nexusVswitch=Confirmer l\\'activation de ce Nexus 1000v message.action.enable.physical.network=Confirmer l\\'activation de ce r\u00e9seau physique. message.action.enable.pod=Activer ce pod ? message.action.enable.zone=Activer cette zone ? -message.action.expunge.instance=Confirmez que vous souhaitez oruger cette instance. +message.action.expunge.instance=Confirmez que vous souhaitez effacer cette instance. message.action.force.reconnect=Votre h\u00f4te a \u00e9t\u00e9 forc\u00e9e \u00e0 se reconnecter avec succ\u00e8s. Ce processus peut prendre jusqu\\'\u00e0 plusieurs minutes. message.action.host.enable.maintenance.mode=Activer le mode maintenance va causer la migration \u00e0 chaud de l\\'ensemble des instances de cet h\u00f4te sur les autres h\u00f4tes disponibles. message.action.instance.reset.password=Confirmer le changement du mot de passe ROOT pour cette machine virtuelle. diff --git a/client/WEB-INF/classes/resources/messages_nb_NO.properties b/client/WEB-INF/classes/resources/messages_nb_NO.properties index 99d0dd62f07..d553d7ba55b 100644 --- a/client/WEB-INF/classes/resources/messages_nb_NO.properties +++ b/client/WEB-INF/classes/resources/messages_nb_NO.properties @@ -1127,6 +1127,7 @@ label.override.guest.traffic=Overstyr Gjeste Trafikk label.override.public.traffic=Overstyr Offentlig Trafikk label.ovm3.cluster=Innebygd Klynge Funksjon label.ovm3.pool=Innebygd Pooling +label.ovm3.traffic.label=OVM3 trafikketikett label.ovm3.vip=Hoved VIP IP label.ovm.traffic.label=OVM trafikk etikett label.ovs=OVS diff --git a/client/WEB-INF/classes/resources/messages_nl_NL.properties b/client/WEB-INF/classes/resources/messages_nl_NL.properties index d108ecb7a5d..562ab33000f 100644 --- a/client/WEB-INF/classes/resources/messages_nl_NL.properties +++ b/client/WEB-INF/classes/resources/messages_nl_NL.properties @@ -1127,6 +1127,7 @@ label.override.guest.traffic=Overschrijf Gast Verkeer label.override.public.traffic=Overschrijf Publiek Verkeer label.ovm3.cluster=inheems clustering label.ovm3.pool=inheemse pooling +label.ovm3.traffic.label=OVM3 verkeer etiket label.ovm3.vip=Master VIP IP ip label.ovm.traffic.label=OVM verkeerslabel label.ovs=OVS diff --git a/client/WEB-INF/classes/resources/messages_pt_BR.properties b/client/WEB-INF/classes/resources/messages_pt_BR.properties index 13fa366205c..952cf27a3d7 100644 --- a/client/WEB-INF/classes/resources/messages_pt_BR.properties +++ b/client/WEB-INF/classes/resources/messages_pt_BR.properties @@ -1127,6 +1127,7 @@ label.override.guest.traffic=Anula Tr\u00e1fego Convidado label.override.public.traffic=Sobrep\u00f5e Tr\u00e1fego P\u00fablico label.ovm3.cluster=Native Clustering label.ovm3.pool=Native Pooling +label.ovm3.traffic.label=Label de trafego OVM3 label.ovm3.vip=IP principal do Vip label.ovm.traffic.label=R\u00f3tulo de tr\u00e1fego OVM label.ovs=OVS diff --git a/client/WEB-INF/classes/resources/messages_ru_RU.properties b/client/WEB-INF/classes/resources/messages_ru_RU.properties index 1f6b3c586c5..5b529278b7c 100644 --- a/client/WEB-INF/classes/resources/messages_ru_RU.properties +++ b/client/WEB-INF/classes/resources/messages_ru_RU.properties @@ -1535,6 +1535,7 @@ message.number.hosts=

\# of \u0423\u0437\u043b\u044b

message.number.pods=

\# of \u0421\u0442\u0435\u043d\u0434\u044b

message.number.storage=

\# of \u0422\u043e\u043c\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430

message.number.zones=

\# of \u0417\u043e\u043d\u044b

+message.password.has.been.reset.to=\u041f\u0430\u0440\u043e\u043b\u044c \u0431\u044b\u043b \u0441\u0431\u0440\u043e\u0448\u0435\u043d \u0432 message.pending.projects.1=\u0412 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f\: message.pending.projects.2=\u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043a \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0434\u0430\u043b\u0435\u0435 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u043d\u044e. message.please.add.at.lease.one.traffic.range=\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u0438\u043d \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0434\u043b\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 From df3ce171e834c4fa6ec9c3e98bd8f50959753418 Mon Sep 17 00:00:00 2001 From: Remi Bergsma Date: Mon, 30 Nov 2015 21:39:02 +0100 Subject: [PATCH 4/5] make sure all files are updates with new version --- tools/build/build_asf.sh | 5 +++++ tools/build/setnextversion.sh | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/tools/build/build_asf.sh b/tools/build/build_asf.sh index 424b7887b60..3847c25d429 100755 --- a/tools/build/build_asf.sh +++ b/tools/build/build_asf.sh @@ -101,6 +101,11 @@ perl -pi -e "s/-SNAPSHOT//" build/replace.properties perl -pi -e "s/-SNAPSHOT//" services/console-proxy/plugin/pom.xml perl -pi -e "s/-SNAPSHOT//" tools/marvin/setup.py perl -pi -e "s/-SNAPSHOT//" tools/marvin/marvin/deployAndRun.py +perl -pi -e "s/-SNAPSHOT//" debian/changelog +perl -pi -e "s/-SNAPSHOT//" services/iam/plugin/pom.xml +perl -pi -e "s/-SNAPSHOT//" services/iam/pom.xm +perl -pi -e "s/-SNAPSHOT//" services/iam/server/pom.xml + case "$currentversion" in *-SNAPSHOT*) perl -pi -e 's/-SNAPSHOT//' debian/rules diff --git a/tools/build/setnextversion.sh b/tools/build/setnextversion.sh index a41676db6db..f6eb04aa763 100755 --- a/tools/build/setnextversion.sh +++ b/tools/build/setnextversion.sh @@ -66,6 +66,13 @@ mvn versions:set -DnewVersion=$version -P vmware -P developer -P systemvm -P sim mv deps/XenServerJava/pom.xml.versionsBackup deps/XenServerJava/pom.xml perl -pi -e "s/$currentversion/$version/" deps/XenServerJava/pom.xml perl -pi -e "s/$currentversion/$version/" tools/apidoc/pom.xml +perl -pi -e "s/$currentversion/$version/" debian/changelog +perl -pi -e "s/$currentversion/$version/" tools/marvin/setup.py +perl -pi -e "s/$currentversion/$version/" services/iam/plugin/pom.xml +perl -pi -e "s/$currentversion/$version/" services/iam/pom.xm +perl -pi -e "s/$currentversion/$version/" services/iam/server/pom.xml +perl -pi -e "s/$currentversion/$version/" tools/checkstyle/pom.xml +perl -pi -e "s/$currentversion/$version/" services/console-proxy/plugin/pom.xml git clean -f echo 'commit changes' From 7d7420fd1e5908e1bc4ee04a314241212f7a6481 Mon Sep 17 00:00:00 2001 From: Remi Bergsma Date: Mon, 30 Nov 2015 22:01:11 +0100 Subject: [PATCH 5/5] Use version for RC branch name instead of branch 4.6.1-RC20151130T2142 versus 4.6-RC20151130T2142 --- tools/build/build_asf.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/tools/build/build_asf.sh b/tools/build/build_asf.sh index 3847c25d429..9378b85be71 100755 --- a/tools/build/build_asf.sh +++ b/tools/build/build_asf.sh @@ -127,12 +127,8 @@ mv $tmpfilenm debian/changelog git clean -f #create a RC branch -RELEASE_BRANCH="RC"`date +%Y%m%dT%H%M` -if [ "$branch" = "master" ]; then - BRANCHNAME=$version-$RELEASE_BRANCH -else - BRANCHNAME=$branch-$RELEASE_BRANCH -fi +RC_BRANCH_SUFFIX="RC"`date +%Y%m%dT%H%M` +BRANCHNAME=$version-$RC_BRANCH_SUFFIX git branch $BRANCHNAME git checkout $BRANCHNAME