aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2025-01-22 05:37:51 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2025-01-22 05:37:51 +0200
commitf0dc1fb8ce29ee676a9a6ca9414756a852e31e26 (patch)
tree7f46681916a051983dc301854fdb94cc34797bf0 /Software
parent97904f88f3949339c713286b592ad156baa8d41f (diff)
downloadTango-f0dc1fb8ce29ee676a9a6ca9414756a852e31e26.tar.gz
Tango-f0dc1fb8ce29ee676a9a6ca9414756a852e31e26.zip
X1 CI/CD Support.
Diffstat (limited to 'Software')
-rw-r--r--Software/Graphics/X1/Machine1_M.pngbin0 -> 1210270 bytes
-rw-r--r--Software/Graphics/X1/Machine1_S.pngbin0 -> 63501 bytes
-rw-r--r--Software/Graphics/X1/Machine2_S.pngbin0 -> 32932 bytes
-rw-r--r--Software/Graphics/X1/Machine_M.pngbin0 -> 620002 bytes
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml10
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml.cs24
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Views/EnvironmentUpgradeView.xaml14
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs123
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs72
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/UpgradeEnvironmentConfiguration.cs9
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Firmware/FirmwareManager.cs18
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Storage/StorageManager.cs152
12 files changed, 164 insertions, 258 deletions
diff --git a/Software/Graphics/X1/Machine1_M.png b/Software/Graphics/X1/Machine1_M.png
new file mode 100644
index 000000000..9223163d1
--- /dev/null
+++ b/Software/Graphics/X1/Machine1_M.png
Binary files differ
diff --git a/Software/Graphics/X1/Machine1_S.png b/Software/Graphics/X1/Machine1_S.png
new file mode 100644
index 000000000..02b4bce49
--- /dev/null
+++ b/Software/Graphics/X1/Machine1_S.png
Binary files differ
diff --git a/Software/Graphics/X1/Machine2_S.png b/Software/Graphics/X1/Machine2_S.png
new file mode 100644
index 000000000..9450f6f19
--- /dev/null
+++ b/Software/Graphics/X1/Machine2_S.png
Binary files differ
diff --git a/Software/Graphics/X1/Machine_M.png b/Software/Graphics/X1/Machine_M.png
new file mode 100644
index 000000000..5a217aa7e
--- /dev/null
+++ b/Software/Graphics/X1/Machine_M.png
Binary files differ
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml
index 2bb430014..71a157412 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml
@@ -56,10 +56,10 @@
<TextBlock FontWeight="SemiBold">Machine Studio Version:</TextBlock>
<TextBlock Text="{Binding ElementName=control,Path=MachineStudioVersion.Version}"></TextBlock>
- <TextBlock FontWeight="SemiBold">PPC Application Version:</TextBlock>
+ <TextBlock FontWeight="SemiBold">TS-1800 Application Version:</TextBlock>
<TextBlock Text="{Binding ElementName=control,Path=TangoVersion.VersionAndTag}"></TextBlock>
- <TextBlock FontWeight="SemiBold">PPC Firmware Version::</TextBlock>
+ <TextBlock FontWeight="SemiBold">TS-1800 Firmware Version::</TextBlock>
<TextBlock Text="{Binding ElementName=control,Path=TangoVersion.FirmwareVersion}"></TextBlock>
<TextBlock FontWeight="SemiBold">Twine X4 Application Version:</TextBlock>
@@ -68,6 +68,12 @@
<TextBlock FontWeight="SemiBold">Twine X4 Firmware Version::</TextBlock>
<TextBlock Text="{Binding ElementName=control,Path=EurekaVersion.FirmwareVersion}"></TextBlock>
+ <TextBlock FontWeight="SemiBold">Twine X1 Application Version:</TextBlock>
+ <TextBlock Text="{Binding ElementName=control,Path=X1Version.VersionAndTag}"></TextBlock>
+
+ <TextBlock FontWeight="SemiBold">Twine X1 Firmware Version::</TextBlock>
+ <TextBlock Text="{Binding ElementName=control,Path=X1Version.FirmwareVersion}"></TextBlock>
+
<TextBlock FontWeight="SemiBold">Tango FSE Version:</TextBlock>
<TextBlock Text="{Binding ElementName=control,Path=FseVersion.Version}"></TextBlock>
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml.cs
index 9dcfebad9..70561311f 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Controls/WebAppPropertiesControl.xaml.cs
@@ -50,6 +50,13 @@ namespace Tango.AzureUtils.UI.Controls
public static readonly DependencyProperty EurekaVersionTagProperty =
DependencyProperty.Register("EurekaVersionTag", typeof(String), typeof(WebAppPropertiesControl), new PropertyMetadata(null, (d, e) => (d as WebAppPropertiesControl).UpdateControl()));
+ public String X1VersionTag
+ {
+ get { return (String)GetValue(X1VersionTagProperty); }
+ set { SetValue(X1VersionTagProperty, value); }
+ }
+ public static readonly DependencyProperty X1VersionTagProperty =
+ DependencyProperty.Register("X1VersionTag", typeof(String), typeof(WebAppPropertiesControl), new PropertyMetadata(null, (d, e) => (d as WebAppPropertiesControl).UpdateControl()));
public MachineServiceSettings Settings
{
@@ -83,6 +90,18 @@ namespace Tango.AzureUtils.UI.Controls
public static readonly DependencyProperty EurekaVersionProperty =
DependencyProperty.Register("EurekaVersion", typeof(TangoVersion), typeof(WebAppPropertiesControl), new PropertyMetadata(null));
+
+
+ public TangoVersion X1Version
+ {
+ get { return (TangoVersion)GetValue(X1VersionProperty); }
+ set { SetValue(X1VersionProperty, value); }
+ }
+ public static readonly DependencyProperty X1VersionProperty =
+ DependencyProperty.Register("X1Version", typeof(TangoVersion), typeof(WebAppPropertiesControl), new PropertyMetadata(null));
+
+
+
public FseVersion FseVersion
{
get { return (FseVersion)GetValue(FseVersionProperty); }
@@ -160,8 +179,9 @@ namespace Tango.AzureUtils.UI.Controls
var azure = await AzureUtilsAuthenticationFactory.AuthenticateOrGetAsync();
var databaseManager = new DatabaseManager(azure);
- TangoVersion = await databaseManager.GetLatestPPCVersion(app, PPCVersionTag);
- EurekaVersion = await databaseManager.GetLatestEurekaVersion(app, EurekaVersionTag);
+ TangoVersion = await databaseManager.GetLatestTangoVersion(app, MachineTypes.TS1800, PPCVersionTag);
+ EurekaVersion = await databaseManager.GetLatestTangoVersion(app, MachineTypes.Eureka, EurekaVersionTag);
+ X1Version = await databaseManager.GetLatestTangoVersion(app, MachineTypes.X1, X1VersionTag);
MachineStudioVersion = await databaseManager.GetLatestMachineStudioVersion(app);
FseVersion = await databaseManager.GetLatestFSEVersion(app, FSEBuildVariants.FSE);
TwineRSMVersion = await databaseManager.GetLatestFSEVersion(app, FSEBuildVariants.TwineRSM);
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Views/EnvironmentUpgradeView.xaml b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Views/EnvironmentUpgradeView.xaml
index 54a3e4876..fe00ce9b1 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Views/EnvironmentUpgradeView.xaml
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils.UI/Views/EnvironmentUpgradeView.xaml
@@ -32,7 +32,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
- <localControls:WebAppPropertiesControl VerticalAlignment="Top" Margin="0 20 0 0" PPCVersionTag="{Binding Config.PPCVersionTag}" EurekaVersionTag="{Binding Config.EurekaVersionTag}" WebApp="{Binding SelectedSourceApp}" />
+ <localControls:WebAppPropertiesControl VerticalAlignment="Top" Margin="0 20 0 0" PPCVersionTag="{Binding Config.PPCVersionTag}" EurekaVersionTag="{Binding Config.EurekaVersionTag}" X1VersionTag="{Binding Config.X1VersionTag}" WebApp="{Binding SelectedSourceApp}" />
</DockPanel>
</GroupBox>
</Grid>
@@ -45,10 +45,12 @@
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.SynchronizeDatabaseData}" >Upgrade Database Static Collections</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyMachineStudioStorageBlobs}" >Upgrade Machine Studio Blob Storage</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradeMachineStudioDatabaseVersion}" >Upgrade Machine Studio Database Version</CheckBox>
- <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyPPCStorageBlobs}" >Upgrade PPC Blob Storage</CheckBox>
- <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradePPCDatabaseVersion}" >Upgrade PPC Database Version</CheckBox>
+ <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyPPCStorageBlobs}" >Upgrade TS-1800 Blob Storage</CheckBox>
+ <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradePPCDatabaseVersion}" >Upgrade TS-1800 Database Version</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyEurekaStorageBlobs}" >Upgrade Twine X4 Blob Storage</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradeEurekaDatabaseVersion}" >Upgrade Twine X4 Database Version</CheckBox>
+ <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyX1StorageBlobs}" >Upgrade Twine X1 Blob Storage</CheckBox>
+ <CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradeX1DatabaseVersion}" >Upgrade Twine X1 Database Version</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyFSEStorageBlobs}" >Upgrade FSE Blob Storage</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.UpgradeFSEDatabaseVersion}" >Upgrade FSE Database Version</CheckBox>
<CheckBox Click="OnConfigChanged" Margin="0 5 0 0" IsChecked="{Binding Config.CopyTwineRSMStorageBlobs}" >Upgrade Twine Studio Blob Storage</CheckBox>
@@ -63,6 +65,10 @@
<TextBlock FontSize="10">Twine X4 Version Tag</TextBlock>
<TextBox x:Name="txtEurekaVersionTag" Text="{Binding Config.EurekaVersionTag,Mode=TwoWay,Delay=500,UpdateSourceTrigger=PropertyChanged}"></TextBox>
</StackPanel>
+ <StackPanel Margin="0 10 0 0">
+ <TextBlock FontSize="10">Twine X1 Version Tag</TextBlock>
+ <TextBox x:Name="txtX1VersionTag" Text="{Binding Config.X1VersionTag,Mode=TwoWay,Delay=500,UpdateSourceTrigger=PropertyChanged}"></TextBox>
+ </StackPanel>
</StackPanel>
</GroupBox>
@@ -86,7 +92,7 @@
</ComboBox.ItemTemplate>
</ComboBox>
- <localControls:WebAppPropertiesControl VerticalAlignment="Top" Margin="0 20 0 0" PPCVersionTag="{Binding Config.PPCVersionTag}" EurekaVersionTag="{Binding Config.EurekaVersionTag}" WebApp="{Binding SelectedTargetApp}" />
+ <localControls:WebAppPropertiesControl VerticalAlignment="Top" Margin="0 20 0 0" PPCVersionTag="{Binding Config.PPCVersionTag}" EurekaVersionTag="{Binding Config.EurekaVersionTag}" X1VersionTag="{Binding Config.X1VersionTag}" WebApp="{Binding SelectedTargetApp}" />
</DockPanel>
</GroupBox>
</Grid>
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
index 190b3ed62..95d92d1c8 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
@@ -229,36 +229,19 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task UpgradePPCVersion(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
+ public async Task UpgradeTangoVersion(IWebAppBase sourceApp, IWebAppBase targetApp, MachineTypes machineType, String versionTag)
{
- var latestPPCVersion = await GetLatestPPCVersion(sourceApp, versionTag);
+ var latestTangoVersion = await GetLatestTangoVersion(sourceApp, machineType, versionTag);
- latestPPCVersion.MachineVersion = null;
+ latestTangoVersion.MachineVersion = null;
var targetDataSource = (await targetApp.GetMachineServiceSettingsAsync()).ToDataSource();
- OnProgress(AzureUtilsStage.Database, $"Adding PPC database entry for version '{latestPPCVersion.VersionAndTag}'...");
+ OnProgress(AzureUtilsStage.Database, $"Adding {machineType.ToDescription()} database entry for version '{latestTangoVersion.VersionAndTag}'...");
using (var db = ObservablesContext.CreateDefault(targetDataSource))
{
- db.TangoVersions.Add(latestPPCVersion);
- await db.SaveChangesAsync();
- }
- }
-
- public async Task UpgradeEurekaVersion(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
- {
- var latestEurekaVersion = await GetLatestEurekaVersion(sourceApp, versionTag);
-
- latestEurekaVersion.MachineVersion = null;
-
- var targetDataSource = (await targetApp.GetMachineServiceSettingsAsync()).ToDataSource();
-
- OnProgress(AzureUtilsStage.Database, $"Adding Twine X4 database entry for version '{latestEurekaVersion.VersionAndTag}'...");
-
- using (var db = ObservablesContext.CreateDefault(targetDataSource))
- {
- db.TangoVersions.Add(latestEurekaVersion);
+ db.TangoVersions.Add(latestTangoVersion);
await db.SaveChangesAsync();
}
}
@@ -293,16 +276,16 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task DowngradePPCVersion(IWebAppBase app, String versionTag)
+ public async Task DowngradeTangoVersion(IWebAppBase app, MachineTypes machineType, String versionTag)
{
- var latestPPCVersion = await GetLatestPPCVersion(app, versionTag);
+ var latestTangoVersion = await GetLatestTangoVersion(app, machineType, versionTag);
var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource();
- OnProgress(AzureUtilsStage.Database, $"Removing PPC database entry for version '{latestPPCVersion.VersionAndTag}'...");
+ OnProgress(AzureUtilsStage.Database, $"Removing {machineType.ToDescription()} database entry for version '{latestTangoVersion.VersionAndTag}'...");
using (var db = ObservablesContext.CreateDefault(dataSource))
{
- var latest = await db.TangoVersions.SingleOrDefaultAsync(x => x.Guid == latestPPCVersion.Guid);
+ var latest = await db.TangoVersions.SingleOrDefaultAsync(x => x.Guid == latestTangoVersion.Guid);
db.TangoVersions.Remove(latest);
await db.SaveChangesAsync();
}
@@ -340,9 +323,9 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task<TangoVersion> GetLatestPPCVersion(IWebAppBase app, String versionTag)
+ public async Task<TangoVersion> GetLatestTangoVersion(IWebAppBase app, MachineTypes machineType, String versionTag)
{
- OnProgress(AzureUtilsStage.Database, $"Getting latest PPC version on '{app.Name}'...");
+ OnProgress(AzureUtilsStage.Database, $"Getting latest {machineType.ToDescription()} version on '{app.Name}'...");
MachineServiceSettings settings = null;
@@ -361,50 +344,16 @@ namespace Tango.AzureUtils.Database
using (var db = ObservablesContext.CreateDefault(dataSource))
{
- var ts_version_guid = (await db.MachineVersions.ToListAsync()).SingleOrDefault(x => x.MachineType == MachineTypes.TS1800).Guid;
+ var machine_version_guid = (await db.MachineVersions.ToListAsync()).SingleOrDefault(x => x.MachineType == machineType).Guid;
var versions = await db.TangoVersions.Where(x => x.Tag == versionTag).ToListAsync();
- versions = versions.Where(x => x.MachineVersionGuid == ts_version_guid).ToList();
+ versions = versions.Where(x => x.MachineVersionGuid == machine_version_guid).ToList();
var latest_version = versions.OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault();
return latest_version;
}
}
catch (Exception ex)
{
- throw new InvalidDataException($"Could not retrieve '{app.Name}' latest PPC version from database.", ex);
- }
- }
-
- public async Task<TangoVersion> GetLatestEurekaVersion(IWebAppBase app, String versionTag)
- {
- OnProgress(AzureUtilsStage.Database, $"Getting latest Twine X4 version on '{app.Name}'...");
-
- MachineServiceSettings settings = null;
-
- try
- {
- settings = await app.GetMachineServiceSettingsAsync();
- }
- catch (Exception ex)
- {
- throw new ArgumentException("Could not fetch machine service settings. Please check that all settings are available.", ex);
- }
-
- try
- {
- DataSource dataSource = settings.ToDataSource();
-
- using (var db = ObservablesContext.CreateDefault(dataSource))
- {
- var eureka_version_guid = (await db.MachineVersions.ToListAsync()).SingleOrDefault(x => x.MachineType == MachineTypes.Eureka).Guid;
- var versions = await db.TangoVersions.Where(x => x.Tag == versionTag).ToListAsync();
- versions = versions.Where(x => x.MachineVersionGuid == eureka_version_guid).ToList();
- var latest_version = versions.OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault();
- return latest_version;
- }
- }
- catch (Exception ex)
- {
- throw new InvalidDataException($"Could not retrieve '{app.Name}' latest Twine X4 version from database.", ex);
+ throw new InvalidDataException($"Could not retrieve '{app.Name}' latest {machineType.ToDescription()} version from database.", ex);
}
}
@@ -464,51 +413,27 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task ValidatePPCDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
- {
- OnProgress(AzureUtilsStage.Validating, "Validating PPC database upgrade...");
-
- var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
- var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
-
- var latestSourcePPCVersion = await GetLatestPPCVersion(sourceApp, versionTag);
-
- //Check if there is any source PPC version.
- if (latestSourcePPCVersion == null)
- {
- throw new ValidationException("Could not locate a PPC version entry on the source database.");
- }
-
- var latestTargetPPCVersion = await GetLatestPPCVersion(targetApp, versionTag);
-
- //Check target latest PPC version is older if there is any.
- if (latestTargetPPCVersion != null && Version.Parse(latestSourcePPCVersion.Version) <= Version.Parse(latestTargetPPCVersion.Version))
- {
- throw new ValidationException($"PPC source version is '{latestSourcePPCVersion.VersionAndTag}' while target version is '{latestTargetPPCVersion.VersionAndTag}'.");
- }
- }
-
- public async Task ValidateEurekaDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
+ public async Task ValidateTangoDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, MachineTypes machineType, String versionTag)
{
- OnProgress(AzureUtilsStage.Validating, "Validating Twine X4 database upgrade...");
+ OnProgress(AzureUtilsStage.Validating, $"Validating {machineType.ToDescription()} database upgrade...");
var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
- var latestSourceEurekaVersion = await GetLatestEurekaVersion(sourceApp, versionTag);
+ var latestSourceTangoVersion = await GetLatestTangoVersion(sourceApp, machineType, versionTag);
- //Check if there is any source PPC version.
- if (latestSourceEurekaVersion == null)
+ //Check if there is any source Tango version.
+ if (latestSourceTangoVersion == null)
{
- throw new ValidationException("Could not locate a Twine X4 version entry on the source database.");
+ throw new ValidationException($"Could not locate a {machineType.ToDescription()} version entry on the source database.");
}
- var latestTargetEurekaVersion = await GetLatestEurekaVersion(targetApp, versionTag);
+ var latestTargetTangoVersion = await GetLatestTangoVersion(targetApp, machineType, versionTag);
- //Check target latest PPC version is older if there is any.
- if (latestTargetEurekaVersion != null && Version.Parse(latestSourceEurekaVersion.Version) <= Version.Parse(latestTargetEurekaVersion.Version))
+ //Check target latest Tango version is older if there is any.
+ if (latestTargetTangoVersion != null && Version.Parse(latestSourceTangoVersion.Version) <= Version.Parse(latestTargetTangoVersion.Version))
{
- throw new ValidationException($"Twine X4 source version is '{latestSourceEurekaVersion.VersionAndTag}' while target version is '{latestTargetEurekaVersion.VersionAndTag}'.");
+ throw new ValidationException($"{machineType.ToDescription()} source version is '{latestSourceTangoVersion.VersionAndTag}' while target version is '{latestTargetTangoVersion.VersionAndTag}'.");
}
}
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
index a3c074df9..88b29fbae 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/EnvironmentManager.cs
@@ -195,8 +195,8 @@ namespace Tango.AzureUtils.Environment
//Add PPC storage versions.
try
{
- await _storageManager.ValidatePPCStorageUpgrade(sourceSlot, slot, null);
- await _storageManager.UpgradePPCStorage(sourceSlot, slot, null);
+ await _storageManager.ValidateTangoStorageUpgrade(sourceSlot, slot, MachineTypes.TS1800, null);
+ await _storageManager.UpgradeTangoStorage(sourceSlot, slot, MachineTypes.TS1800, null);
}
catch (Exception ex)
{
@@ -319,8 +319,8 @@ namespace Tango.AzureUtils.Environment
{
try
{
- await _storageManager.ValidatePPCStorageUpgrade(sourceApp, targetApp, config.PPCVersionTag);
- await _storageManager.UpgradePPCStorage(sourceApp, targetApp, config.PPCVersionTag);
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
+ await _storageManager.UpgradeTangoStorage(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
}
catch (Exception ex)
{
@@ -333,8 +333,8 @@ namespace Tango.AzureUtils.Environment
{
try
{
- await _storageManager.ValidateEurekaStorageUpgrade(sourceApp, targetApp, config.EurekaVersionTag);
- await _storageManager.UpgradeEurekaStorage(sourceApp, targetApp, config.EurekaVersionTag);
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
+ await _storageManager.UpgradeTangoStorage(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
}
catch (Exception ex)
{
@@ -342,6 +342,20 @@ namespace Tango.AzureUtils.Environment
}
}
+ //Add X1 storage versions.
+ if (config.CopyX1StorageBlobs)
+ {
+ try
+ {
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
+ await _storageManager.UpgradeTangoStorage(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
+ }
+ catch (Exception ex)
+ {
+ await RequestConfirmation($"Issues encountered with upgrading Twine X1 storage versions.\n{ex.FlattenMessage()}\nDo you wish to continue?");
+ }
+ }
+
//Add FSE storage versions.
if (config.CopyFSEStorageBlobs)
{
@@ -389,8 +403,8 @@ namespace Tango.AzureUtils.Environment
{
try
{
- await _databaseManager.ValidatePPCDatabaseUpgrade(sourceApp, targetApp, config.PPCVersionTag);
- await _databaseManager.UpgradePPCVersion(sourceApp, targetApp, config.PPCVersionTag);
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
+ await _databaseManager.UpgradeTangoVersion(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
}
catch (Exception ex)
{
@@ -403,8 +417,8 @@ namespace Tango.AzureUtils.Environment
{
try
{
- await _databaseManager.ValidateEurekaDatabaseUpgrade(sourceApp, targetApp, config.EurekaVersionTag);
- await _databaseManager.UpgradeEurekaVersion(sourceApp, targetApp, config.EurekaVersionTag);
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
+ await _databaseManager.UpgradeTangoVersion(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
}
catch (Exception ex)
{
@@ -412,6 +426,20 @@ namespace Tango.AzureUtils.Environment
}
}
+ //Upgrade X1 database version.
+ if (config.UpgradeX1DatabaseVersion)
+ {
+ try
+ {
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
+ await _databaseManager.UpgradeTangoVersion(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
+ }
+ catch (Exception ex)
+ {
+ await RequestConfirmation($"Issues encountered with upgrading Twine X1 database versions.\n{ex.FlattenMessage()}\nDo you wish to continue?");
+ }
+ }
+
//Upgrade FSE database version.
if (config.UpgradeFSEDatabaseVersion)
{
@@ -470,13 +498,19 @@ namespace Tango.AzureUtils.Environment
//Add PPC storage versions.
if (config.CopyPPCStorageBlobs)
{
- await _storageManager.ValidatePPCStorageUpgrade(sourceApp, targetApp, config.PPCVersionTag);
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
}
//Add Eureka storage versions.
if (config.CopyEurekaStorageBlobs)
{
- await _storageManager.ValidateEurekaStorageUpgrade(sourceApp, targetApp, config.EurekaVersionTag);
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
+ }
+
+ //Add X1 storage versions.
+ if (config.CopyX1StorageBlobs)
+ {
+ await _storageManager.ValidateTangoStorageUpgrade(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
}
//Add FSE storage versions.
@@ -500,13 +534,19 @@ namespace Tango.AzureUtils.Environment
//Upgrade PPC database version.
if (config.UpgradePPCDatabaseVersion)
{
- await _databaseManager.ValidatePPCDatabaseUpgrade(sourceApp, targetApp, config.PPCVersionTag);
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.TS1800, config.PPCVersionTag);
}
//Upgrade Eureka database version.
if (config.UpgradeEurekaDatabaseVersion)
{
- await _databaseManager.ValidateEurekaDatabaseUpgrade(sourceApp, targetApp, config.EurekaVersionTag);
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.Eureka, config.EurekaVersionTag);
+ }
+
+ //Upgrade X1 database version.
+ if (config.UpgradeX1DatabaseVersion)
+ {
+ await _databaseManager.ValidateTangoDatabaseUpgrade(sourceApp, targetApp, MachineTypes.X1, config.X1VersionTag);
}
//Upgrade FSE database version.
@@ -623,7 +663,7 @@ namespace Tango.AzureUtils.Environment
{
try
{
- await _storageManager.DowngradePPCStorage(app, config.PPCVersionTag);
+ await _storageManager.DowngradeTangoStorage(app, MachineTypes.TS1800, config.PPCVersionTag);
}
catch (Exception ex)
{
@@ -632,7 +672,7 @@ namespace Tango.AzureUtils.Environment
try
{
- await _databaseManager.DowngradePPCVersion(app, config.PPCVersionTag);
+ await _databaseManager.DowngradeTangoVersion(app, MachineTypes.TS1800, config.PPCVersionTag);
}
catch (Exception ex)
{
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/UpgradeEnvironmentConfiguration.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/UpgradeEnvironmentConfiguration.cs
index c6769ef3f..21b60a6ca 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/UpgradeEnvironmentConfiguration.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Environment/UpgradeEnvironmentConfiguration.cs
@@ -17,6 +17,8 @@ namespace Tango.AzureUtils.Environment
public bool UpgradePPCDatabaseVersion { get; set; }
public bool CopyEurekaStorageBlobs { get; set; }
public bool UpgradeEurekaDatabaseVersion { get; set; }
+ public bool CopyX1StorageBlobs { get; set; }
+ public bool UpgradeX1DatabaseVersion { get; set; }
public bool CopyFSEStorageBlobs { get; set; }
public bool UpgradeFSEDatabaseVersion { get; set; }
public bool CopyTwineRSMStorageBlobs { get; set; }
@@ -35,5 +37,12 @@ namespace Tango.AzureUtils.Environment
get { return _eurekaVersionTag.IsNotNullOrEmpty() ? _eurekaVersionTag : null; }
set { _eurekaVersionTag = value; RaisePropertyChangedAuto(); }
}
+
+ private String _x1VersionTag;
+ public String X1VersionTag
+ {
+ get { return _x1VersionTag.IsNotNullOrEmpty() ? _x1VersionTag : null; }
+ set { _x1VersionTag = value; RaisePropertyChangedAuto(); }
+ }
}
}
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Firmware/FirmwareManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Firmware/FirmwareManager.cs
index 6ab2c4544..62fa5f696 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Firmware/FirmwareManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Firmware/FirmwareManager.cs
@@ -48,20 +48,8 @@ namespace Tango.AzureUtils.Firmware
throw new ValidationException($"The specified TFP package is invalid.\n{ex.FlattenMessage()}");
}
- TangoVersion version = null;
+ TangoVersion version = await _databaseManager.GetLatestTangoVersion(slot, machineType, null);
- if (machineType == MachineTypes.TS1800)
- {
- version = await _databaseManager.GetLatestPPCVersion(slot, null);
- }
- else if (machineType == MachineTypes.Eureka)
- {
- version = await _databaseManager.GetLatestEurekaVersion(slot, null);
- }
- else
- {
- throw new NotImplementedException("Machine type not supported for this action.");
- }
if (Version.Parse(version.FirmwareVersion) >= tfpPackage.GetMcuVersion())
{
@@ -75,7 +63,7 @@ namespace Tango.AzureUtils.Firmware
var zipFile = TemporaryManager.CreateImaginaryFile(".zip");
- await _storageManager.DownloadLatestVersion(slot, machineType, zipFile, versionTag);
+ await _storageManager.DownloadLatestTangoVersion(slot, machineType, zipFile, versionTag);
OnProgress(AzureUtilsStage.Firmware, $"Replacing firmware_package.tfp...");
await Task.Factory.StartNew(() =>
@@ -99,7 +87,7 @@ namespace Tango.AzureUtils.Firmware
}
});
- await _storageManager.ReplaceLatestPPCVersion(slot, machineType, zipFile, versionTag);
+ await _storageManager.ReplaceLatestTangoVersion(slot, machineType, zipFile, versionTag);
OnProgress(AzureUtilsStage.Firmware, $"Updating firmware version on database...");
using (ObservablesContext db = ObservablesContext.CreateDefault(settings.ToDataSource()))
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Storage/StorageManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Storage/StorageManager.cs
index cb442b6b4..1297f5cae 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Storage/StorageManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Storage/StorageManager.cs
@@ -78,16 +78,16 @@ namespace Tango.AzureUtils.Storage
await blob.DeleteAsync();
}
- public async Task UpgradePPCStorage(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
+ public async Task UpgradeTangoStorage(IWebAppBase sourceApp, IWebAppBase targetApp, MachineTypes machineType, String versionTag)
{
OnProgress(AzureUtilsStage.Storage, $"Retrieving source and target settings...");
var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
- var latestPPCVersion = await _databaseManager.GetLatestPPCVersion(sourceApp, versionTag);
+ var latestTangoVersion = await _databaseManager.GetLatestTangoVersion(sourceApp, machineType, versionTag);
- OnProgress(AzureUtilsStage.Storage, $"Upgrading PPC version storage...");
+ OnProgress(AzureUtilsStage.Storage, $"Upgrading {machineType.ToDescription()} version storage...");
var sourceAccount = CloudStorageAccount.Parse(sourceSettings.STORAGE_ACCOUNT);
var sourceClient = sourceAccount.CreateCloudBlobClient();
@@ -95,54 +95,22 @@ namespace Tango.AzureUtils.Storage
var targetAccount = CloudStorageAccount.Parse(targetSettings.STORAGE_ACCOUNT);
var targetClient = targetAccount.CreateCloudBlobClient();
- var sourcePPCContainer = sourceClient.GetContainerReference(sourceSettings.TANGO_VERSIONS_CONTAINER);
- var targetPPCContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
+ var sourceTangoContainer = sourceClient.GetContainerReference(sourceSettings.TANGO_VERSIONS_CONTAINER);
+ var targetTangoContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
- var sourcePPCBlob = sourcePPCContainer.GetBlockBlobReference(latestPPCVersion.BlobName);
- var sourcePPCInstallerBlob = sourcePPCContainer.GetBlockBlobReference(latestPPCVersion.InstallerBlobName);
+ var sourceTangoBlob = sourceTangoContainer.GetBlockBlobReference(latestTangoVersion.BlobName);
+ var sourceTangoInstallerBlob = sourceTangoContainer.GetBlockBlobReference(latestTangoVersion.InstallerBlobName);
- var targetPPCBlob = await CreateEmptyBlob(targetPPCContainer, sourcePPCBlob.Name);
- var targetPPCInstallerBlob = await CreateEmptyBlob(targetPPCContainer, sourcePPCInstallerBlob.Name);
+ var targetTangoBlob = await CreateEmptyBlob(targetTangoContainer, sourceTangoBlob.Name);
+ var targetTangoInstallerBlob = await CreateEmptyBlob(targetTangoContainer, sourceTangoInstallerBlob.Name);
await Task.Factory.StartNew(() =>
{
- targetPPCBlob.StartCopy(sourcePPCBlob);
- targetPPCInstallerBlob.StartCopy(sourcePPCInstallerBlob);
+ targetTangoBlob.StartCopy(sourceTangoBlob);
+ targetTangoInstallerBlob.StartCopy(sourceTangoInstallerBlob);
});
}
- public async Task UpgradeEurekaStorage(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
- {
- OnProgress(AzureUtilsStage.Storage, $"Retrieving source and target settings...");
-
- var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
- var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
-
- var latestEurekaVersion = await _databaseManager.GetLatestEurekaVersion(sourceApp, versionTag);
-
- OnProgress(AzureUtilsStage.Storage, $"Upgrading Eureka version storage...");
-
- var sourceAccount = CloudStorageAccount.Parse(sourceSettings.STORAGE_ACCOUNT);
- var sourceClient = sourceAccount.CreateCloudBlobClient();
-
- var targetAccount = CloudStorageAccount.Parse(targetSettings.STORAGE_ACCOUNT);
- var targetClient = targetAccount.CreateCloudBlobClient();
-
- var sourceEurekaContainer = sourceClient.GetContainerReference(sourceSettings.TANGO_VERSIONS_CONTAINER);
- var targetEurekaContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
-
- var sourceEurekaBlob = sourceEurekaContainer.GetBlockBlobReference(latestEurekaVersion.BlobName);
- var sourceEurekaInstallerBlob = sourceEurekaContainer.GetBlockBlobReference(latestEurekaVersion.InstallerBlobName);
-
- var targetEurekaBlob = await CreateEmptyBlob(targetEurekaContainer, sourceEurekaBlob.Name);
- var targetEurekaInstallerBlob = await CreateEmptyBlob(targetEurekaContainer, sourceEurekaInstallerBlob.Name);
-
- await Task.Factory.StartNew(() =>
- {
- targetEurekaBlob.StartCopy(sourceEurekaBlob);
- targetEurekaInstallerBlob.StartCopy(sourceEurekaInstallerBlob);
- });
- }
public async Task UpgradeFSEStorage(IWebAppBase sourceApp, IWebAppBase targetApp, FSEBuildVariants build)
{
@@ -223,76 +191,46 @@ namespace Tango.AzureUtils.Storage
OnCompleted("Latest Machine Studio storage blobs removed.");
}
- public async Task DowngradePPCStorage(IWebAppBase app, String versionTag)
+ public async Task DowngradeTangoStorage(IWebAppBase app, MachineTypes machineType, String versionTag)
{
OnProgress(AzureUtilsStage.Storage, $"Retrieving settings...");
- var latestPPCVersion = await _databaseManager.GetLatestPPCVersion(app, versionTag);
+ var latestTangoVersion = await _databaseManager.GetLatestTangoVersion(app, machineType, versionTag);
var settings = await app.GetMachineServiceSettingsAsync();
- await RemoveBlob(settings.TANGO_VERSIONS_CONTAINER, latestPPCVersion.BlobName);
- await RemoveBlob(settings.TANGO_VERSIONS_CONTAINER, latestPPCVersion.InstallerBlobName);
+ await RemoveBlob(settings.TANGO_VERSIONS_CONTAINER, latestTangoVersion.BlobName);
+ await RemoveBlob(settings.TANGO_VERSIONS_CONTAINER, latestTangoVersion.InstallerBlobName);
- OnCompleted("Latest PPC storage blobs removed.");
+ OnCompleted($"Latest {machineType.ToDescription()} storage blobs removed.");
}
- public async Task ValidatePPCStorageUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
+ public async Task ValidateTangoStorageUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, MachineTypes machineType, String versionTag)
{
- OnProgress(AzureUtilsStage.Validating, "Validating PPC storage upgrade...");
+ OnProgress(AzureUtilsStage.Validating, $"Validating {machineType.ToDescription()} storage upgrade...");
var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
- var latestSourcePPCVersion = await _databaseManager.GetLatestPPCVersion(sourceApp, versionTag);
- var latestTargetPPCVersion = await _databaseManager.GetLatestPPCVersion(targetApp, versionTag);
+ var latestSourceTangoVersion = await _databaseManager.GetLatestTangoVersion(sourceApp, machineType, versionTag);
+ var latestTargetTangoVersion = await _databaseManager.GetLatestTangoVersion(targetApp, machineType, versionTag);
var targetAccount = CloudStorageAccount.Parse(targetSettings.STORAGE_ACCOUNT);
var targetClient = targetAccount.CreateCloudBlobClient();
- var targetPPCContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
+ var targetTangoContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
- //Check PPC binaries blob not exists on the target.
- var targetPPCBlob = targetPPCContainer.GetBlockBlobReference(latestSourcePPCVersion.BlobName);
- if (await targetPPCBlob.ExistsAsync())
+ //Check version binaries blob not exists on the target.
+ var targetTangoBlob = targetTangoContainer.GetBlockBlobReference(latestSourceTangoVersion.BlobName);
+ if (await targetTangoBlob.ExistsAsync())
{
- throw new ValidationException($"PPC Block blob '{latestSourcePPCVersion.BlobName}' already exists on the target storage.");
+ throw new ValidationException($"{machineType.ToDescription()} Block blob '{latestSourceTangoVersion.BlobName}' already exists on the target storage.");
}
//Check PPC installer blob not exists on the target.
- var targetPPCInstallerBlob = targetPPCContainer.GetBlockBlobReference(latestSourcePPCVersion.InstallerBlobName);
- if (await targetPPCInstallerBlob.ExistsAsync())
+ var targetTangoInstallerBlob = targetTangoContainer.GetBlockBlobReference(latestSourceTangoVersion.InstallerBlobName);
+ if (await targetTangoInstallerBlob.ExistsAsync())
{
- throw new ValidationException($"PPC Block blob '{latestSourcePPCVersion.InstallerBlobName}' already exists on the target storage.");
- }
- }
-
- public async Task ValidateEurekaStorageUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, String versionTag)
- {
- OnProgress(AzureUtilsStage.Validating, "Validating Eureka storage upgrade...");
-
- var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
- var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
-
- var latestSourceEurekaVersion = await _databaseManager.GetLatestEurekaVersion(sourceApp, versionTag);
- var latestTargetEurekaVersion = await _databaseManager.GetLatestEurekaVersion(targetApp, versionTag);
-
- var targetAccount = CloudStorageAccount.Parse(targetSettings.STORAGE_ACCOUNT);
- var targetClient = targetAccount.CreateCloudBlobClient();
-
- var targetEurekaContainer = targetClient.GetContainerReference(targetSettings.TANGO_VERSIONS_CONTAINER);
-
- //Check PPC binaries blob not exists on the target.
- var targetEurekaBlob = targetEurekaContainer.GetBlockBlobReference(latestSourceEurekaVersion.BlobName);
- if (await targetEurekaBlob.ExistsAsync())
- {
- throw new ValidationException($"Twine X4 Block blob '{latestSourceEurekaVersion.BlobName}' already exists on the target storage.");
- }
-
- //Check PPC installer blob not exists on the target.
- var targetEurekaInstallerBlob = targetEurekaContainer.GetBlockBlobReference(latestSourceEurekaVersion.InstallerBlobName);
- if (await targetEurekaInstallerBlob.ExistsAsync())
- {
- throw new ValidationException($"Twine X4 Block blob '{latestSourceEurekaVersion.InstallerBlobName}' already exists on the target storage.");
+ throw new ValidationException($"{machineType.ToDescription()} Block blob '{latestSourceTangoVersion.InstallerBlobName}' already exists on the target storage.");
}
}
@@ -356,26 +294,13 @@ namespace Tango.AzureUtils.Storage
}
}
- public async Task DownloadLatestVersion(IWebAppBase app, MachineTypes machineType, String filePath, String versionTag)
+ public async Task DownloadLatestTangoVersion(IWebAppBase app, MachineTypes machineType, String filePath, String versionTag)
{
OnProgress(AzureUtilsStage.Storage, $"Retrieving source and target settings...");
var settings = await app.GetMachineServiceSettingsAsync();
- TangoVersion version = null;
-
- if (machineType == MachineTypes.TS1800)
- {
- version = await _databaseManager.GetLatestPPCVersion(app, versionTag);
- }
- else if (machineType == MachineTypes.Eureka)
- {
- version = await _databaseManager.GetLatestEurekaVersion(app, versionTag);
- }
- else
- {
- throw new NotImplementedException("Machine type not supported for this action.");
- }
+ TangoVersion version = await _databaseManager.GetLatestTangoVersion(app, machineType, versionTag);
OnProgress(AzureUtilsStage.Storage, $"Downloading {machineType.ToDescription()} version '{version.Version}'...");
@@ -397,26 +322,13 @@ namespace Tango.AzureUtils.Storage
}
}
- public async Task ReplaceLatestPPCVersion(IWebAppBase app, MachineTypes machineType, String filePath, String versionTag)
+ public async Task ReplaceLatestTangoVersion(IWebAppBase app, MachineTypes machineType, String filePath, String versionTag)
{
OnProgress(AzureUtilsStage.Storage, $"Retrieving source and target settings...");
var settings = await app.GetMachineServiceSettingsAsync();
- TangoVersion version = null;
-
- if (machineType == MachineTypes.TS1800)
- {
- version = await _databaseManager.GetLatestPPCVersion(app, versionTag);
- }
- else if (machineType == MachineTypes.Eureka)
- {
- version = await _databaseManager.GetLatestEurekaVersion(app, versionTag);
- }
- else
- {
- throw new NotImplementedException("Machine type not supported for this action.");
- }
+ TangoVersion version = await _databaseManager.GetLatestTangoVersion(app, machineType, versionTag);
OnProgress(AzureUtilsStage.Storage, $"Uploading {machineType.ToDescription()} version '{version.VersionAndTag}'...");