The posted test case works, and launchpad-buildd seems to be happy now.

** Description changed:

  The LXD 2.0.11 SRU in xenial broke pylxd and hence broke Launchpad
  builds, as visible here:
  
  
https://launchpadlibrarian.net/348160479/buildlog_snap_ubuntu_xenial_arm64_core_BUILDING.txt.gz
  
    /usr/lib/python2.7/dist-packages/pylxd/model.py:113: UserWarning: Attempted 
to set unknown attribute "used_by" on instance of "Profile"
      key, self.__class__.__name__
    /usr/lib/python2.7/dist-packages/pylxd/model.py:113: UserWarning: Attempted 
to set unknown attribute "description" on instance of "Container"
      key, self.__class__.__name__
    Traceback (most recent call last):
      File "/usr/share/launchpad-buildd/slavebin/in-target", line 27, in 
<module>
        sys.exit(main())
      File "/usr/share/launchpad-buildd/slavebin/in-target", line 23, in main
        return args.operation.run()
      File "/usr/lib/python2.7/dist-packages/lpbuildd/target/lifecycle.py", 
line 40, in run
        self.backend.start()
      File "/usr/lib/python2.7/dist-packages/lpbuildd/target/lxd.py", line 380, 
in start
        container.start(wait=True)
      File "/usr/lib/python2.7/dist-packages/pylxd/container.py", line 163, in 
start
        wait=wait)
      File "/usr/lib/python2.7/dist-packages/pylxd/container.py", line 151, in 
_set_state
        self.sync()
      File "/usr/lib/python2.7/dist-packages/pylxd/model.py", line 154, in sync
        setattr(self, key, val)
      File "/usr/lib/python2.7/dist-packages/pylxd/model.py", line 135, in 
__setattr__
        return super(Model, self).__setattr__(name, value)
    AttributeError: 'Container' object has no attribute 'description'
  
  I initially thought this would require reverting LXD, but on inspection
  it's just adding some new attributes and it's really not its fault that
  pylxd is unnecessarily strict.  This was fixed in pylxd upstream a while
  ago (https://github.com/lxc/pylxd/pull/234), and the fix is in 2.2.4 so
  >=artful is already fixed.  zesty in principle requires the fix but I
  can't actually reproduce the bug there, so it's probably best to leave
  it alone for the time being.  However, xenial's pylxd is currently
  broken.
  
  [Test Case]
  
    >>> from pylxd import Client
    >>> client = Client()
    >>> container = client.containers.create({"name": "test", "architecture": 
"x86_64", "profiles": ["default"], "source": {"type": "image", "mode": "pull", 
"server": "https://cloud-images.ubuntu.com/releases";, "protocol": 
"simplestreams", "alias": "xenial"}}, wait=True)
-   >>> container.start(wait=True)  # should produce no warnings or exceptions
+   >>> container.start(wait=True)  # should produce no exceptions
  
  [Regression Potential]
  
  The fix is to the code that marshals objects between the LXD server and
  the Python client code, so anything around there could in principle go
  wrong.  I think running launchpad-buildd against it ought to exercise it
  fairly well.

** Tags removed: verification-needed verification-needed-xenial
** Tags added: verification-done-xenial

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1736454

Title:
  pylxd cannot start containers with LXD 2.0.11

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-pylxd/+bug/1736454/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to