Introducing pylxd

four-containers

In part of my work for nova-compute-lxd, we use a combination of httplib, UNIX domain sockets, and JSON to talk to the LXD daemon via the REST API. Talking to various people involved in the LXD project, I have decided to split this part of nova-compute-lxd into its own project called pylxd. Pylxd is a general python library that you can use to interact with LXD in order to do container operations.

Right now, it is about 80% complete, the bits that are missing is that it needs more unit tests and needs more container operations (snapshots, running commands in the container, etc). That functionality will be coming in later releases of pylxd. I intend to use pylxd in the next version of nova-compute-lxd for the Liberty release of OpenStack as well. I am sure that there is other use cases that developers and users can use pylxd for.

To use pylxd, you just have to clone the git tree and build it. An example usage of pylxd is that you need a way to display the ‘/etc/hosts’ from your running ‘test1′ container. With pylxd this is pretty simple to do:

#!/usr/bin/python

from pylxd import api
c = api.API()
print c.get_container_file(‘test1′, ‘/etc/hosts’)

The result of the above snippet is that the ‘/etc/hosts’ from the ‘test1′ container will be displayed. Pretty simple eh?

The code for pylxd is available on github. Please report give it a twirl, please report bugs, and would love to get feedback.

About the author

Chuck's photo

Chuck Short is a software engineer at Canonical. Originally from Vancouver but based in Ottawa, Chuck’s mission is to make sure OpenStack is a first class experience for both the X86 world and ARM world. You can follow his blog at zulcss.wordpress.com

Ubuntu cloud

Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.

Newsletter signup

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

How to integrate Ubuntu with Active Directory

Ubiquitous use of Microsoft tools coupled with increasing popularity of open source Linux software for enterprise presents new challenges for non-Microsoft operating systems that require seamless integration with Active Directory for authentication and identity management. This …

OpenStack Charms 19.07 – Percona Cluster Cold Start, DVR SNAT and more

Canonical is proud to announce the availability of OpenStack Charms 19.07. This new release introduces a range of exciting features and several improvements which enhance Charmed OpenStack across various areas. Let’s talk about a few notable …

A shift to the Linux app store experience

Linux software developers historically have faced a number of challenges including fragmentation, distribution complexity and a lack of metrics into the success of their applications. Once an application is built, the journey does not end there …