Open StefanMaron opened 1 year ago
I also tested to deploy through postman. Interestingly, I do not get a 400, but the extension still doesn't get deployed somehow
I was able to trace it down further. The actuall error message that should be shown here would be:
{"error":{"code":"Unknown","message":"The specified file is not an extension file. (Parameter 'stream') CorrelationId: 6851a81b-c3c3-4986-9978-d8a953dbda9b."}}
I was able to reproduce this with postman.
But I still dont understand what the issue behind this is. I have a dependency to this app:
{
"id": "c42f2379-d7b5-4378-8ce4-9bca293c6189",
"publisher": "Theta Systems Limited",
"name": "OpenFeature",
"version": "3.0.0.0"
}
and when ever I unstall that app "clean", so with removing all data that belongs to it. It will get pulled and installed from appsource automatically and my publish will work again. Otherwise I get the error stated above.
Let me also pull @vody in, as he is the main dev of that extension.
To me this looks like some really weird issue in the deployment process, since I can publish the app without any problems though the UI and also via DEV endpoint
Alright, next Update. Even if I remove the dependency, the install still fails. I would say this makes it a bug in the open feature extension.
But I would still say the error message could be printed in the action log.
Could you share the full output of the deploy step with me? Need to see some other information earlier in the log.
Sure!
In ContainerHelper, I catch WebExceptions and print out extended information:
I wonder if the exception type is different on Linux?
I will make a pre-release version of ContainerHelper, which does this:
If your AL-Go repo is running on microsoft/AL-Go-PTE@preview - then you will get this behavior in 1-2 hours - and you can tell me what Exception type is thrown.
BTW: I found the issue that made my deploy fail. Its not within your scope, but I am not sure if this would not be of interest of the application team. If you add an Application Area OnAfterLogin and do NOT set it with a trailing comma, it seems to break all kind of deployment via API https://github.com/thetanz/OpenFeature-al/pull/19/files
If you can re-run the failing deploy script (using containerhelper preview), then I should be able to see which error is happening and next time show a better error message.
This is the new output, it doesnt look to me like anything changed:
It did show me the exception: 2023-06-30T04:47:08.3272905Z A BC Consulting_Customizations_1.0.21.0.app - upgrading...ERROR: Response status code does not indicate success: 400 (Bad Request). [Microsoft.PowerShell.Commands.HttpResponseException]
And currently, everything beside WebException is just handled by default exception handling - will add a handler for HttpResponseException as well.
Problem is that this exception type is not always accessible - and it holds a response message, which is what i need to get a hold of. If I am to do this - I would need to be able to run some tests for a few hours on a repo, which consistently reports an error like this. Can I get the apps you are publishing and see if I can make a repro?
I think I can reproduce this in a sample extension. I will let your know
Any chance that you could provide me with a repro? Thanks
I thought it would be just this event subscriber:
[EventSubscriber(ObjectType::Codeunit, Codeunit::"System Initialization", 'OnAfterLogin', '', true, true)]
local procedure OnAfterLogin()
var
ApplicationAreaMgmtFacade: Codeunit "Application Area Mgmt. Facade";
AppAreas: Text;
begin
AppAreas := ApplicationAreaMgmtFacade.GetApplicationAreaSetup();
if AppAreas <> '' then
AppAreas += ',';
AppAreas += '#MyAppArea';
ApplicationArea(AppAreas);
end;
Since Background sessions do not have any application areas set, the session somehow breaks if they get set. I discussed this in this issue: https://github.com/thetanz/OpenFeature-al/issues/18
But somehow, I am not able to break it anymore using the code above. Maybe there is something in the app that I missed. Otherwise you should be able to reproduce this, by installing this version of the OpenFeature app: https://github.com/thetanz/OpenFeature-al/releases/tag/v3.2.1.0 As of right now, this is also the latest release on AppSource, but thats about to change soon AFAIK
I downloaded the source for that, but that is an AppSource App??? The sample above uses Publish-PerTenantExtensionApps, which cannot be used to publish AppSource Apps.
Maybe I misunderstood things totally???
If I am to log more details (like the issue mentions), I will need a repro, which doesn't log sufficient details - i.e. some .app file which I can publish using Publish-PerTenantExtensionApps and see the failure.
I currently have some problems iwht my deploys. It deployed successfull the first time, but now it keeps failing. No information in the Instatallation Status in BC, No info in Telemetry.
Would it be possible to give some more details in the pipeline output directly?