Giter VIP home page Giter VIP logo

2lcs's Introduction

2LCS - Lifecycle Services companion app

This small utility can help you manage D365FO instances deployed in your LCS project. Both cloud-hosted - in your Azure subscription and Microsoft-hosted sandboxes. It offers only a subset of functionalities that LCS offers, but you can execute them a bit faster. To download latest version go to Releases section and download zip archive (2LCS-X.X.X.X.zip) with compiled app.

Quick tips

  • After you run it for the first time you need to login to LCS in the app. It will log you in automatically if you are already logged in active Internet Explorer or Edge session.
  • Second step is to refresh list of projects you can access in LCS.
  • Third one is to refresh the list of D365 instances for chosen project.

You can access most of the functionality by right-clicking instance row on the grid. It is possible to execute most of the commands on multiple instances at once. To do that you need to select them first using row header on the left side of the grid. Similar to Excel.

During logon 2LCS intercepts and saves the cookie to use it for later authentication. This cookie will expire after some time. You will be notified in the app. Then you need to repeat initial steps again.

No support

Please note that this is only a sample code that is not supported by Microsoft in anyway. It is provided AS IS and it can break anytime because of changes introduced in LCS.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

2lcs's People

Contributors

aariste avatar fh-inway avatar fraga avatar itrasmus avatar jatomas avatar microsoft-github-policy-service[bot] avatar ni-bu-gen2 avatar petrjanikac avatar splaxi avatar tomekmelissa avatar valeryplotnik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

2lcs's Issues

.Net core

Hi @TomekMelissa

More of a question here - saw you wanted to setup continuous build. Any plans to move codebase to .net core?

Thanks
Rod

Project User Management data for 2LCS

Hi Tomek,

Not an issue but more a question ...
Is it possible to easily obtain the data from the LCS Project User Management page (Name, Organization, Projectrole) via 2LCS in a form or export-function ?

Regards, Marcel

QUESTION: LOADED PACKAGES AND THEIR MODELS

Hi, Is it somehow technically achieveable to extend the 2LCS application and extract the information related to "LOADED PACKAGES AND THEIR MODELS" which is normally visible under the "About" dialog from the application ?

image

Can't start or stop CHE instances

When I try to start op stop a CHE machine i'm constantly prompted to login, the login screen appears blank for a few seconds but nothing happens and the machine doesn't change state. Other functions like Deploy a package are working fine. Encontered in versions .30 and the latest .43.

Thanks,
Torben

change LCS login

Am I the only person with more than one LCS account? When I started 2LCS the first time, it logged on to LCS with the "wrong" account and I dont find any way, to change that. What did I miss?
Thank you in advance!

Menu "LCS project links"

Under "MS-hosted environments", choose "LCS project links". The menu "Project seetings" are obviously misspelled and not opening "Project settings" as intended.

I also have a wish for a new menu under "LCS project links":
"Azure DevOps" where the information from "Visual Studio Team Services", field "Azure DevOps site URL" are opened.

Self-service deployment issue

I recently created a new LCS project and this project seems a little bit different than previous LCS projects. I am no longer able to log in to a Tier 2 environment using RDP. The new functionality is described in "Self-service deployment overview" https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/deployment/infrastructure-stack

The result of this LCS change is that 2LCS is not getting access to Tier2 "MS-hosted environments". Tier2 environments are no longer visible in 2LCS.

Icon on task bar

Hello,

Would it be possible to have an icon on the task bar for this application please?
After minimizing the app, you need to search for it to reopen it. An icon on the task bar would make it much more user friendly.

Currently you have to either click on the arrow on the task bar to reopen the app
image
or minimize other open windows to find the below again:
image

Thank you.

App crash if you try access a project of type Talent

If you try open a project of type Talent, the app crashes.

(Norwegian) Callstack:
System.Net.Http.HttpRequestException: Svarstatuskoder indikerer ikke at forespørselen var vellykket: 403 (Forbidden).
ved System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
ved LCS.HttpClientHelper.GetCheInstances() i C:\Users\tmelissa\Source\repos\2LCS\2LCS\HttpClientHelper.cs:linje 84
ved LCS.Forms.MainForm.RefreshChe(Boolean reloadFromLcs) i C:\Users\tmelissa\Source\repos\2LCS\2LCS\Forms\MainForm.cs:linje 211
ved LCS.Forms.MainForm.RefreshMenuItem_Click(Object sender, EventArgs e) i C:\Users\tmelissa\Source\repos\2LCS\2LCS\Forms\MainForm.cs:linje 167
ved System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
ved System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
ved System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
ved System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
ved System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
ved System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
ved System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
ved System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
ved System.Windows.Forms.Control.WndProc(Message& m)
ved System.Windows.Forms.ScrollableControl.WndProc(Message& m)
ved System.Windows.Forms.ToolStrip.WndProc(Message& m)
ved System.Windows.Forms.MenuStrip.WndProc(Message& m)
ved System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
ved System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
ved System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

V.22 missing Deployment Action column

Hi there,

In version 18 of 2LCS, we have the option to see the column named Deployment Action, which give us an indication of the status of the environment. In version 22 it's not there.

v.18 https://i.imgur.com/vNgLVgh.jpg
v.22 https://i.imgur.com/fv10jiw.jpg and https://i.imgur.com/OVGDhVt.jpg

One of the reasons why I think it's necessary, is because of the integration between LCS and DevOps and Microsofts tasks, that cannot deploy to the environment, if it's in the wrong state on the Deployment Action column. I might be wrong, but there might be something to it.
Error in DevOps: https://i.imgur.com/H055s27.jpg

Crash when LCS is not accessible

LCS had access issues today and yesterday. 2LCS crashes when I try to get a list of VMs for a given LCS project.

Call stack:
Application: 2LCS.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
at Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(System.Object, System.Type, System.Type)
at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(System.Object, System.Globalization.CultureInfo, System.Type)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(Newtonsoft.Json.JsonReader, System.Object, System.Globalization.CultureInfo, Newtonsoft.Json.Serialization.JsonContract, System.Type)

Exception Info: Newtonsoft.Json.JsonSerializationException
at LCS.Program.Application_ThreadException(System.Object, System.Threading.ThreadExceptionEventArgs)
at System.Windows.Forms.Application+ThreadContext.OnThreadException(System.Exception)
at System.Windows.Forms.Control.WndProcException(System.Exception)
at System.Windows.Forms.Control+ControlNativeWindow.OnThreadException(System.Exception)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
at LCS.Program.Main()

Faulting application name: 2LCS.exe, version: 0.27.0.0, time stamp: 0x5e16f1e2
Faulting module name: KERNELBASE.dll, version: 10.0.18362.628, time stamp: 0x54734dee
Exception code: 0xe0434352
Fault offset: 0x00113db2
Faulting process ID: 0x7cb0
Faulting application start time: 0x01d5f778481c6cdf
Faulting application path: C:\Users\Artem\Downloads\2LCS-0.27.0.0\2LCS.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report ID: e4948eae-d9a5-4813-87eb-1d5b70eeeb0d
Faulting package full name:
Faulting package-relative application ID:

Fault bucket 1668366711294004334, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0

Problem signature:
P1: 2LCS.exe
P2: 0.27.0.0
P3: 5e16f1e2
P4: Newtonsoft.Json
P5: 12.0.3.23909
P6: dff1c7f1
P7: 473
P8: 66
P9: WQSSHWZPAYQ1I1N24AD0E43DDTRID103
P10:

Attached files:
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER330F.tmp.dmp
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER3542.tmp.WERInternalMetadata.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER35A1.tmp.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER359F.tmp.csv
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER35FE.tmp.txt

These files may be available here:
\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_2LCS.exe_138249a119f2ae1f6f798940f4686e10373311d3_3c158475_b715968b-6c5b-47b8-81ee-6ad1695709be

Analysis symbol:
Rechecking for solution: 0
Report Id: f7105aad-2874-4279-ba74-2162afc0dfa3
Report Status: 268435456
Hashed bucket: 8837ad6c728ac95e87273aaf3dc40c6e
Cab Guid: 0

Log into 2LCS with a different account

I have two different accounts that I use in Lifecycle Services. Are there any workaround for logging into 2LCS with different accounts? I am only able to log in with the same account that my laptop currently are using.

Environment Changes

Question/Request.

Is it possible to get the records from the environment historie in LCS?
(Environment Details - History - Environment changes)
With this you would have a faster overview from failed/incorrect deployments and database restore actions. Does not have to be all records but for example the last 10 (most recent) records from the LCS form.

Regards, Marcel

Status on done fetching environments

I think it would be of some help for the user, if we could give some sort of notification in the form, when we where done with fetching data about the different environments.

It could be:

  • a popup
  • a small note on the status bar (maybe with color)
  • a running icon in the lower part of the form

Let me know what you think and I might be able to put in some time on that.

Adding access to Database on Tier2

image
Thank you for such a great tool

Just an idea for improvements:
Is it possible to add the function "Request access" for tier2 environment? This function should display login/password for Azure SQL

Refresh instances for project - Not working on Self service environments

Hello,

After selecting a project and then selecting "Refresh instances for project" the cloud hosted instances show, but the "MS hosted environments" tab has no data. Note: I do get the "Please login to LCS again. Your cookie probably expired" and go through the action of logging in. Still no MS hosted environment data.

I switched to another client that does not have self service environments and found that all environment data does appear in the application. Can you please review?

Region support

Hi,
I use 2LCS a lot, but now we are getting LCS project that are from the new regions in LCS such as Europe and Norway.
Any way that 2LCS can support projects from other that then United States?
/Flemming

RDP in full screen

When you open the RDP from the list it doesnt open in full screen. It would be good if it had this option as well as 'use all my monitors' (but only as an option - not mandatory).

Most developers use full screen as they use dual monitors and are in the environment all day.

Unable to add multiple LCS projects to app

Hi ,

I logged in my personal account and now I am unable to login with customer account. Is there any way we can log off/remove LCS project and re login/re add with different account??

Data region

There is an issue in LCS for Self-service environments. The data region is from now on kept as a secret. For "Microsoft Managed" environments you still can see the information. Example: Primary region (Active) West Europe
So one cannot be sure in which data center your Self-Service environment are located. This would be an very interesting information to present in 2LCS.

App crash when running "Show RDP Details" from context menu

Version 0.9.1.0
From context menu over a MS hosted environment, if I select "Show RDP Details" the app crashes.

Eventlog throws the following details (I have not downloaded the source and debugged myself - yet).

Application: 2LCS.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
at LCS.Program.Application_ThreadException(System.Object, System.Threading.ThreadExceptionEventArgs)
at System.Windows.Forms.Application+ThreadContext.OnThreadException(System.Exception)
at System.Windows.Forms.Control.WndProcException(System.Exception)
at System.Windows.Forms.Control+ControlNativeWindow.OnThreadException(System.Exception)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
at LCS.Program.Main()

Release 0.20.0 is not stabile

Release 0.20.0 is not as stabile as release 0.19.0 is.
I am sorry to say that this version is crashing too often. Release 19 is very stable!

I was able to locate the new "Azure DevOps" menu, but no Sharepoint site was visible to me.

Define custom links

Hi!
I have a wish for "define custom links":
Is it possible to add the application base url as a variable ? Then we would be able to create custom links as : https://%%applicationbaseurl%%/?mi=ProjProjectsListPage to open that page directly.

Crash when refresh instances for project

having 2 colleges installed an old version of 2LCS which crashed when doing refresh of instances. Updated both to .16 release. Both still having same issue. Do we need to delete some cache files or ?

Crash when "Export project data"

Tool crashed when I export data for the project where at least one machine is in Deleting state.

Call stack:

Application: 2LCS.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException at LCS.Program.Application_ThreadException(System.Object, System.Threading.ThreadExceptionEventArgs) at System.Windows.Forms.Application+ThreadContext.OnThreadException(System.Exception) at System.Windows.Forms.Control.WndProcException(System.Exception) at System.Windows.Forms.Control+ControlNativeWindow.OnThreadException(System.Exception) at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef) at System.Windows.Forms.Application+ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr, Int32, Int32) at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, System.Windows.Forms.ApplicationContext) at System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, System.Windows.Forms.ApplicationContext) at System.Windows.Forms.Application.Run(System.Windows.Forms.Form) at LCS.Program.Main()

Logon issue

Hi, I'm getting the following error message during the logon to LCS from the 2LCS application.
Is there anything that I can do about this ?

p.s. normally the account I'm using has Project admin access on some LCS projects.

image

:bug: Date/time fields in grids are sorted alphabetically

When clicking on a grid column header, the grid data gets sorted (ascending on first click, descending on second). The sorting always seems to be alphabetically and not take the data type into account. This works for most columns, but date/time columns are an issue.

For example, here is the "Deployed On" column in the "Cloud-hosted instances" grid after the first click (should be sorted ascending):
image

Question: Upcoming Updates LCS

Hi Tomek,

Just a free question, and whether this is possible to make available in your nice tool.
The data from the upcoming updates for the sandbox environments in lcs to a form or export?
Under the project settings - Update Settings - Edit settings.

Attachted a screenshot.

Regards, Marcel
updatesettings

Build number (exact application version)

Hello,

The below is an idea, not an issue.

Currently there's a column named 'Current Application Release Name' which shows the Application version displayed on the Environment overview page in LCS.
In some cases, this will show 8.1 while the exact application version is actually 8.1.1 or 8.1.2 ...

Would it be possible to add a column for the 'Exact Application Build Number'?

A procedure to verify this number manually can be found below:
image

LCS Access fails with HTTP 498

Since a few days I can no longer refresh the project instances in 2LCS, I consistently receive an 498 HTTP error (sorry for the German text, I hope the exception is clear, if not, let me know):

System.Net.Http.HttpRequestException: Der Antwortstatuscode gibt keinen Erfolg an: 498 ().
   bei System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   bei LCS.HttpClientHelper.GetSaasInstances() in C:\Users\tmelissa\Source\repos\2LCS\2LCS\HttpClientHelper.cs:Zeile 105.
   bei LCS.Forms.MainForm.RefreshSaas(Boolean reloadFromLcs) in C:\Users\tmelissa\Source\repos\2LCS\2LCS\Forms\MainForm.cs:Zeile 192.
   bei LCS.Forms.MainForm.RefreshMenuItem_Click(Object sender, EventArgs e) in C:\Users\tmelissa\Source\repos\2LCS\2LCS\Forms\MainForm.cs:Zeile 177.
   bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   bei System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
   bei System.Windows.Forms.MenuStrip.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2633.0 built by: NET471REL1LAST_C.
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
----------------------------------------
2LCS
    Assembly-Version: 0.7.0.0.
    Win32-Version: 0.7.0.0.
    CodeBase: file:///C:/Program%20Files%20(x86)/2LCS/2LCS.exe.
----------------------------------------
System
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Windows.Forms
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Configuration
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Core
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2633.0 built by: NET471REL1LAST_C.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
----------------------------------------
System.Xml
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2612.0 built by: NET471REL1LAST_B.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
System.Windows.Forms.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------
Newtonsoft.Json
    Assembly-Version: 11.0.0.0.
    Win32-Version: 11.0.1.21818.
    CodeBase: file:///C:/Program%20Files%20(x86)/2LCS/Newtonsoft.Json.DLL.
----------------------------------------
System.Runtime.Serialization
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2612.0 built by: NET471REL1LAST_B.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll.
----------------------------------------
System.Numerics
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll.
----------------------------------------
System.Data
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2633.0 built by: NET471REL1LAST_C.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll.
----------------------------------------
System.Net.Http
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll.
----------------------------------------
Accessibility
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll.
----------------------------------------
mscorlib.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
----------------------------------------
System.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.resources.dll.
----------------------------------------
System.Net.Http.resources
    Assembly-Version: 4.0.0.0.
    Win32-Version: 4.7.2556.0 built by: NET471REL1.
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http.resources/v4.0_4.0.0.0_de_b03f5f7f11d50a3a/System.Net.Http.resources.dll.
----------------------------------------

LCS will start returning HTTP 429 Too Many Requests

Hello 2LCS team,

I am with the Microsoft LCS team and wanted to let you know about changes we are making soon. In an effort to ensure all clients gain fair access to LCS, we will start rate limiting endpoints on a per endpoint basis by several levels including User, Project, and User Organization. We will start rejecting requests with HTTP 429 (Too Many Requests) if we see a request that crosses the threshold for any of the previous defined scopes. These limits will be set with high limits but in cases where thousands of requests come in within a minute, the client should expected to be throttled and see HTTP 429 from LCS. As time goes on, we plan on adding rate limiting to all major endpoints in LCS.

When LCS rejects a request with Too Many Requests, we will also return a "retry-after" header which will denote the length of time in seconds the client should wait before trying the operation again. In many cases, adding a wait with this number will correctly handle the rate limiting.

Example response code and common headers
HTTP 429
retry-after: 5
activity-id: xxxxxx-xxxxx-xxxxx

My suggestion for your team is to ensure 2LCS can handle 429 responses from LCS and at least show a proper error message to the user before we start rolling this out to more endpoints. If you see fit, you could add a retry that retries the request after the "retry-after" header time which could gracefully handle the 429s.

Please let me know if you have any questions. We could setup a test endpoint in LCS for you to validate the logic in 2LCS to validate it handles the 429s correctly.

This isn't an urgent priority but know that in the future, LCS will return 429s more often which could affect 2LCS.

Regards,
Billy Richardson
LCS team

EDIT: Clarified that "Retry-After" header will be lowercase like "retry-after"

New feature. Secrets expired

Me and my colleges uses 2LCS a lot and like the features.

Lately we have seen a lot of times, that the certificates on the custom hosted environments are expired and needs a "rotate secrets"

We would love a feature to see that the certificates are expired or the date they expire.

Thanks
Flemming

Refresh all function

Today I noticed one of 2LCS's potentials. Lifecycle Services was down, I could not enter environments for any customer. Then I remembered 2LCS, and with it's help I were able to RDP to the desired environments. Success!

I have a suggestion to add a button "Refresh all" in the Parameter form. "Auto-refresh list of instances after switching project" is good, but then you have to remember to enter every environment. I would like to be able to update all at the same time. Is that possible?

.NET core and Process.start

Tracking an issue here where we can't "Log on" to the environment. I believe we just need to change the implementation to just call default browser.

image

I should be able to pull request later tonight

Version 27 & 28 are unstable

I am sorry to say, but on my laptop the new 2LCS versions are unstable.

In version 27 & 28 the program will close without any error message if I press the "Refresh list" button from the "Choose LCS project" form.
The program will also close if I change project.
(Auto refresh is deactivated)

Version 26 is working ok for me.

Release #26

Thanks for the improvements in release 26. I have two comments.

In two out of my three Self service project the Build machine is missing from the "MS-hosted environments".
From those two LCS projects where a machine is missing, I notice that information in 2LCS is empty in the fiels of "Deployment action", Current application build version", "Current platform version","Build info" and the three Topology Name, Type and Version fields.

The order of instanced listed in MS-hosted environments seems to be random. I would prefer to have Production on top, as presented in LCS.
The order of cloud-hosted environments are identical to the order in LCS. Good!

Exception when reading any instance - cannot convert DateTime

Hi

When trying to read my instances (tried multiple projects), I keep getting an exception "Newtonsoft.Json.JsonReaderException: 'Could not convert string to DateTime: 31/01/2019 01:10. ". My local settings are in UK format, and I am also downloading the latest source code and still get the same error as the latest release.

Deploy Package no longer working

I used to use the deploy package feature quite a bit, It made it simple to deploy a version update to many different environments much quicker that through LCS. However, recently, this feature stopped working. It appears it might be something on the LCS side. I am wondering if the "API" in LCS changed so that the deploy package no longer works.

Can't get a list of packages for MS-hosted environments

With the current implementation of HttpClientHelper.GetPagedDeployablePackageListUrl when trying to get a list of deployable packages for MS-hosted environment the list is empty. It looks like the reason is URL returned by this method. For CHE it works fine as {LcsUrl}/Environment/GetPagedDeployablePackageList[...] returns the list, but for MS-hosted env the list is empty. When in turn you use {LcsUrl}/EnvironmentServicingV2/GetPagedDeployablePackageList[...] it returns packages for MS-hosted env, but not for a CHE.
It seems that if MS will not make EnvironmentServicingV2 return the list for both types of environments HttpClientHelper.GetPagedDeployablePackageListUrl method should return a different URL according to environment type.

README.md

Are there any 2LCS documentation other than README.md?
How could the menu "Define custom links" and "Cookie" be used?

'Bug' Project User Management

Hi Tomek,

Small bug which I am experiencing ? ..
if a user has the status 'Pending' in the LCS Project User Management, 2LCS will stop due to ProjectUser.UserProfile.get returned null.

Regards, Marcel

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.