private static void RemoveNodeConfigurationInner(bool deleteLog, FabricPackageType fabricPackageType, string machineName) { var parameters = new Dictionary <string, dynamic> { { DeploymentParameters.MachineNameString, machineName } }; // Create DeploymentParameters object with conditional retrieval of FabricBinRoot (to work around infinite recursion due to invalid reflection) bool setBinRoot = fabricPackageType != FabricPackageType.XCopyPackage; var deploymentParameters = new DeploymentParameters(setBinRoot); deploymentParameters.DeleteLog = deleteLog; deploymentParameters.DeploymentPackageType = fabricPackageType; deploymentParameters.SetParameters(parameters, DeploymentOperations.RemoveNodeConfig); try { DeploymentOperation.ExecuteOperation(deploymentParameters); } catch (Exception e) { DeployerTrace.WriteError("{0}", e.ToString()); throw; } }
public void TestDeploymentParameterCreateWithBinRootEnvironmentSet() { SetEnvironment(true, false); string clusterManifestLocation = "ClusterManifest.xml"; File.WriteAllText(clusterManifestLocation, "TestManifest"); DeploymentParameters parameters = new DeploymentParameters(); parameters.SetParameters(new Dictionary <string, dynamic>() { { DeploymentParameters.ClusterManifestString, clusterManifestLocation }, { DeploymentParameters.FabricDataRootString, Path.Combine(RootLocation, "Data") } }, DeploymentOperations.Create); parameters.Initialize(); Validate( parameters, DeploymentOperations.Create, Path.Combine(RootLocation, "Data"), Path.Combine(RootLocation, "Data", "log"), clusterManifestLocation, false, System.Fabric.FabricValidatorConstants.FabricUpgradeDefaultInstanceId, System.Fabric.FabricValidatorConstants.FabricUpgradeDefaultTargetVersion, null, null, null ); }
public static DeploymentParameters Parse(string[] args) { DeploymentParameters parameters = new DeploymentParameters(); if (args.Length == 0) { parameters.CreateFromFile(); return(parameters); } Dictionary <string, dynamic> commandArgs = new Dictionary <string, dynamic>(StringComparer.OrdinalIgnoreCase); string operationString = null; foreach (string arg in args) { int delimiterIndex = arg.IndexOf(":", StringComparison.Ordinal); if (delimiterIndex == -1) { PrintUsage(string.Format(CultureInfo.CurrentCulture, StringResources.Error_ArgumentInvalid_Formatted_arg1, arg)); } string key = arg.Substring(0, delimiterIndex); string value = arg.Substring(delimiterIndex + 1); if (CommandLineInfo.OperationString.Equals(key, StringComparison.OrdinalIgnoreCase)) { operationString = value; continue; } if (!parameters.IsSupportedParameter(key)) { PrintUsage(string.Format(CultureInfo.CurrentCulture, StringResources.Error_ArgumentUnexpected_Formatted, key)); } if (commandArgs.ContainsKey(key)) { PrintUsage(string.Format(CultureInfo.CurrentCulture, StringResources.Error_CommandLineArgumentFoundMoreThanOnce_Formatted, key)); } commandArgs.Add(key, value); } var operation = GetOperation(operationString); parameters.SetParameters(commandArgs, operation); return(parameters); }
private void ValidateClusterManifest(string clusterManifestFilePath, bool exceptionExcpected) { bool exceptionFound = false; try { DeploymentParameters parameters = new DeploymentParameters(); parameters.SetParameters(new Dictionary <string, dynamic>() { { DeploymentParameters.ClusterManifestString, clusterManifestFilePath }, { DeploymentParameters.FabricDataRootString, "TestFabricDataRoot" } }, DeploymentOperations.ValidateClusterManifest); DeploymentOperation.ExecuteOperation(parameters); } catch (Exception e) { DeployerTrace.WriteInfo("Test", "ValidateClusterManifest failed with exception {0}", e); exceptionFound = true; } Verify.AreEqual(exceptionExcpected, exceptionFound); }
private static void NewNodeConfigurationInner( string clusterManifestPath, string infrastructureManifestPath, string jsonClusterConfigPath, string fabricDataRoot, string fabricLogRoot, string fabricHostCredentialUser, SecureString fabricHostCredentialPassword, bool runFabricHostServiceAsManual, bool removeExistingConfiguration, FabricPackageType fabricPackageType, string fabricPackageRoot, string machineName, string bootstrapPackagePath) { if (!string.IsNullOrEmpty(machineName)) { if (!string.IsNullOrEmpty(fabricHostCredentialUser) || fabricHostCredentialPassword != null) { throw new InvalidOperationException(StringResources.Error_RemoteNodeConfigNotSupportedWithCredential); } } // Delete the registry value used for RemoveNodeConfiguration if it is present if (fabricPackageType == FabricPackageType.MSI) { RemoveNodeConfigOperation.DeleteRemoveNodeConfigurationRegistryValue(machineName); } if (removeExistingConfiguration) { RemoveNodeConfigurationInner(true, fabricPackageType, machineName); } var parameters = new Dictionary <string, dynamic> { { DeploymentParameters.ClusterManifestString, clusterManifestPath }, { DeploymentParameters.InfrastructureManifestString, infrastructureManifestPath }, { DeploymentParameters.FabricDataRootString, fabricDataRoot }, { DeploymentParameters.FabricLogRootString, fabricLogRoot } }; if (fabricHostCredentialUser != null) { parameters.Add(DeploymentParameters.RunAsUserNameString, fabricHostCredentialUser); } if (jsonClusterConfigPath != null) { parameters.Add(DeploymentParameters.JsonClusterConfigLocationString, jsonClusterConfigPath); } if (fabricHostCredentialPassword != null) { parameters.Add(DeploymentParameters.RunAsPaswordString, fabricHostCredentialPassword); } if (machineName != null) { parameters.Add(DeploymentParameters.MachineNameString, machineName); } if (fabricPackageRoot != null) { parameters.Add(DeploymentParameters.FabricPackageRootString, fabricPackageRoot); } if (runFabricHostServiceAsManual) { parameters.Add(DeploymentParameters.ServiceStartupTypeString, FabricDeployerServiceController.ServiceStartupType.Manual.ToString()); } if (bootstrapPackagePath != null) { parameters.Add(DeploymentParameters.BootstrapMSIPathString, bootstrapPackagePath); } // Create DeploymentParameters object with conditional retrieval of FabricBinRoot (to work around infinite recursion due to invalid reflection) bool setBinRoot = fabricPackageType != FabricPackageType.XCopyPackage; var deploymentParameters = new DeploymentParameters(setBinRoot); deploymentParameters.DeploymentPackageType = fabricPackageType; try { deploymentParameters.SetParameters(parameters, DeploymentOperations.Configure); DeploymentOperation.ExecuteOperation(deploymentParameters); } catch (Exception e) { DeployerTrace.WriteError("{0}", e.ToString()); throw; } }