Coder Social home page Coder Social logo

How to test WALinuxAgent about walinuxagent HOT 8 CLOSED

azure avatar azure commented on June 12, 2024
How to test WALinuxAgent

from walinuxagent.

Comments (8)

szarkos avatar szarkos commented on June 12, 2024

Can you take a look at the 2.0.0 agent: https://github.com/WindowsAzure/WALinuxAgent/tree/2.0

It is now much easier to add support for new distributions. Take a look at the "AbstractDistro" class and how other distribution classes (i.e. redhatDistro, debianDistro, etc.) inherit this class and override functions to properly specialize the distribution. This avoids all that "isDebian()" or "isSUSE()" etc. boolean logic we had sprinkled everywhere in the 1.x agent.

This allows you to create your own class to specialize your own distro without potentially impacting other distributions (or having to test multiple distributions if you make even a small change).

As for testing, you can do some testing locally by commenting things and adding print statements. But in the cloud if you run into a provisioning failure and cannot log into the host the best way to troubleshoot is to spin up another working VM and mount the VHD of the failed VM to the working VM. This will allow you to get access to the logs (i.e. /var/log/waagent.log). You can also download the VHD locally and mount it, but that is much more time consuming (and costs bandwidth).

Lastly, if this is free a distribution we can download (i.e. not a proprietary Linux appliance or similar) then let me know and we can possibly take a look and provide some hints as to what will/won't work or what may need changing.

I hope this helps. Please let me know how it goes or if you have questions.

Thanks,
Steve

from walinuxagent.

jsimbola avatar jsimbola commented on June 12, 2024

Hello !

From my side, I would like to port WALinuxAgent to debian squeeze. I know this is an old release but I need to make it work on Azure...
I will try to follow your instructions but if parts of that job is already done or if you have some clue, I would be very interrested !

Best regards,
Julien

from walinuxagent.

szarkos avatar szarkos commented on June 12, 2024

There will probably be a couple issues here, primarily around ensuring the LIS drivers are installed and up-to-date. Otherwise, I don't think the agent will have too much trouble specializing the image, as long as it runs.

  1. What version of Python are you running? We'll want v2.5 or higher for the agent.
  2. Availability of our Linux Integration Services drivers. AFAIK, Debian 7.0 was the first to have these integrated easily into the kernel (because the drivers are now all upstream). The drivers were available with older Debian releases, but it took more time to get working and any older Debian packages containing our drivers may not be maintained. If possible I might recommend testing with a newer kernel that has our drivers available.

Thanks,
Steve

from walinuxagent.

g-k-r avatar g-k-r commented on June 12, 2024

I tried squeeze in February this year and it was pretty hopeless. if you try it,make sure to use the backports kernel.
Wheezy works, but you need to compile your own isc-dhcp-client in case you want to use it because it has a bug, that is triggered by the Azure DNS.
I am not sure whether it is really needed but if you want to test it you also have to compile the hyperv part of the linux tools.
I put my stuff on https://build.opensuse.org/project/show/home:gkr but you probably don't want to use these repos, as I do not maintain the stuff frequently. i.e. no security updates etc.
if you need to use the resource disk (its much faster than vhds) make sure you access it only after the hook has been triggered (i.e. the disk is mounted)
if you want multiple machines to play together you probably want to parse the topology file and adapt your /etc/hosts accordingly. I am using xmlstarlet for this but since i do not have a description of the format it may break with any azure update.

Good luck.

@szarkos Steve, do you have a Roadmap for walinuxagent and a documentation of the retrieved xml files somewhere ? Will MS at some point maintain a Debian wheezy package ?

from walinuxagent.

szarkos avatar szarkos commented on June 12, 2024

For the XML files, the docs we have right now are what's in the readme and the code comments. Honestly, I'll have to check to see if we have anything more that is external facing. Did you have any specific questions about these files or the contents?

As far as the roadmap, to be clear are you interested specifically in new features we might add to the agent, or more of a high-level Azure roadmap regarding support for specific distributions (i.e. Wheezy)? Assuming the former we will try to do most development in the open in a feature branch, and the 2.0 agent was all about being able to support more distributions better/easier. But now that 2.0 is out I don't yet have a 6-12 month list of features I could post. But I'll make that a todo so we communicate changes better/sooner.

The packages themselves are typically managed by someone in the community. Canonical has donated much of the Debian packaging (which we've pushed into the repo to hopefully help Debian and other derivatives), and we've worked with OpenLogic and SUSE on the RPM packaging. But generally the packages are maintained by someone else in that community.

AFAIK, the Debian package is maintained by Arnaud Patard. I believe he was going to update the package to use the 1.4.0 agent at some point. If the agent or the packaging isn't working correctly on the latest Wheezy please file an issue and I'll take a look.

Some of this discussion may be off topic for this issue. Feel free to open a new issue, or if you like shoot me an email ([email protected]) and we can discuss any of the above in more detail.

Thanks!
Steve

from walinuxagent.

jsimbola avatar jsimbola commented on June 12, 2024

Hi

Thank you for your answers. I'm still working on that project and I'll keep you updated if I have significant results.
To answer you Steve, I'm under Python 2.6.6. I've ensured that all our packages are in accordance with the requierements of the wheezy.

@g-k-r could you create a download account on your opensuse project please ? I would like to see your linux-tools stuff...

Thanks !
Julien

from walinuxagent.

g-k-r avatar g-k-r commented on June 12, 2024

@jsimbola i think everyone logged in can download the source. if it doesn't work send me an email with your obs login name so i can add you explicitly.

from walinuxagent.

g-k-r avatar g-k-r commented on June 12, 2024

@szarkos I'll try to put it into an email but might take some time

from walinuxagent.

Related Issues (20)

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.