private void ClientConnectCallback(IAsyncResult ar) { Status.Set(); var client = ar.AsyncState as TcpClient; try { client.EndConnect(ar); var stream = client.GetStream(); var outbound = new AgentMessage { Metadata = Metadata }; if (Outbound.Count > 0) { outbound = Outbound.Dequeue(); } var encrypted = Crypto.Encrypt(outbound); var state = new CommStateObject { Handler = client, Worker = stream }; stream.BeginWrite(encrypted, 0, encrypted.Length, new AsyncCallback(ClientWriteCallback), state); } catch { // Agent has probably been closed or killed ModuleStatus = ModuleStatus.Stopped; } }
public void Init(ConfigController config, CryptoController crypto) { ModuleStatus = ModuleStatus.Starting; Config = config; Crypto = crypto; }
private void Apply(ModuleCreated @event) { SiteId = @event.SiteId; ModuleTypeId = @event.ModuleTypeId; Title = @event.Title; Status = @event.Status; }
public EdgeAgentDockerRuntimeModule( DockerConfig config, ModuleStatus runtimeStatus, int exitCode, string statusDescription, DateTime lastStartTimeUtc, DateTime lastExitTime, ConfigurationInfo configuration, IDictionary <string, EnvVal> env, string version = "") : base(Core.Constants.EdgeAgentModuleName, version, ModuleStatus.Running, RestartPolicy.Always, config, exitCode, statusDescription, lastStartTimeUtc, lastExitTime, 0, DateTime.MinValue, runtimeStatus, configuration, env) { // You maybe wondering why we are setting this here again even though // the base class does this assignment. This is due to a behavior // in C# where if you have an assignment to a read-only virtual property // from a base constructor when it has been overriden in a sub-class, the // assignment becomes a no-op. In order to fix this we need to assign // this here again so that the correct property assignment happens for real! this.RestartPolicy = RestartPolicy.Always; this.DesiredStatus = ModuleStatus.Running; this.RestartCount = 0; this.LastRestartTimeUtc = DateTime.MinValue; this.Version = version ?? string.Empty; }
public StartModuleResponse(Requests.StartModuleRequest request, ModuleStatus status, string info = null, double?kpiValue = null) { this.method = "startModule"; this.type = "response"; this.moduleId = request.moduleId; this.variantId = request.variantId; this.caseId = request.caseId; this.userId = request.userId; this.kpiId = request.kpiId; this.kpiValue = kpiValue; switch (status) { case ModuleStatus.Processing: this.status = "processing"; break; case ModuleStatus.Success: this.status = "success"; break; case ModuleStatus.Failed: this.status = "failed"; break; } this.info = info; }
public DockerRuntimeModule( string name, string version, ModuleStatus desiredStatus, RestartPolicy restartPolicy, DockerConfig config, int exitCode, string statusDescription, DateTime lastStartTime, DateTime lastExitTime, int restartCount, DateTime lastRestartTime, ModuleStatus runtimeStatus, ConfigurationInfo configuration, IDictionary <string, EnvVal> env) : base(name, version, desiredStatus, restartPolicy, config, configuration, env) { this.ExitCode = exitCode; this.StatusDescription = statusDescription; this.LastExitTimeUtc = lastExitTime; this.LastStartTimeUtc = lastStartTime; this.RestartCount = Preconditions.CheckRange(restartCount, 0, nameof(restartCount)); this.LastRestartTimeUtc = lastRestartTime; this.RuntimeStatus = Preconditions.CheckIsDefined(runtimeStatus); }
public async Task <IActionResult> OnPostAsync(int id, ModuleStatus status) { var contact = await Context.Module.FirstOrDefaultAsync( m => m.ID == id); if (contact == null) { return(NotFound()); } var contactOperation = (status == ModuleStatus.Approved) ? ModuleOperations.Approve : ModuleOperations.Reject; var isAuthorized = await AuthorizationService.AuthorizeAsync(User, contact, contactOperation); if (!isAuthorized.Succeeded) { return(Forbid()); } contact.Status = status; Context.Module.Update(contact); await Context.SaveChangesAsync(); return(RedirectToPage("./Index")); }
EdgeHubDockerRuntimeModule( string type, ModuleStatus status, RestartPolicy restartPolicy, DockerConfig config, int?exitCode, string statusDescription, DateTime lastStartTimeUtc, DateTime lastExitTimeUtc, int restartCount, DateTime lastRestartTimeUtc, ModuleStatus runtimeStatus, ConfigurationInfo configurationInfo, IDictionary <string, EnvVal> env, string version = "") : this( status, restartPolicy, config, exitCode ?? 0, statusDescription, lastStartTimeUtc, lastExitTimeUtc, restartCount, lastRestartTimeUtc, runtimeStatus, configurationInfo, env, version) { Preconditions.CheckArgument(type?.Equals("docker") ?? false); }
public TestRuntimeModule( string name, string version, RestartPolicy restartPolicy, string type, ModuleStatus desiredStatus, TestConfig config, int exitCode, string statusDescription, DateTime lastStartTimeUtc, DateTime lastExitTimeUtc, int restartCount, DateTime lastRestartTimeUtc, ModuleStatus runtimeStatus, ImagePullPolicy imagePullPolicy = ImagePullPolicy.OnCreate, ConfigurationInfo deploymentInfo = null, IDictionary <string, EnvVal> env = null) : base(name, version, type, desiredStatus, config, restartPolicy, imagePullPolicy, deploymentInfo, env) { this.ExitCode = exitCode; this.StatusDescription = statusDescription; this.LastStartTimeUtc = lastStartTimeUtc; this.LastExitTimeUtc = lastExitTimeUtc; this.RestartCount = restartCount; this.LastRestartTimeUtc = lastRestartTimeUtc; this.RuntimeStatus = runtimeStatus; }
internal static ModuleRuntimeInfo InspectResponseToModule(ContainerInspectResponse inspectResponse) { // Get the following runtime state: // - name // - exit code // - exit status description // - last start time // - last exit time // - image hash ( string name, int exitCode, string statusDescription, DateTime lastStartTime, DateTime lastExitTime, string imageHash ) = ExtractModuleRuntimeState(inspectResponse); var dockerConfig = new DockerReportedConfig(string.Empty, string.Empty, imageHash); // Figure out module stats and runtime status ModuleStatus runtimeStatus = ToRuntimeStatus(inspectResponse.State); var reportedConfig = new DockerReportedConfig(string.Empty, string.Empty, imageHash); var moduleRuntimeInfo = new ModuleRuntimeInfo <DockerReportedConfig>(name, "docker", runtimeStatus, statusDescription, exitCode, Option.Some(lastStartTime), Option.Some(lastExitTime), reportedConfig); return(moduleRuntimeInfo); }
public TestAgentModule(string name, string type, TestConfig config, ConfigurationInfo configuration, IDictionary <string, EnvVal> env) : base(name ?? Constants.EdgeAgentModuleName, string.Empty, type, ModuleStatus.Running, config, RestartPolicy.Always, configuration, env) { this.Version = string.Empty; this.RestartPolicy = RestartPolicy.Always; this.DesiredStatus = ModuleStatus.Running; }
public TcpCommModule(string hostname, int port) { ModuleStatus = ModuleStatus.Starting; Hostname = hostname; Port = port; Mode = ModuleMode.Client; }
public ModuleInfo(string name) { m_name = name; m_token = Guid.NewGuid().ToString("N"); m_views = new List <IViewInfo>(); m_status = ModuleStatus.Preloading; m_config = new Dictionary <string, string>(); }
public Block(string name, string description, DateTime? addDate, ModuleStatus status) : this() { Name = name; Description = description; AddDate = addDate; Status = status; }
public Module(string filename, uint baseAddress) { mainAddress = exitAddress = uint.MaxValue; this.baseAddress = baseAddress; fileInfo = new FileInfo(filename); status = ModuleStatus.Unloaded; }
internal virtual void Update() { // If the m_status is ModuleStatus.Starting, set it to Running. This will only get called on the very first Update call if (m_status == ModuleStatus.Starting) { m_status = ModuleStatus.Running; } }
DockerDesiredModule(string version, ModuleStatus desiredStatus, RestartPolicy restartPolicy, string type, DockerConfig settings, ConfigurationInfo configuration, IDictionary <string, EnvVal> env) : base(string.Empty, version, desiredStatus, restartPolicy, settings, configuration, env) { Preconditions.CheckArgument(type?.Equals("docker") ?? false); this.DesiredStatus = Preconditions.CheckIsDefined(desiredStatus); this.RestartPolicy = Preconditions.CheckIsDefined(restartPolicy); }
public EdgeHubDockerModule(string type, ModuleStatus status, RestartPolicy restartPolicy, DockerConfig settings, ConfigurationInfo configuration, IDictionary<string, EnvVal> env, string version = "") : base(Core.Constants.EdgeHubModuleName, version, status, restartPolicy, settings, configuration, env) { Preconditions.CheckArgument(type?.Equals("docker") ?? false); this.DesiredStatus = Preconditions.CheckIsDefined(status); this.RestartPolicy = Preconditions.CheckIsDefined(restartPolicy); }
private void btnSave_Click(object sender, EventArgs e) { BusyMessage.Show("Saving...", this.FindForm()); try { ValidateForm(); if (!hasError) { using (var uow = UnitOfWorkFactory.CreateUnitOfWork()) { BaseEntity selectedStatus = (BaseEntity)tbStatus.SelectedItem; ModuleStatus selectedModuleStatus = (ModuleStatus)int.Parse(selectedStatus.Id); //ensure client, farm, and field are created var client = clientSelector1.GetOrCreateClientEntity(); var farm = farmSelector1.GetOrCreateFarmEntity(client); var field = fieldSelector1.GetOrCreateFieldEntity(farm); foreach (var sn in _serialNumbers) { ModuleEntity existingModule = uow.ModuleRepository.FindSingle(x => x.Name == sn, "ModuleHistory"); existingModule.ModuleStatus = selectedModuleStatus; existingModule.FieldId = field.Id; ModuleHistoryEntity historyItem = new ModuleHistoryEntity { Id = Guid.NewGuid().ToString(), Created = DateTime.UtcNow, Driver = existingModule.Driver, TruckID = existingModule.TruckID, Latitude = existingModule.Latitude, Longitude = existingModule.Longitude, ModuleStatus = existingModule.ModuleStatus, ModuleEventType = ModuleEventType.MANUAL_EDIT }; existingModule.ModuleHistory.Add(historyItem); existingModule.SyncedToCloud = false; uow.ModuleRepository.Save(existingModule); } uow.SaveChanges(); this.DialogResult = DialogResult.OK; this.Close(); } } else { this.Activate(); } } catch (Exception exc) { Logging.Logger.Log(exc); MessageBox.Show("An error occurred trying to save module."); } finally { BusyMessage.Close(); } }
public async Task <ModuleSet> GetModulesAsync(CancellationToken token) { IEnumerable <ModuleRuntimeInfo> moduleStatuses = await this.moduleStatusProvider.GetModules(token); var modules = new List <IModule>(); ModuleSet moduleSet = this.deploymentConfig.GetModuleSet(); foreach (ModuleRuntimeInfo moduleRuntimeInfo in moduleStatuses) { if (moduleRuntimeInfo.Type != "docker" || !(moduleRuntimeInfo is ModuleRuntimeInfo <DockerReportedConfig> dockerRuntimeInfo)) { Events.InvalidModuleType(moduleRuntimeInfo); continue; } if (!moduleSet.Modules.TryGetValue(dockerRuntimeInfo.Name, out IModule configModule) || !(configModule is DockerModule dockerModule)) { dockerModule = new DockerModule(dockerRuntimeInfo.Name, string.Empty, ModuleStatus.Unknown, RestartPolicy.Unknown, new DockerConfig(string.Empty), new ConfigurationInfo(), null); } Option <ModuleState> moduleStateOption = await this.moduleStateStore.Get(moduleRuntimeInfo.Name); ModuleState moduleState = moduleStateOption.GetOrElse(new ModuleState(0, moduleRuntimeInfo.ExitTime.GetOrElse(DateTime.MinValue))); // compute module state based on restart policy DateTime lastExitTime = moduleRuntimeInfo.ExitTime.GetOrElse(DateTime.MinValue); ModuleStatus moduleRuntimeStatus = this.restartManager.ComputeModuleStatusFromRestartPolicy(moduleRuntimeInfo.ModuleStatus, dockerModule.RestartPolicy, moduleState.RestartCount, lastExitTime); string image = !string.IsNullOrWhiteSpace(dockerRuntimeInfo.Config.Image) ? dockerRuntimeInfo.Config.Image : dockerModule.Config.Image; var dockerReportedConfig = new DockerReportedConfig(image, dockerModule.Config.CreateOptions, dockerRuntimeInfo.Config.ImageHash); IModule module; switch (moduleRuntimeInfo.Name) { case Core.Constants.EdgeHubModuleName: module = new EdgeHubDockerRuntimeModule( dockerModule.DesiredStatus, dockerModule.RestartPolicy, dockerReportedConfig, (int)dockerRuntimeInfo.ExitCode, dockerRuntimeInfo.Description, dockerRuntimeInfo.StartTime.GetOrElse(DateTime.MinValue), lastExitTime, moduleState.RestartCount, moduleState.LastRestartTimeUtc, moduleRuntimeStatus, dockerModule.ConfigurationInfo, dockerModule.Env); break; case Core.Constants.EdgeAgentModuleName: module = new EdgeAgentDockerRuntimeModule(dockerReportedConfig, moduleRuntimeStatus, (int)dockerRuntimeInfo.ExitCode, dockerRuntimeInfo.Description, dockerRuntimeInfo.StartTime.GetOrElse(DateTime.MinValue), lastExitTime, dockerModule.ConfigurationInfo, dockerModule.Env); break; default: module = new DockerRuntimeModule( moduleRuntimeInfo.Name, dockerModule.Version, dockerModule.DesiredStatus, dockerModule.RestartPolicy, dockerReportedConfig, (int)moduleRuntimeInfo.ExitCode, moduleRuntimeInfo.Description, moduleRuntimeInfo.StartTime.GetOrElse(DateTime.MinValue), lastExitTime, moduleState.RestartCount, moduleState.LastRestartTimeUtc, moduleRuntimeStatus, dockerModule.ConfigurationInfo, dockerModule.Env); break; } modules.Add(module); } return(new ModuleSet(modules.ToDictionary(m => m.Name, m => m))); }
public virtual void IncrementRetryCount() { RetryCount++; if (RetryCount == MaxRetryCount) { ModuleStatus = ModuleStatus.Stopped; } }
public void Reload() { string error_details; if (Run(out error_details)) Status = ModuleStatus.Running; else MessageBox.Show(Program.ModuleManager, string.Format("Module failed to run!\n{0}", error_details), Filename, MessageBoxButtons.OK, MessageBoxIcon.Hand); }
public static void SaveStatus(string ModuleName, string Active) { ModuleStatus lms = new ModuleStatus(); lms.DEFAULT_FILENAME = ModuleName; lms.ModuleName = ModuleName; lms.Active = Active; lms.SaveStatus(); }
public CombinedDockerModule(string name, string version, ModuleStatus desiredStatus, RestartPolicy restartPolicy, CombinedDockerConfig settings, ConfigurationInfo configurationInfo, IDictionary <string, EnvVal> env) { this.Name = name; this.Version = version ?? string.Empty; this.DesiredStatus = Preconditions.CheckIsDefined(desiredStatus); this.Config = Preconditions.CheckNotNull(settings, nameof(settings)); this.RestartPolicy = Preconditions.CheckIsDefined(restartPolicy); this.ConfigurationInfo = configurationInfo ?? new ConfigurationInfo(string.Empty); this.Env = env?.ToImmutableDictionary() ?? ImmutableDictionary <string, EnvVal> .Empty; }
public override IModule WithRuntimeStatus(ModuleStatus newStatus) => new EdgeAgentDockerRuntimeModule( (DockerReportedConfig)this.Config, newStatus, this.ExitCode, this.StatusDescription, this.LastStartTimeUtc, this.LastExitTimeUtc, this.ConfigurationInfo, this.Env, this.Version);
public ModuleViewModel(PackageIdentity packageIdentity, ModuleStatus status) { PackageIdentity = packageIdentity; Status = status; if (status != ModuleStatus.None) { Version = packageIdentity.Version; } }
public void StartFilter() { //Arrange //Act ModuleStatus result = this.filterStandartProtocol.Start(); //Assert Assert.AreEqual(ModuleStatus.success, result); }
public bool is_package(CodeContext /*!*/ context, string fullname) { ModuleStatus info = GetModuleInfo(context, fullname); if (info == ModuleStatus.NotFound) { throw MakeError(context, "can't find module '{0}'", fullname); } return(info == ModuleStatus.Package); }
public void StartUser() { //Arrange //Act ModuleStatus result = this.user.Start(); //Assert Assert.AreEqual(ModuleStatus.success, result); }
/// <summary> /// Set module status /// </summary> /// <param name="moduleName"> /// Module name /// </param> /// <param name="status"> /// New status to change /// </param> /// <param name="sources"> /// API, Connectivity, Traps /// </param> /// <param name="processId"> /// process id /// </param> public void SetModuleStatus(string moduleName, ModuleStatus status, ModuleStatusSources sources, int?processId) { var module = mModulesInfo.ModulesInfo.Find(p => p.Name.Equals(moduleName)); switch (sources) { case ModuleStatusSources.API: lock (mSynchLockStatus) { module.Status = status.ToString(); } mLogger.DebugFormat("Status via API was changed to {0}", status.ToString()); break; case ModuleStatusSources.Connectivity: if (processId == module.ProcessId) { try { if (module.Status.Equals(Enum.GetName(typeof(ModuleStatus), ModuleStatus.Error)) && status == ModuleStatus.NoError) { mLogger.InfoFormat("Module {0} is UP! Sending Generic trap", moduleName); RaiseTrap(InitializeDownUpTrap(ComponentUpTrapId, moduleName), moduleName, Guid.Empty); // save state to temp file SerializeModulesTree(); } if (module.Status.Equals(Enum.GetName(typeof(ModuleStatus), ModuleStatus.NoError)) && status == ModuleStatus.Error) { mLogger.InfoFormat("Module {0} is DOWN! Sending Generic trap", moduleName); RaiseTrap(InitializeDownUpTrap(ComponentDownTrapId, moduleName), moduleName, Guid.Empty); // save state to temp file SerializeModulesTree(); } } catch (Exception exception) { mLogger.Error("Error occured while trying to send generic trap"); mLogger.Error(exception); } lock (mSynchLockStatus) { module.Status = status.ToString(); } mLogger.DebugFormat("Module: {0} Connectivity Status: {1}", moduleName, status.ToString()); } break; } }
public ModuleRuntimeInfo(string name, string type, ModuleStatus moduleStatus, string description, long exitCode, Option <DateTime> startTime, Option <DateTime> exitTime) { this.Name = name; this.Type = type; this.ModuleStatus = moduleStatus; this.Description = description; this.ExitCode = exitCode; this.StartTime = startTime; this.ExitTime = exitTime; }
public void Unload() { if (exitAddress != uint.MaxValue) { YeloDebug.XboxDll.UnloadModule(Program.XBox, baseAddress, exitAddress); Status = ModuleStatus.Unloaded; } else MessageBox.Show(Program.ModuleManager, "Module has no unload functionality!", Filename, MessageBoxButtons.OK, MessageBoxIcon.Hand); }
public NonDockerModule(string name, string version, string type, ModuleStatus desiredStatus, global::Microsoft.Azure.Devices.Edge.Agent.Core.RestartPolicy restartPolicy, ImagePullPolicy imagePullPolicy, ConfigurationInfo configurationInfo, IDictionary <string, EnvVal> env, string config) { this.Name = name; this.Version = version; this.Type = type; this.DesiredStatus = desiredStatus; this.RestartPolicy = restartPolicy; this.ImagePullPolicy = imagePullPolicy; this.ConfigurationInfo = configurationInfo; this.Env = env; this.Config = config; }
/// <summary> /// Initializes a new instance of the ModuleStatusInfo structure. /// </summary> public ModuleStatusInfo(string moduleName, ModuleStatus status) { _moduleName = moduleName; _status = status; }
private string ConvertModuleMonitorInfoListToModuleStatusListAsJson(List<ModuleMonitorInfo> moduleMonitorInfoList) { string moduleStatusListJson = "{\"ModuleStatusList\":["; foreach (ModuleMonitorInfo mi in moduleMonitorInfoList) { ModuleStatus moduleStatus = new ModuleStatus() { ModuleName = mi.ModuleFriendlyName, SurvivedMemorySize = mi.MonitoringSurvivedMemorySize.ToString(), TotalAllocatedMemorySize = mi.MonitoringTotalAllocatedMemorySize.ToString(), TotalProcessorTime = mi.MonitoringTotalProcessorTime.ToString() }; moduleStatusListJson += moduleStatus.SerializeToJsonStream(); moduleStatusListJson += ","; } moduleStatusListJson += "]}"; return moduleStatusListJson; }
void ReadyTimerEvent(object s, ElapsedEventArgs e) { mModuleStatus = ModuleStatus.Ready; mReadyTimer.Stop(); }
public InternalState() { mModuleStatus = ModuleStatus.None; }
internal ModuleStatusEventArgs(ModuleStatus status) { this.Status = status; }