← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1249102] Re: nova docker - snapshotting a vm renders image non-deployable

 

Closing since the bug appears to be an upstream docker bug

** Changed in: nova
       Status: New => Confirmed

** Changed in: nova
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1249102

Title:
  nova docker - snapshotting a vm renders image non-deployable

Status in OpenStack Compute (Nova):
  Invalid

Bug description:
  Using devstack (master branch) + devstack + docker 0.6.6. What I'm
  seeing is that when you deploy a VM from a docker based image in
  glance, then snapshot that VM, the original image becomes non-runnable
  from a docker perspective.

  Steps to repo:
  - push a docker image into glance.. I'm using the centos docker image
  - deploy a vm via nova docker for that image
  - do a snapshot of the vm you just created via nova
  - try to deploy the initial image again
  --> fails

  What appears to be happening is that the snapshot process works (I see
  a new image). However the initial base image in glance no longer has a
  name. So after you snapshot the VM, the image that VM was created from
  now looks like this in glance.

  glance before snapshot (I can deploy this one):
  | f4034eef-cac6-4059-b3f1-c3b080bc70e4 | centos:latest           | raw         | docker           | 97706298

  glance after snapshot (same image -- can't deploy this):
  | f4034eef-cac6-4059-b3f1-c3b080bc70e4 | None                    | raw         | docker           | 97706298

  
  When I then try to deploy the initial image the docker.log has, the VM deploy fails. I see this in docker.log:

  2013/11/07 15:20:43 GET /v1.4/images/198.1.0.9:5042/None/json
  [error] api.go:1025 Error: No such image: 198.1.0.9:5042/None
  [error] api.go:79 HTTP Error: statusCode=404 No such image: 198.1.0.9:5042/None
  [debug] api.go:999 Calling POST /containers/create
  2013/11/07 15:20:43 POST /v1.4/containers/create
  [error] api.go:1025 Error: No such image: 198.1.0.9:5042/None (tag: latest)
  [error] api.go:79 HTTP Error: statusCode=404 No such image: 198.1.0.9:5042/None (tag: latest)
  [debug] api.go:999 Calling POST /images/create
  2013/11/07 15:20:43 POST /v1.4/images/create?fromImage=198.1.0.9&tag=5042/None
  [error] api.go:1025 Error: Invalid repository name (ex: "registry.domain.tld/myrepos")
  [error] api.go:79 HTTP Error: statusCode=500 Invalid repository name (ex: "registry.domain.tld/myrepos")

  
  After the fact I do see my image still in docker:

  198.1.0.9:5042/centos             latest              539c0211cd76
  7 months ago        322.1 MB (virt

  
  So in summary, snapshot is hosing up the VM's image... 

  Let me also note that with the current way the docker virt driver
  works, you cannot easily use the novaclient for snapshotting.

  For example some py code like this:

  image_uuid = novaclient.servers.create_image(server, new_image_name)

  works fine with non-docker snapshots -- but with docker that
  image_uuid does not exist. This is really a pain for those of us
  trying to integrate with docker virt.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1249102/+subscriptions