-
Notifications
You must be signed in to change notification settings - Fork 11
Update setup target flow to allow for configuration of a dev environment. #2321
Update setup target flow to allow for configuration of a dev environment. #2321
Conversation
…date-environments-setup
…date-environments-setup
|
||
if (!string.IsNullOrEmpty(result.CommandOutputErrorMessage)) | ||
{ | ||
Logging.Logger()?.ReportWarn($"Unable to WindowsPSModulePath for the Hyper-V module location, Error: {result.CommandOutputErrorMessage}"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sounds more like an error than warning. Hyper-V functionality won't work without Hyper-V module.
WindowsPSModulePath sounds confusing in the message is confusing. Maybe "Unable to install WindowsPSModulePath module ..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated this and removed it but left it as a warn for now. I figured it'll be best to just left the cmdlet throw the exception so we don't hide it.
var hyperVManager = Host.GetService<IHyperVManager>(); | ||
hyperVManager.ImportHyperVModule(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we do this from HyperVManager itself (from constructor or lazy initialization whenever needed)? Doesn't look like clients of IHyperVManager need to know about that detail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed and provided a better work around. I'll need to investigate what happened between .Net 6 and .Net 8 in dev home that caused this. I created a test app with .Net 8 and PowerShell SDK 7.4.0 and it worked fine. So there is something weird with what we're doing in Dev Home. But I'll investigate it. For now I found that attempting to load it via Get-Module when the session starts and then using it again to get the list of available modules to find the module we want fixes the issue. This happened last minute unfortunately as we were using .Net 6 and PowerShell sdk 7.2.* before then
resultCode, resultInformation, new SDKApplyConfigurationSetResult(applyConfigSetResult), new SDKOpenConfigurationSetResult(openConfigResult, _stringResource)); | ||
|
||
// Check if there were errors while opening the configuration set. | ||
if (!Result.OpenConfigSucceeded) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to check resultCode (or Result.ResultCode) first. The operation could fail before getting to OpenConfigurationSetResult.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll update these when we have the update sdk changes into main
Column = result.Column; | ||
Value = result.Value.Clone() as string; | ||
ResultCode = Result.ResultCode; | ||
Succeeded = ResultCode != null && ResultCode.HResult == 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you had it right in SDKApplyConfigurationSetResult, if ResultCode is null it's succeeded:
(ResultCode == null || ResultCode?.HResult == 0)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updated but will probably need to update it again once we have sdk changes into main
… new work around that doesn't involve installing using Install-Module which installs from PsGallery
…date-environments-setup
* add initial SDK changes (#2209) * Add UX code from private ADO branch to public feature branch (#2241) * Add initial code from private branch that will be shared between the setup flow and the Dev environments tool page. PRs: from private ADO repo: https://dev.azure.com/microsoft/Dart/_git/DevHome?version=GBDevEnv * add changes to the setup flow for dev environment configuration PRS: from private ADO repo: https://dev.azure.com/microsoft/Dart/_git/DevHome?version=GBDevEnv * Add dev environments management tool page from private ADO repo: https://dev.azure.com/microsoft/Dart/_git/DevHome?version=GBDevEnv * fix conflicts and stylecop errors due to update from merge with main --------- Co-authored-by: Huzaifa Danish <modanish@microsoft.com> * Move Hyper-V extension code from private repository to public dev environments feature branch (#2246) * Add Hyper-v extension to Dev Home from Private Hyper-v extension branch: PRS https://github.com/microsoft/DevHomeHyperVExtension * Merge changes from Dev Home main and fix style cop errors * Initial implementation of IComputeSystem::ApplyConfiguration for HyperV extension. (#2258) * Add environments to experimentation (#2260) * Add PowerShell script and a helper class to deploy DevSetupAgent service to a Hyper-V VM. (#2261) * Hyper-V extension: Add "Ask for VM credentials" and "Wait for logon" Adaptive Cards to Hyper-V Configure command. (#2289) * Changes to make DevSetupEngine work with .NET 8 (#2308) * Build DevSetupAgent separately from the main Dev Home solution and add DevSetupAgent_*.zip to MSIX package. (#2325) * Add WaitForLogin and Credentials Adaptive Cards * Address review comments. * New VS solution for DevSetupAgent * Add BuildDevSetupAgentHelper script * Fix x86 DevSetupAgent to work on x64 OS. Create DevSetupAgent zip for different VM architectures. Fixed build scripts and HyperVExtension.csproj to include DevSetupAgent zip file into Dev Home MSIX package. * Remove old comment. * Fix a comment. * Update setup target flow to allow for configuration of a dev environment. (#2321) * initial code * update messaging and adaptive cards * remove added method * update strings and names * update based on initial comments and update IsHyperVModuleLoaded with new work around that doesn't involve installing using Install-Module which installs from PsGallery * improve wording * fix merge conflicts * update dev environments feature branch with latest idl changes (#2334) * update feature branch to latest sdk * update InputJson to inputJson * update with latest changes * Update environments page UX (#2320) * add updates to ui * fix crashes due to resource name mismatch * update feature branch to latest sdk * update InputJson to inputJson * update with latest changes * update * update to remove duplicate, resize shimmer, remove id from winget file since its not needed, and add comments * Re-add correct adaptive host file for correct theming, address some initial comments, update loading page to allow scrolling when there are tasks and actions in the action center. Fix error message spelling. * improve setup target loading page progress messaging * Fix git clone's dependsOn Id to match our new Ids for setup target flow * Update build scripts to build DevSetupAgent in Azure official build. (#2339) * update dev home to use new SDK version and other projects to use win app sdk v1.5 to prevent build issues (#2344) * Fix PS DevSetupAgent deployment script. (#2345) * remove classes that don't need to be added * Change all tabs to spaces * Update tools directory to use crlf * Update HyperVExtension directory to use crlf * Update common/Environments directory to use crlf * Update more in common directory to use crlf * [Hyper-V extension]: Fixes for DevSetupEngine registration, Configure progress reporting, and GitHub build. (#2348) * remove s that was added from a previous commit causing build to fail * fix tests for build * update malformed configuration string to allow arm64 to build --------- Co-authored-by: Huzaifa Danish <modanish@microsoft.com> Co-authored-by: sshilov7 <51001703+sshilov7@users.noreply.github.com> Co-authored-by: Kristen Schau <47155823+krschau@users.noreply.github.com>
Summary of the pull request
This PR updates the setup target flow to allow for the winget configure file generated by Dev Home
To be sent to an extension. The Extension then starts the configuration and provides Dev Home with the progress and completion details of the configuration:
Updated adaptive cards sent from Hyper-v so the strings appear in the UI
Video soon:
References and relevant issues
Will need to change adaptive card theme when the theme in the UI changes. In dark mode the card doesn't look the nicest.
Detailed description of the pull request / Additional comments
Validation steps performed
PR checklist