GithubHelp home page GithubHelp logo

vsts-azurevm-extension's Introduction

vsts-azurevm-extension

vsts-azurevm-extension's People

Contributors

bishal-pdmsft avatar chshrikh avatar darthwillis avatar dianaivan11 avatar issacnitin avatar microsoft-github-policy-service[bot] avatar mmrazik avatar pranshu-negi avatar sachinma avatar simonasaitta avatar tejasd1990 avatar tiantun avatar tkasparek avatar willlennon avatar yevheniikholodkov avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vsts-azurevm-extension's Issues

System.IO.IOException: Access to the path 'C:\VSTSAgent' is denied.

This issue is supposed to be fixed after the fix of creating a separate extraction process , still it is occurring, although the count has reduced a lot.

[03/27/2018 05:02:50.83] Executing: C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0\enable.cmd [03/27/2018 05:07:50.88] Execution Complete. ###### Execution Output: C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0>Powershell.exe -executionpolicy bypass bin\enable.ps1 WARNING: The names of some imported commands from the module 'RMExtensionHandler' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb. 0 Execution Error: ###### Command C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0\enable.cmd of Microsoft.VisualStudio.Services.TeamServicesAgent has not exited on time! Killing it... mplete. ###### Execution Output: C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0>Powershell.exe -executionpolicy bypass bin\enable.ps1 WARNING: The names of some imported commands from the module 'RMExtensionHandler' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb. 0 VERBOSE: [2018-03-26T22:11:15] Error occured during Agent download VERBOSE: [2018-03-26T22:11:15] System.Management.Automation.RemoteException: Access to the path 'C:\VSTSAgent\bin\Agent.Listener.dll' is denied. C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0>if errorlevel 1 (exit /b -1 ) Execution Error: ###### Command C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0\enable.cmd of Microsoft.VisualStudio.Services.TeamServicesAgent has exited with Exit code: -1 mplete. ###### Execution Output: C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0>Powershell.exe -executionpolicy bypass bin\enable.ps1 WARNING: The names of some imported commands from the module 'RMExtensionHandler' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb. 0 VERBOSE: [2018-03-26T22:13:40] Error occured during Agent download VERBOSE: [2018-03-26T22:13:40] System.Management.Automation.RemoteException: Access to the path 'C:\VSTSAgent\bin\Agent.Listener.dll' is denied. C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0>if errorlevel 1 (exit /b -1 ) Execution Error: ###### Command C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.19.0.0\enable.cmd of Microsoft.VisualStudio.Services.TeamServicesAgent has exited with Exit code: -1

Support ARM64/aarch64

When enable Azure DevOps to use a VMSS pool configured with an ARM64 image, the deployment fails due to the following error

The current CPU architecture is not supported. Deployment agent requires x64 architecture.

def validate_os():
os_version = handler_utility.get_os_version()
if(os_version['IsX64'] != True):
code = RMExtensionStatus.rm_extension_status['UnSupportedOS']
message = 'The current CPU architecture is not supported. Deployment agent requires x64 architecture.'
raise RMExtensionStatus.new_handler_terminating_error(code, message)

What's the reason for the limitation, and are there plans to support ARM64 deployments?

I have also tried replacing the image that gets passed into the deployment

{
...
  "agentDownloadUrl": "https://vstsagentpackage.azureedge.net/agent/3.225.0/vsts-agent-linux-arm64-3.225.0.tar.gz",
...
}

But it appears the extensions throws the error before it tries to run the agent

Remove warning message

WARNING: The names of some imported commands from the module 'RMExtensionHandler' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb

This gets in Kusto telemetery each time. The messages are truncated from last.
Remove this by adding DisableNameChecking flag to Import-Module command

adding proxy support

  • fix approaches
    • pass the proxy settings as input variables to the extension. This is the simplest approach. The disadvantages are that there is a repetition of settings(customers might have set them already on the machine as environment variables), and it requires making changes in the UX. Since the issues we have had so far is for the byos scenarions, and the byos scenario is more involved with ux rather than the deploymentgroup scenario, ux changes are more important for byos scenario.
    • the extension reading the proxy settings from environment. The main problem with this approach is that the proxy might be authenticated, in which case we are asking users to store the password in plain text as environment variable. The pipelines agent, which the extension configures, itself accepts the password as a command line argument and stores it in a secure manner. Another issue is that we are asking all the users to set environment variables on their machines. There are different ways to do it for windows and linux. On Windows, setting machine level environment variables will work, since the Azure agent(the parent process of the extension) will read those and pass them to the extension. But on linux, the Azure agent works as a systemd service, which clears out the environment of the process, so so we need to set the environment variables in either a specific systemd service's config file, or a generic config file for all systemd services. This is not a general solution like for windows, where setting the env. variables across the machine will work.
    • start with environment variables, only for non-authenticated proxy, and then later add inputs which will include proxy credentials as well. This also seems fair, since the existing customers who have asked for proxy support are using non-authenticated proxy.
  • implementation:
    • for any http call the extension makes, we need to redirect it to the proxy server. The proxy may be authenticated, which is identified by whether the username or password is provided by the user.
    • the places where the extension makes http calls are:
      • making a number of direct http calls like during validations, adding tags etc
      • downloading files: for deploymentgroup scenario, we download the extension, and for byos, we download the extension and the enable script.
      • in both the scenarios, we install the agent. In deploymentgroup scenario, installation is part of the extension code, whereas for byos scenario, installation is part of the script, so need to make changes there as well separately.
      • on linux, for both scenarios, we install dependencies via commands, which again require http calls
  • repro setup
    • Proxy server: I created a Windows vm with fiddler installed. The fiddler acts as proxy. The machine needs to accept incoming connections on the port which fiddler listens to.
    • User machine: Another Azure vm behind a firewall, and outbound traffic to only the proxy server is allowed.

ACTION REQUIRED: Microsoft needs this private repository to complete compliance info

There are open compliance tasks that need to be reviewed for your vsts-azurevm-extension repo.

Action required: 4 compliance tasks

To bring this repository to the standard required for 2021, we require administrators of this and all Microsoft GitHub repositories to complete a small set of tasks within the next 60 days. This is critical work to ensure the compliance and security of your microsoft GitHub organization.

Please take a few minutes to complete the tasks at: https://repos.opensource.microsoft.com/orgs/microsoft/repos/vsts-azurevm-extension/compliance

  • The GitHub AE (GitHub inside Microsoft) migration survey has not been completed for this private repository
  • No Service Tree mapping has been set for this repo. If this team does not use Service Tree, they can also opt-out of providing Service Tree data in the Compliance tab.
  • No repository maintainers are set. The Open Source Maintainers are the decision-makers and actionable owners of the repository, irrespective of administrator permission grants on GitHub.
  • Classification of the repository as production/non-production is missing in the Compliance tab.

You can close this work item once you have completed the compliance tasks, or it will automatically close within a day of taking action.

If you no longer need this repository, it might be quickest to delete the repo, too.

GitHub inside Microsoft program information

More information about GitHub inside Microsoft and the new GitHub AE product can be found at https://aka.ms/gim or by contacting [email protected]

FYI: current admins at Microsoft include @kmkumaran, @chshrikh, @bryanmacfarlane, @bishal-pdMSFT

The extension fails with not obvious error: 'ascii' codec can't decode byte 0xe2 in position 3229: ordinal not in range(128)

Hi,

customer reported here microsoft/azure-pipelines-agent#4204 that the extension fails with following error:

VM has reported a failure when processing extension 'Microsoft.Azure.DevOps.Pipelines.Agent'. Error message: "The Extension failed to execute: 'ascii' codec can't decode byte 0xe2 in position 3229: ordinal not in range(128)" More information on troubleshooting is available at https://aka.ms/vmextensionlinuxtroubleshoot

The root cause of this customer issue is that he tried to use agent 2.x on Ubuntu Server 22.04 LTS which is not supported by this major version of agent, but error doesn't give a clue what is going on there. It looks like internal python-script error.

Access to the path 'Agent.Listener.dll' is denied

.45] Execution Complete. ###### Execution Output: C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.18.0.0>Powershell.exe -executionpolicy bypass bin\enable.ps1 WARNING: The names of some imported commands from the module 'RMExtensionHandler' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb. 0 VERBOSE: [2018-03-20T13:28:56] Error occured during Agent download VERBOSE: [2018-03-20T13:28:56] System.Management.Automation.RemoteException: Access to the path 'Agent.Listener.dll' is denied. C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.18.0.0>if errorlevel 1 (exit /b -1 ) Execution Error: ###### Command C:\Packages\Plugins\Microsoft.VisualStudio.Services.TeamServicesAgent\1.18.0.0\enable.cmd of Microsoft.VisualStudio.Services.TeamServicesAgent has exited with Exit code: -1

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.