diff --git a/src/ServiceControl.Audit/App.config b/src/ServiceControl.Audit/App.config
index 5d596184ef..435f41a343 100644
--- a/src/ServiceControl.Audit/App.config
+++ b/src/ServiceControl.Audit/App.config
@@ -27,9 +27,6 @@ These settings are only here so that we can debug ServiceControl while developin
-
-
-
diff --git a/src/ServiceControl.DockerImages/servicecontrol.transport-windows.dockerfile-template b/src/ServiceControl.DockerImages/servicecontrol.transport-windows.dockerfile-template
index 5242f87010..9859160067 100644
--- a/src/ServiceControl.DockerImages/servicecontrol.transport-windows.dockerfile-template
+++ b/src/ServiceControl.DockerImages/servicecontrol.transport-windows.dockerfile-template
@@ -4,12 +4,12 @@ WORKDIR /servicecontrol
ARG TRANSPORT
-ADD /Particular.ServiceControl/ServiceControl /Transports/${TRANSPORT} /Particular.ServiceControl/Persisters/RavenDB35 ./
+ADD /Particular.ServiceControl/ServiceControl /Transports/${TRANSPORT} /Particular.ServiceControl/Persisters/RavenDB5 ./
ARG TRANSPORT_CUSTOMIZATION_TYPE
ENV "ServiceControl/TransportType"="${TRANSPORT_CUSTOMIZATION_TYPE}" \
- "ServiceControl/PersistenceType"="ServiceControl.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Persistence.RavenDb" \
+ "ServiceControl/PersistenceType"="ServiceControl.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Persistence.RavenDb5" \
"ServiceControl/Hostname"="*" \
"ServiceControl/DBPath"="C:\\Data\\DB\\" \
"ServiceControl/LogPath"="C:\\Data\\Logs\\" \
diff --git a/src/ServiceControl.DockerImages/servicecontrol.transport.audit-windows.dockerfile-template b/src/ServiceControl.DockerImages/servicecontrol.transport.audit-windows.dockerfile-template
index babee93dc5..cb2f47e724 100644
--- a/src/ServiceControl.DockerImages/servicecontrol.transport.audit-windows.dockerfile-template
+++ b/src/ServiceControl.DockerImages/servicecontrol.transport.audit-windows.dockerfile-template
@@ -4,12 +4,12 @@ WORKDIR /servicecontrol.audit
ARG TRANSPORT
-ADD /Particular.ServiceControl.Audit/ServiceControl.Audit /Transports/${TRANSPORT} /Particular.ServiceControl.Audit/Persisters/RavenDB35 ./
+ADD /Particular.ServiceControl.Audit/ServiceControl.Audit /Transports/${TRANSPORT} /Particular.ServiceControl.Audit/Persisters/RavenDB5 ./
ARG TRANSPORT_CUSTOMIZATION_TYPE
ENV "ServiceControl.Audit/TransportType"="${TRANSPORT_CUSTOMIZATION_TYPE}" \
- "ServiceControl.Audit/PersistenceType"="ServiceControl.Audit.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Audit.Persistence.RavenDb" \
+ "ServiceControl.Audit/PersistenceType"="ServiceControl.Audit.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Audit.Persistence.RavenDb5" \
"ServiceControl.Audit/Hostname"="*" \
"ServiceControl.Audit/DBPath"="C:\\Data\\DB\\" \
"ServiceControl.Audit/LogPath"="C:\\Data\\Logs\\" \
diff --git a/src/ServiceControl.DockerImages/servicecontrol.transport.audit.init-windows.dockerfile-template b/src/ServiceControl.DockerImages/servicecontrol.transport.audit.init-windows.dockerfile-template
index 4efb6e71aa..3ebc5850fb 100644
--- a/src/ServiceControl.DockerImages/servicecontrol.transport.audit.init-windows.dockerfile-template
+++ b/src/ServiceControl.DockerImages/servicecontrol.transport.audit.init-windows.dockerfile-template
@@ -4,12 +4,12 @@ WORKDIR /servicecontrol.audit
ARG TRANSPORT
-ADD /Particular.ServiceControl.Audit/ServiceControl.Audit /Transports/${TRANSPORT} /Particular.ServiceControl.Audit/Persisters/RavenDB35 ./
+ADD /Particular.ServiceControl.Audit/ServiceControl.Audit /Transports/${TRANSPORT} /Particular.ServiceControl.Audit/Persisters/RavenDB5 ./
ARG TRANSPORT_CUSTOMIZATION_TYPE
ENV "ServiceControl.Audit/TransportType"="${TRANSPORT_CUSTOMIZATION_TYPE}" \
- "ServiceControl.Audit/PersistenceType"="ServiceControl.Audit.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Audit.Persistence.RavenDb" \
+ "ServiceControl.Audit/PersistenceType"="ServiceControl.Audit.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Audit.Persistence.RavenDb5" \
"ServiceControl.Audit/Hostname"="*" \
"ServiceControl.Audit/DBPath"="C:\\Data\\DB\\" \
"ServiceControl.Audit/LogPath"="C:\\Data\\Logs\\" \
diff --git a/src/ServiceControl.DockerImages/servicecontrol.transport.init-windows.dockerfile-template b/src/ServiceControl.DockerImages/servicecontrol.transport.init-windows.dockerfile-template
index 2f7efcd976..0fb03a4ef0 100644
--- a/src/ServiceControl.DockerImages/servicecontrol.transport.init-windows.dockerfile-template
+++ b/src/ServiceControl.DockerImages/servicecontrol.transport.init-windows.dockerfile-template
@@ -4,12 +4,12 @@ WORKDIR /servicecontrol
ARG TRANSPORT
-ADD /Particular.ServiceControl/ServiceControl /Transports/${TRANSPORT} /Particular.ServiceControl/Persisters/RavenDB35 ./
+ADD /Particular.ServiceControl/ServiceControl /Transports/${TRANSPORT} /Particular.ServiceControl/Persisters/RavenDB5 ./
ARG TRANSPORT_CUSTOMIZATION_TYPE
ENV "ServiceControl/TransportType"="${TRANSPORT_CUSTOMIZATION_TYPE}" \
- "ServiceControl/PersistenceType"="ServiceControl.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Persistence.RavenDb" \
+ "ServiceControl/PersistenceType"="ServiceControl.Persistence.RavenDb.RavenDbPersistenceConfiguration, ServiceControl.Persistence.RavenDb5" \
"ServiceControl/Hostname"="*" \
"ServiceControl/DBPath"="C:\\Data\\DB\\" \
"ServiceControl/LogPath"="C:\\Data\\Logs\\" \
diff --git a/src/ServiceControl/App.config b/src/ServiceControl/App.config
index 3305284eca..7022771ace 100644
--- a/src/ServiceControl/App.config
+++ b/src/ServiceControl/App.config
@@ -33,9 +33,6 @@ These settings are only here so that we can debug ServiceControl while developin
-
-
-
diff --git a/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditInstance.cs b/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditInstance.cs
index 026f946e29..d1027e2481 100644
--- a/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditInstance.cs
+++ b/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditInstance.cs
@@ -88,6 +88,7 @@ public override void Reload()
if (string.IsNullOrEmpty(persistenceType))
{
+ // Must always remain RavenDB35 so that SCMU understands that an instance with no configured value is an old Raven 3.5 instance
PersistenceManifest = manifests.Single(m => m.Name == "RavenDB35");
}
else
diff --git a/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditNewInstance.cs b/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditNewInstance.cs
index 5671205b98..8bb092a5a9 100644
--- a/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditNewInstance.cs
+++ b/src/ServiceControlInstaller.Engine/Instances/ServiceControlAuditNewInstance.cs
@@ -21,7 +21,8 @@ public static ServiceControlAuditNewInstance CreateWithDefaultPersistence()
public static ServiceControlAuditNewInstance CreateWithDefaultPersistence(string deploymentCachePath)
{
- return CreateWithPersistence(deploymentCachePath, DefaultPersister);
+ const string persisterToUseForBrandNewInstances = "RavenDB5";
+ return CreateWithPersistence(deploymentCachePath, persisterToUseForBrandNewInstances);
}
public static ServiceControlAuditNewInstance CreateWithPersistence(string deploymentCachePath, string persistence)
@@ -98,7 +99,5 @@ public override void CopyFiles(string zipFilePath)
FileUtils.UnzipToSubdirectory(zipFilePath, InstallPath, $@"Persisters\{PersistenceManifest.Name}");
}
-
- const string DefaultPersister = "RavenDB5";
}
}
\ No newline at end of file
diff --git a/src/ServiceControlInstaller.Engine/Instances/ServiceControlInstance.cs b/src/ServiceControlInstaller.Engine/Instances/ServiceControlInstance.cs
index 9697a9cb7b..07b7ddf035 100644
--- a/src/ServiceControlInstaller.Engine/Instances/ServiceControlInstance.cs
+++ b/src/ServiceControlInstaller.Engine/Instances/ServiceControlInstance.cs
@@ -127,7 +127,8 @@ public override void Reload()
if (string.IsNullOrEmpty(persistenceType))
{
- PersistenceManifest = manifests.Single(m => m.Name == ServiceControlNewInstance.DefaultPersister);
+ // Must always remain RavenDB35 so that SCMU understands that an instance with no configured value is an old Raven 3.5 instance
+ PersistenceManifest = manifests.Single(m => m.Name == "RavenDB35");
}
else
{
diff --git a/src/ServiceControlInstaller.Engine/Instances/ServiceControlNewInstance.cs b/src/ServiceControlInstaller.Engine/Instances/ServiceControlNewInstance.cs
index d117c41ef4..f8f9d11acc 100644
--- a/src/ServiceControlInstaller.Engine/Instances/ServiceControlNewInstance.cs
+++ b/src/ServiceControlInstaller.Engine/Instances/ServiceControlNewInstance.cs
@@ -22,7 +22,8 @@ public static ServiceControlNewInstance CreateWithDefaultPersistence()
public static ServiceControlNewInstance CreateWithDefaultPersistence(string deploymentCachePath)
{
- return CreateWithPersistence(deploymentCachePath, DefaultPersister);
+ const string persisterUsedForBrandNewInstances = "RavenDB5";
+ return CreateWithPersistence(deploymentCachePath, persisterUsedForBrandNewInstances);
}
public static ServiceControlNewInstance CreateWithPersistence(string deploymentCachePath, string persistence)
@@ -152,8 +153,5 @@ public static ServiceControlNewInstance Load(string path)
return instanceData;
}
-
- // TODO: Change after Raven5 introduced
- public const string DefaultPersister = "RavenDB35";
}
}
\ No newline at end of file
diff --git a/src/ServiceControlInstaller.Packaging.UnitTests/AuditDeploymentPackageTests.cs b/src/ServiceControlInstaller.Packaging.UnitTests/AuditDeploymentPackageTests.cs
index 0ac150c7c8..3f4c8f141c 100644
--- a/src/ServiceControlInstaller.Packaging.UnitTests/AuditDeploymentPackageTests.cs
+++ b/src/ServiceControlInstaller.Packaging.UnitTests/AuditDeploymentPackageTests.cs
@@ -14,10 +14,11 @@ public AuditDeploymentPackageTests()
[Test]
public void Should_package_storages_individually()
{
- var expectedPersisters = new string[] {
- "RavenDB35",
+ var expectedPersisters = new[] {
+ "RavenDB35", // Still must exist, as Raven35 persistence.manifest file must be available for SCMU to understand old versions
"RavenDB5",
- "InMemory"};
+ "InMemory"
+ };
var persisters = deploymentPackage.DeploymentUnits.Where(u => u.Category == "Persisters");
diff --git a/src/ServiceControlInstaller.Packaging.UnitTests/PrimaryDeploymentPackageTests.cs b/src/ServiceControlInstaller.Packaging.UnitTests/PrimaryDeploymentPackageTests.cs
index 89fc21e73f..6b70809860 100644
--- a/src/ServiceControlInstaller.Packaging.UnitTests/PrimaryDeploymentPackageTests.cs
+++ b/src/ServiceControlInstaller.Packaging.UnitTests/PrimaryDeploymentPackageTests.cs
@@ -1,6 +1,5 @@
namespace Tests
{
- using System.IO;
using System.Linq;
using NUnit.Framework;
@@ -13,10 +12,22 @@ public PrimaryDeploymentPackageTests()
}
[Test]
- public void Should_bundle_ravendb35_persister()
+ public void Should_package_storages_individually()
{
- var persistenceAssemblyPath = Path.Combine(deploymentPackage.Directory.FullName, "Persisters", "RavenDB35", "ServiceControl.Persistence.RavenDb.dll");
- FileAssert.Exists(persistenceAssemblyPath, "RavenDB 3.5 persister should be bundled");
+ var expectedPersisters = new[] {
+ "RavenDB35", // Still must exist, as Raven35 persistence.manifest file must be available for SCMU to understand old versions
+ "RavenDB5"
+ };
+
+ var persisters = deploymentPackage.DeploymentUnits.Where(u => u.Category == "Persisters");
+
+ CollectionAssert.AreEquivalent(expectedPersisters, persisters.Select(d => d.Name), $"Expected persisters folder to contain {string.Join(",", expectedPersisters)}");
+
+ foreach (var persister in persisters)
+ {
+ Assert.IsFalse(persister.Files.Any(f => f.Name.EndsWith(".config")), $"{persister.Name} contains a config file");
+ Assert.IsTrue(persister.Files.Any(f => f.Name == "persistence.manifest"), $"{persister.Name} doesn't contain a persistence.manifest file");
+ }
}
readonly DeploymentPackage deploymentPackage;