public DtoApiBoolResponse CreateDefaultBootMenu(DtoBootMenuGenOptions bootOptions) { return(new DtoApiBoolResponse() { Value = new DefaultBootMenu().Create(bootOptions) }); }
protected void CreateStandardMenu() { var listSettings = new List <EntitySetting> { new EntitySetting { Name = SettingStrings.IpxeRequiresLogin, Value = chkIpxeLogin.Checked.ToString(), Id = Call.SettingApi.GetSetting(SettingStrings.IpxeRequiresLogin).Id } }; Call.SettingApi.UpdatePxeSettings(listSettings); var defaultBootMenuOptions = new DtoBootMenuGenOptions(); var pxeMode = GetSetting(SettingStrings.PxeBootloader); if (pxeMode.Contains("grub")) { defaultBootMenuOptions.GrubUserName = txtGrubUsername.Text; defaultBootMenuOptions.GrubPassword = txtGrubPassword.Text; } else { defaultBootMenuOptions.DebugPwd = consoleSha.Value; defaultBootMenuOptions.AddPwd = addcomputerSha.Value; defaultBootMenuOptions.OndPwd = ondsha.Value; defaultBootMenuOptions.DiagPwd = diagsha.Value; } defaultBootMenuOptions.Kernel = ddlComputerKernel.SelectedValue; defaultBootMenuOptions.BootImage = ddlComputerBootImage.SelectedValue; defaultBootMenuOptions.Type = "standard"; Call.SettingApi.CreateDefaultBootMenu(defaultBootMenuOptions); }
public DtoApiBoolResponse CreateDefaultBootMenu(DtoBootMenuGenOptions defaultMenuOptions) { return(new DtoApiBoolResponse() { Value = new DefaultBootMenu().RunAllServers(defaultMenuOptions) }); }
public bool CreateDefaultBootMenu(DtoBootMenuGenOptions defaultMenuOptions) { Request.Method = Method.POST; Request.Resource = string.Format("{0}/CreateDefaultBootMenu/", Resource); Request.AddJsonBody(defaultMenuOptions); var response = _apiRequest.Execute <DtoApiBoolResponse>(Request); return(response != null && response.Value); }
public bool RunAllServers(DtoBootMenuGenOptions defaultBootMenu) { _defaultBoot = defaultBootMenu; var uow = new UnitOfWork(); var comServers = uow.ClientComServerRepository.Get(x => x.IsTftpServer); var intercomKey = ServiceSetting.GetSettingValue(SettingStrings.IntercomKeyEncrypted); var decryptedKey = new EncryptionServices().DecryptText(intercomKey); var NoErrors = true; foreach (var com in comServers) { if (!new APICall().ClientComServerApi.CreateDefaultBootMenu(com.Url, "", decryptedKey, defaultBootMenu)) { NoErrors = false; } } return(NoErrors); }
protected void CreateProxyMenu() { var listSettings = new List <EntitySetting> { new EntitySetting { Name = SettingStrings.IpxeRequiresLogin, Value = chkIpxeProxy.Checked.ToString(), Id = Call.SettingApi.GetSetting(SettingStrings.IpxeRequiresLogin).Id } }; Call.SettingApi.UpdatePxeSettings(listSettings); var defaultBootMenuOptions = new DtoBootMenuGenOptions() { DebugPwd = consoleShaProxy.Value, AddPwd = addcomputerShaProxy.Value, OndPwd = ondshaProxy.Value, DiagPwd = diagshaProxy.Value, GrubUserName = txtGrubProxyUsername.Text, GrubPassword = txtGrubProxyPassword.Text }; defaultBootMenuOptions.BiosKernel = ddlBiosKernel.SelectedValue; defaultBootMenuOptions.BiosBootImage = ddlBiosBootImage.SelectedValue; defaultBootMenuOptions.Efi32Kernel = ddlEfi32Kernel.SelectedValue; defaultBootMenuOptions.Efi32BootImage = ddlEfi32BootImage.SelectedValue; defaultBootMenuOptions.Efi64Kernel = ddlEfi64Kernel.SelectedValue; defaultBootMenuOptions.Efi64BootImage = ddlEfi64BootImage.SelectedValue; Call.SettingApi.CreateDefaultBootMenu(defaultBootMenuOptions); }
public bool Create(DtoBootMenuGenOptions bootOptions) { _defaultBoot = bootOptions; var mode = ServiceSetting.GetSettingValue(SettingStrings.PxeBootloader); var guid = ConfigurationManager.AppSettings["ComServerUniqueId"]; _thisComServer = new ServiceClientComServer().GetServerByGuid(guid); if (_thisComServer == null) { log.Error($"Com Server With Guid {guid} Not Found"); return(false); } if (string.IsNullOrEmpty(_thisComServer.TftpPath)) { log.Error($"Com Server With Guid {guid} Does Not Have A Valid Tftp Path"); return(false); } _bootEntryServices = new ServiceCustomBootMenu(); _globalComputerArgs = ServiceSetting.GetSettingValue(SettingStrings.GlobalImagingArguments); var defaultCluster = new UnitOfWork().ComServerClusterRepository.Get(x => x.IsDefault).FirstOrDefault(); var defaultImagingServers = new UnitOfWork().ComServerClusterServerRepository.GetImagingClusterServers(defaultCluster.Id); _webPath = "\""; //the global default menu doesn't really have a way of knowing which imaging server to connect to since it's not related to a computer /group with // the com server assigned. Instead use this server if it's an imaging server, otherwise use the default cluster. if (_thisComServer.IsImagingServer) { _webPath += _thisComServer.Url + "clientimaging/ "; } else { foreach (var imageServer in defaultImagingServers) { var url = new ServiceClientComServer().GetServer(imageServer.ComServerId).Url; _webPath += url + "clientimaging/ "; //adds a space delimiter } } _webPath = _webPath.Trim(' '); _webPath += "\""; var webRequiresLogin = ServiceSetting.GetSettingValue(SettingStrings.WebTasksRequireLogin); var consoleRequiresLogin = ServiceSetting.GetSettingValue(SettingStrings.ConsoleTasksRequireLogin); var globalToken = ServiceSetting.GetSettingValue(SettingStrings.GlobalImagingToken); if (webRequiresLogin.Equals("False") || consoleRequiresLogin.Equals("False")) { _userToken = globalToken; } else { _userToken = ""; } if (_defaultBoot.Type == "standard") { if (mode.Contains("ipxe")) { CreateIpxeMenu(defaultCluster.Id); } else if (mode.Contains("grub")) { CreateGrubMenu(); } else { CreateSyslinuxMenu(); } } else { foreach (var proxyMode in new[] { "bios", "efi32", "efi64" }) { bootOptions.Type = proxyMode; if (proxyMode.Equals("bios")) { bootOptions.Kernel = bootOptions.BiosKernel; bootOptions.BootImage = bootOptions.BiosBootImage; } else if (proxyMode.Equals("efi32")) { bootOptions.Kernel = bootOptions.Efi32Kernel; bootOptions.BootImage = bootOptions.Efi32BootImage; } else { bootOptions.Kernel = bootOptions.Efi64Kernel; bootOptions.BootImage = bootOptions.Efi64BootImage; } CreateIpxeMenu(defaultCluster.Id); CreateSyslinuxMenu(); CreateGrubMenu(); } } return(true); }
public bool CreateDefaultBootMenu(string url, string serverName, string interComKey, DtoBootMenuGenOptions bootOptions) { Request.Method = Method.POST; Request.Resource = "Imaging/CreateDefaultBootMenu"; Request.AddJsonBody(bootOptions); var responseData = new ApiRequest(new Uri(url)).ExecuteHMACInterCom <DtoApiBoolResponse>(Request, serverName, interComKey); return(responseData != null && responseData.Value); }