python library which can be used for vSphere WS SDK - python

I am looking for a python library which can be used for accessing vSphere WS SDK. I have came across two which are having non GPL license:
psphere - https://github.com/jkinred/psphere
pysphere - https://code.google.com/p/pysphere/
Has anybody used these in production. I do not want these for test automation but for a product which could go on a scale of upto 25K VMs.
I saw this post Python - VMWare vSphere (WEB SDK) - SUDS. But there he seems to be using it for test automation only. Also I am not only looking for VM operations but also other objects like Host, Cluster, PortGroup, vDS etc.
Regards,
Litty

VMware has published an initial release of their vSphere SDK for Python two weeks ago: pyVmomi

I don't know psphere or pysphere but I've used Suds to access the vSphere Web Services. Worked pretty well.
The vSphere WS API is SOAP based and,to the best of my knowledge, exposes everything that's possible via vCenter. It's a bit tricky sometimes, but you can do it.
I don't know what you try to achieve but you should be able to do it with Suds. Of course, you'd have to familiarize yourself with the API: vSphere Web Services SDK
At the moment, we're playing around a bit with vCenter Orchestrator. It's a nice tool (since 5.0). Maybe that's an option for you, too.

Related

Any actual Python libraries to work with VmWare VIX API?

Anybody here uses such a library? Or using ctypes with VIX API dll is enough for the task of managing VMWare images?
What do you think and what you can suggest based on your experience? Is there any active and up-to-date solution written in Python?
I'd recommend the official library released by VMware instead: pyVmomi. It mirrors the vSphere Web Services SDK and works in Python 2 or 3.
There's a discussion here: What is the Difference between PySphere and PyVmomi?
It seems that pysphere, vix fit.
It's updated to the last version of VMware API, and it's been developed and maintainted for a while now.
Even though for really complex scripts you should use the official bindings for powershell: VMWare PowerCLI.
If your VirtualMachine objects are part of a vSphere environment you should use pyVmomi and use the GuestOperations. VIX has actually been deprecated from vSphere https://www.vmware.com/support/developer/vix-api/VIX-1.14-ReleaseNotes.html#Deprecate and should really only be used for Fusion or Workstation.
I used ctypesgen to generate a ctypes wrapper for the VIX dylib and wrote some helper classes (Host, VM, Job, etc.). I use it to revert VMs to named snapshots and run scripts in the guest.

can python (version 2.6 ) create web services on the windows(32)?

can python (version 2.6 ) create web services on the windows(32)? i hava a program that need python create a web service project.python 2.6 linked to mysql.
In China , less men develop it,so i can't find modules for web services!!
if not,Linux may be the next step.
http://wiki.python.org/moin/WebFrameworks. There's a ton of web frameworks for Python that will work on any platform. I'm not sure exactly what you mean by "web service", but I promise you that you'll find something that meets your needs on that list.
You can start by taking a look at:
Best way to create a simple python web service
Werkzeug
WebServices - PythonInfo Wiki
Dive Into Python: SOAP Web Services
Python Web Services

webservices in python

i want to create a webservice (SOAP & REST) in python which cab be called from iphone,
now i have install python 2.7.1 on Ubuntu 10.04.2 LTS using Putty. so now i am searching for a nice and easy framework that helps me in creating webservices and web programming.
I have searched a lot but confused with the combination of framworks.
Duplicate of
Python soap using soaplib (server) and suds (client)
Suds/soaplib is fine for working wit SOAP client/server side.
REST is a different story. I think you should first choose one of the many Python web-frameworks.
"Pyramid" - part of the Pylons projects - is a very strong but open-to-all-sides webframework which could be used for both SOAP and REST-ish services.
http://docs.pylonsproject.org/
For REST, I am very satisfied with Flask.

Communication between Windows Client and Linux Server

I want to provide my colleagues with an interface (using Windows Forms or WPF) to control the states of virtual machines (KVM based) on a linux host. On the command line of this server, I'm using a tool, called libvirt, which provides python bindings to access its functionality.
What whould be the best pratice to remotely access several function like libvirt or reading logfiles on the server. I thought about a REST Full Webservice generated by Python. Are there other viable options to consider?
Thanks,
Henrik
I'd develop an intranet web application, using any python web framework of choice.
That way you don't have to develop/install software on your client. They just point the browser and it works.
Because you are using a server-side tool that has Python bindings, you should give a serious look at PYRO which is a Python RPC library.
http://pyro.sourceforge.net/
To use this you would also have to use Python on the client, but that shouldn't be a problem. If you haven't start writing your client, then you could do it all in IronPython. Or, if you need to add this to an already existing client, then you could still bind in either IronPython or CPython as an embedded scripting engine.
For more on PYRO and Ironpython, see this wiki page http://www.razorvine.net/python/PyroAndIronpython
Proxmox VE is a complete solution to manage KVM (and OpenVZ) based virtual machines, including a comprehensive web console, so maybe you can get a full solution without developing anything?

Google App Engine compatibility layer

I'm planning an application running on Google App Engine. The only worry I would have is portability. Or just the option to have the app run on a local, private cluster.
I expected an option for Google App Engine applications to run on other systems, a compatibility layer, to spring up. I could imagine a GAE compatible framework utilizing Amazon SimpleDB or CouchDB to offer near 100% compatibility, if needs be through an abstraction layer. I prefer Python though Java would be acceptable.
However, as far as I know, none such facility exists today. Am I mistaken and if so where could I find this Googe App Engine compatibility layer. If I'm not, the questions is "why"? Are there unforetold technical issues or is there just no demand from the market (which would potentially hint at low rates of GAE adoption).
Regards,
Iwan
The appscale project is designed to do exactly this. See https://github.com/AppScale/appscale/wiki
I could imagine a GAE compatible framework utilizing Amazon SimpleDB or CouchDB
to offer near 100% compatibility
GAE/J uses DataNucleus for persistence. DataNucleus also has plugins for RDBMS, LDAP, XML, Excel, ODF, OODBMS, HBase (HADOOP), and Amazon S3. Consequently the persistence layer (using JDO or JPA) could, in principle, be used across any of those. To write a DataNucleus plugin for Amazon SimpleDB shouldn't be too hard either, or CouchDB.
--Andy (DataNucleus)
Typhoonae Might be interesting to you, it is a new project to implement a full production server stack using exisiting technologies, capable of hosting AppEngine instances. It also aims to do this while staying compatable with the AppEngine API, to allow easy portability. I'm not sure what stage they have reached with the integration, but it should definatley be worth a look.
Another taken from this question:
Waxy
If you develop with web2py your code will run GAE other architectures wihtout changes using any of the 10 supported relational databases. The compatibility layer covers database api (including blobs and listproperty), email, and fetching).

Categories

Resources