docker-archive / docker-registry

This is **DEPRECATED**! Please go to https://github.com/docker/distribution
Apache License 2.0
2.88k stars 879 forks source link

glance storage driver snapshot fails -- metadata truncated #327

Open bodenr opened 10 years ago

bodenr commented 10 years ago

Using the docker-registry (samalba/docker-registry) with the latest openstack + nova-docker driver, I get an error when trying to snapshot a container created via nova.

Repo:

error stack with a little extra debug printing:

2014-04-25 12:09:19,339 INFO: Starting new HTTP connection (1): 10.16.109.35
2014-04-25 12:09:19,525 DEBUG: "POST /v2.0/tokens HTTP/1.1" 200 9402
2014-04-25 12:09:19,526 DEBUG: Parsed 2014-04-25T13:09:19Z into {'tz_sign': None, 'second_fraction': None, 'hour': u'13', 'daydash': u'25', 'tz_hour': None, 'month': None, 'timezone': u'Z', 'second': u'19', 'tz_minute': None, 'year': u'2014', 'separator': u'T', 'monthdash': u'04', 'day': None, 'minute': u'09'} with default timezone <iso8601.iso8601.Utc object at 0x3089750>
2014-04-25 12:09:19,526 DEBUG: Got u'2014' for 'year' with default None
2014-04-25 12:09:19,526 DEBUG: Got u'04' for 'monthdash' with default 1
2014-04-25 12:09:19,526 DEBUG: Got 4 for 'month' with default 4
2014-04-25 12:09:19,526 DEBUG: Got u'25' for 'daydash' with default 1
2014-04-25 12:09:19,526 DEBUG: Got 25 for 'day' with default 25
2014-04-25 12:09:19,526 DEBUG: Got u'13' for 'hour' with default None
2014-04-25 12:09:19,526 DEBUG: Got u'09' for 'minute' with default None
2014-04-25 12:09:19,527 DEBUG: Got u'19' for 'second' with default None
2014-04-25 12:09:19,527 DEBUG: curl -i -X GET -H 'X-Auth-Token: MIIQfgYJKoZIhvcNAQcCoIIQbzCCEGsCAQExCTAHBgUrDgMCGjCCDtQGCSqGSIb3DQEHAaCCDsUEgg7BeyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxNC0wNC0yNVQxMjowOToxOS40NTExNDAiLCAiZXhwaXJlcyI6ICIyMDE0LTA0LTI1VDEzOjA5OjE5WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImRlc2NyaXB0aW9uIjogbnVsbCwgImVuYWJsZWQiOiB0cnVlLCAiaWQiOiAiYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQiLCAibmFtZSI6ICJhZG1pbiJ9fSwgInNlcnZpY2VDYXRhbG9nIjogW3siZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc0L3YyL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc0L3YyL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgImlkIjogIjdkYmIwNjc4NDQzYTQwOGQ4MWE1OWVkNTE2NzFiNjAzIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzQvdjIvYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZSIsICJuYW1lIjogIm5vdmEifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzYvdjIvYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQiLCAicmVnaW9uIjogIlJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzYvdjIvYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQiLCAiaWQiOiAiMTMwNjI5MDkwYTRjNGQwMTlkNGVhYjQ5MDY1NDQ4NGUiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4xNi4xMDkuMzU6ODc3Ni92Mi9hMzIxMTJlYmU1YmE0MmY0YTczZTUwODA2YTNjNDQ2NCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJ2b2x1bWV2MiIsICJuYW1lIjogImNpbmRlcnYyIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc0L3YzIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc0L3YzIiwgImlkIjogIjQ2MzdiNGVjNmNjNjRhZDc4OTkzNjU0ODQ4MmJkODg3IiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzQvdjMifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZXYzIiwgIm5hbWUiOiAibm92YXYzIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTozMzMzIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTozMzMzIiwgImlkIjogIjVjMmVlNjRkN2QyNzQzNTNiMjRmMTQ3Y2VlOGZiZGYyIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1OjMzMzMifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiczMiLCAibmFtZSI6ICJzMyJ9LCB7ImVuZHBvaW50cyI6IFt7ImFkbWluVVJMIjogImh0dHA6Ly8xMC4xNi4xMDkuMzU6OTI5MiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4xNi4xMDkuMzU6OTI5MiIsICJpZCI6ICIxODcwNzNkODk1YWM0NTI4OTdmZjVmOWZkYTU4Mzk3NiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo5MjkyIn1dLCAiZW5kcG9pbnRzX2xpbmtzIjogW10sICJ0eXBlIjogImltYWdlIiwgIm5hbWUiOiAiZ2xhbmNlIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4MDAwL3YxIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4MDAwL3YxIiwgImlkIjogIjQxYWFjYjM1NDMzNjRkOWM5MDkwZWY0NTdmOGU0OTZkIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1OjgwMDAvdjEifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY2xvdWRmb3JtYXRpb24iLCAibmFtZSI6ICJoZWF0In0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc2L3YxL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4Nzc2L3YxL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgImlkIjogIjQ1N2MyMmIyODA3MTRjZDJhMTk4OTE3NzM5YmM4ZDdlIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzYvdjEvYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAidm9sdW1lIiwgIm5hbWUiOiAiY2luZGVyIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4NzczL3NlcnZpY2VzL0FkbWluIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4NzczL3NlcnZpY2VzL0Nsb3VkIiwgImlkIjogIjFkNDM3NjhlZTAyYzQxMTFhMDZiNjVhZjkyMWNhMTBmIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1Ojg3NzMvc2VydmljZXMvQ2xvdWQifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiZWMyIiwgIm5hbWUiOiAiZWMyIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4MDA0L3YxL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo4MDA0L3YxL2EzMjExMmViZTViYTQyZjRhNzNlNTA4MDZhM2M0NDY0IiwgImlkIjogIjEzMzI5ZDQ0ZDAzNDRkZDA5Y2NmZDY3Njk5OTI0YjFlIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1OjgwMDQvdjEvYTMyMTEyZWJlNWJhNDJmNGE3M2U1MDgwNmEzYzQ0NjQifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAib3JjaGVzdHJhdGlvbiIsICJuYW1lIjogImhlYXQifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1OjM1MzU3L3YyLjAiLCAicmVnaW9uIjogIlJlZ2lvbk9uZSIsICJpbnRlcm5hbFVSTCI6ICJodHRwOi8vMTAuMTYuMTA5LjM1OjUwMDAvdjIuMCIsICJpZCI6ICIwOTVkZWMzNTc3NGI0NTJjYTRmMTFkY2ViMzgyYjc5MiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjE2LjEwOS4zNTo1MDAwL3YyLjAifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiaWRlbnRpdHkiLCAibmFtZSI6ICJrZXlzdG9uZSJ9XSwgInVzZXIiOiB7InVzZXJuYW1lIjogImFkbWluIiwgInJvbGVzX2xpbmtzIjogW10sICJpZCI6ICJkMjUyMGQzMjRhNmU0NDlmOGIxNzM3YTU5MDU2YjAwMyIsICJyb2xlcyI6IFt7Im5hbWUiOiAiX21lbWJlcl8ifSwgeyJuYW1lIjogImFkbWluIn0sIHsibmFtZSI6ICJoZWF0X3N0YWNrX293bmVyIn1dLCAibmFtZSI6ICJhZG1pbiJ9LCAibWV0YWRhdGEiOiB7ImlzX2FkbWluIjogMCwgInJvbGVzIjogWyI5ZmUyZmY5ZWU0Mzg0YjE4OTRhOTA4NzhkM2U5MmJhYiIsICJiZDA0OWQyNmI5NzI0ZTE0YjI1MWYyODg5Zjc0MDg2MiIsICI4NzhkOTFkYWQyNWQ0ZDlkYWM4YmMzMWJmNDc2MmU5ZSJdfX19MYIBgTCCAX0CAQEwXDBXMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVW5zZXQxDjAMBgNVBAcMBVVuc2V0MQ4wDAYDVQQKDAVVbnNldDEYMBYGA1UEAwwPd3d3LmV4YW1wbGUuY29tAgEBMAcGBSsOAwIaMA0GCSqGSIb3DQEBAQUABIIBAIVJpXDwDaGX2t4dm+Sn3OJF+t7Rp+zdhjzbiexKuRdwZ5G5sm9zOJGBlQMRugJCn5QSUw8zZjWjrYpxLke+N5hDiH10G-Rzy99qQvAawHenquyxLGkVcnREdWa0eb202jxPGO9UxZHUliZAWHbAhKc-nYBFRltJc5gzH1MfBsMe4ax9Kt0Gd+1ZKdNOBhVKbckG7kp0HfaNdSnpKHsmG6TaSoPtI05ba-fg+6uW7pcVAUFgBwV6BvPHGXURjduHpaIJD-OwXaVCtqQZADZDXnMdmAakQ7tbBG2tUCGi1tMQCy9WaXmY0jTjs0mOQ4Ta0qf5cwhKvxnkjMja+L2NqBE=' -H 'Content-Type: application/json' -H 'User-Agent: python-glanceclient' http://10.16.109.35:9292/v1/images/detail?property-id=a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c&container_format=docker&limit=20&disk_format=raw
2014-04-25 12:09:19,615 DEBUG:
HTTP/1.1 200 OK
date: Fri, 25 Apr 2014 12:09:19 GMT
content-length: 4776
content-type: application/json; charset=UTF-8
x-openstack-request-id: req-187c197b-1794-4f85-83e3-e8fe91678cb4

{"images": [{"status": "queued", "deleted_at": null, "name": "sample-sql-snap", "deleted": false, "container_format": "docker", "created_at": "2014-04-25T12:08:59", "disk_format": "raw", "updated_at": "2014-04-25T12:08:59", "min_disk": 20, "protected": false, "id": "8ec2834e-6f2d-4983-9cf2-c720647510fe", "min_ram": 0, "checksum": null, "owner": "a32112ebe5ba42f4a73e50806a3c4464", "is_public": false, "virtual_size": null, "properties": {"instance_uuid": "03e792ba-84c8-476d-8323-cb704674d3d6", "instance_type_memory_mb": "2048", "instance_type_swap": "0", "instance_type_flavorid": "2", "image_type": "snapshot", "instance_type_id": "5", "instance_type_name": "m1.small", "instance_type_ephemeral_gb": "0", "base_image_ref": "aca0562d-b832-48ca-9a14-9bd6ac39e9d8", "instance_type_rxtx_factor": "1.0", "meta_json": "{\"id\":\"a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c\",\"parent\":\"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\",\"created\":\"2013-10-08T15:09:32.34903404+02:00\",\"container\":\"ecd3c3056163c20553819747b32c4aa0383f23dcc52254", "network_allocated": "True", "meta__checksum": "sha256:5f6ff734ceb99b234ca5160b53ebfcd5ce73c760ad8bc26f6b56bc8c2e72484e", "instance_type_vcpus": "1", "meta_ancestry": "[\"a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c\", \"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\", \"34f4fed0eab2191ba183faead21095fcee84a7bf00f5807e6bc2aa3cfd63fb34\", \"98c20706dd6c7f1427df450e602911309c6733704f78a6d9a", "user_id": "d2520d324a6e449f8b1737a59056b003", "instance_type_root_gb": "20", "id": "a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c"}, "size": 0}, {"status": "active", "deleted_at": null, "name": "mysql:latest", "deleted": false, "container_format": "docker", "created_at": "2014-04-25T11:52:25", "disk_format": "raw", "updated_at": "2014-04-25T11:52:31", "min_disk": 0, "protected": false, "id": "aca0562d-b832-48ca-9a14-9bd6ac39e9d8", "min_ram": 0, "checksum": "2fcaca8df97769300b9662a43f6622a3", "owner": "a32112ebe5ba42f4a73e50806a3c4464", "is_public": true, "virtual_size": null, "properties": {"meta_ancestry": "[\"a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c\", \"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\", \"34f4fed0eab2191ba183faead21095fcee84a7bf00f5807e6bc2aa3cfd63fb34\", \"98c20706dd6c7f1427df450e602911309c6733704f78a6d9afcde9ff447fb35b\", \"1becb633a31ad405e63520380fcf27a1fac322364eedadc3f3a36447e8df5faf\", \"97861c58f3e643f425de973131d0b9097e02aacbe7975e3096605928e2d29f01\", \"3d75a3f1391f17caa8cd83d87eb675c9026869b8bd90d108af3a33544759c555\", \"f63558984b854b179f799a617cd8c9d64b1bc629eabce29d3cbc9bc305874fbb\", \"e6e7b84765282429acd3cb29a72a2d0db77064b8d8ec03629f44d0feb34048cb\", \"8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c\"]", "meta_json": "{\"id\":\"a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c\",\"parent\":\"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\",\"created\":\"2013-10-08T15:09:32.34903404+02:00\",\"container\":\"ecd3c3056163c20553819747b32c4aa0383f23dcc52254f5f9d488b60cfbd985\",\"container_config\":{\"Hostname\":\"d03b89660aec\",\"Domainname\":\"\",\"User\":\"\",\"Memory\":0,\"MemorySwap\":0,\"CpuShares\":0,\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"PortSpecs\":[\"3306\"],\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"HOME=/\",\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) EXPOSE [3306]\"],\"Dns\":null,\"Image\":\"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\",\"Volumes\":null,\"VolumesFrom\":\"\",\"WorkingDir\":\"\",\"Entrypoint\":null,\"NetworkDisabled\":false,\"Privileged\":false},\"docker_version\":\"0.6.3\",\"author\":\"Guillermo \u00c1lvarez \\u003cguillermo@cientifico.net\\u003e\",\"config\":{\"Hostname\":\"d03b89660aec\",\"Domainname\":\"\",\"User\":\"\",\"Memory\":0,\"MemorySwap\":0,\"CpuShares\":0,\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"PortSpecs\":[\"3306\"],\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"HOME=/\",\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"/usr/sbin/mysqld-wrapper\"],\"Dns\":null,\"Image\":\"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102\",\"Volumes\":null,\"VolumesFrom\":\"\",\"WorkingDir\":\"\",\"Entrypoint\":null,\"NetworkDisabled\":false,\"Privileged\":false},\"architecture\":\"x86_64\",\"Size\":0}", "id": "a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c", "meta__checksum": "sha256:5f6ff734ceb99b234ca5160b53ebfcd5ce73c760ad8bc26f6b56bc8c2e72484e"}, "size": 180}]}

>>>>>>>>PROPNAME: ancestry --- <Image {u'status': u'queued', u'virtual_size': None, u'name': u'sample-sql-snap', u'deleted': False, u'container_format': u'docker', u'created_at': u'2014-04-25T12:08:59', u'disk_format': u'raw', u'updated_at': u'2014-04-25T12:08:59', u'properties': {u'instance_uuid': u'03e792ba-84c8-476d-8323-cb704674d3d6', u'instance_type_memory_mb': u'2048', u'instance_type_swap': u'0', u'meta__checksum': u'sha256:5f6ff734ceb99b234ca5160b53ebfcd5ce73c760ad8bc26f6b56bc8c2e72484e', u'user_id': u'd2520d324a6e449f8b1737a59056b003', u'image_type': u'snapshot', u'instance_type_name': u'm1.small', u'instance_type_id': u'5', u'instance_type_ephemeral_gb': u'0', u'id': u'a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c', u'instance_type_rxtx_factor': u'1.0', u'meta_json': u'{"id":"a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c","parent":"1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102","created":"2013-10-08T15:09:32.34903404+02:00","container":"ecd3c3056163c20553819747b32c4aa0383f23dcc52254', u'network_allocated': u'True', u'instance_type_flavorid': u'2', u'meta_ancestry': u'["a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c", "1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102", "34f4fed0eab2191ba183faead21095fcee84a7bf00f5807e6bc2aa3cfd63fb34", "98c20706dd6c7f1427df450e602911309c6733704f78a6d9a', u'instance_type_vcpus': u'1', u'instance_type_root_gb': u'20', u'base_image_ref': u'aca0562d-b832-48ca-9a14-9bd6ac39e9d8'}, u'owner': u'a32112ebe5ba42f4a73e50806a3c4464', u'protected': False, u'min_ram': 0, u'checksum': None, u'min_disk': 20, u'is_public': False, u'deleted_at': None, u'id': u'8ec2834e-6f2d-4983-9cf2-c720647510fe', u'size': 0}>
!!!ANCESTERY!!!->["a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c", "1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102", "34f4fed0eab2191ba183faead21095fcee84a7bf00f5807e6bc2aa3cfd63fb34", "98c20706dd6c7f1427df450e602911309c6733704f78a6d9a
2014-04-25 12:09:19,616 ERROR: Exception on /v1/images/f6e380425374d6cf2ea08d4b38058b97ea71688ecfc0b66f09349bddf2b21aaa/json [PUT]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/docker-registry/registry/toolkit.py", line 237, in wrapper
    return f(*args, **kwargs)
  File "/docker-registry/registry/images.py", line 415, in put_image_json
    layers.generate_ancestry(image_id, parent_id)
  File "/docker-registry/lib/layers.py", line 41, in generate_ancestry
    data = json.loads(data)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/__init__.py", line 461, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 374, in decode
    obj, end = self.raw_decode(s)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 393, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
JSONDecodeError: Unterminated string starting at: line 1 column 206 (char 205)
2014-04-25 12:09:19,616 ERROR: Exception on /v1/images/f6e380425374d6cf2ea08d4b38058b97ea71688ecfc0b66f09349bddf2b21aaa/json [PUT]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1687, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1360, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1358, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1344, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/docker-registry/registry/toolkit.py", line 237, in wrapper
    return f(*args, **kwargs)
  File "/docker-registry/registry/images.py", line 415, in put_image_json
    layers.generate_ancestry(image_id, parent_id)
  File "/docker-registry/lib/layers.py", line 41, in generate_ancestry
    data = json.loads(data)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/__init__.py", line 461, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 374, in decode
    obj, end = self.raw_decode(s)
  File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 393, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
JSONDecodeError: Unterminated string starting at: line 1 column 206 (char 205)
10.16.109.34 - - [25/Apr/2014:12:09:19] "PUT /v1/images/f6e380425374d6cf2ea08d4b38058b97ea71688ecfc0b66f09349bddf2b21aaa/json HTTP/1.1" 500 291 "-" "docker/0.10.0 go/go1.2.1 git-commit/dc9c28f kernel/3.8.0-38-generic os/linux arch/amd64"
2014-04-25 12:09:19,619 INFO: 10.16.109.34 - - [25/Apr/2014:12:09:19] "PUT /v1/images/f6e380425374d6cf2ea08d4b38058b97ea71688ecfc0b66f09349bddf2b21aaa/json HTTP/1.1" 500 291 "-" "docker/0.10.0 go/go1.2.1 git-commit/dc9c28f kernel/3.8.0-38-generic os/linux arch/amd64"

The problem appears to be the meta_ancestry image metadata property which is set on the glance image. As you can see in the above in this case its:

u'meta_ancestry': u'["a6ebf5fc837e77b2227d7a153277ea90b2e735afad4a39b86b8208046231bd2c", "1c90f6fb88da3b6cbcc0e484b4f6e3ee50c9347af9d625d8ba03acc1b0234102", "34f4fed0eab2191ba183faead21095fcee84a7bf00f5807e6bc2aa3cfd63fb34", "98c20706dd6c7f1427df450e602911309c6733704f78a6d9a',

Obviously the above is not proper json -- it does not have the trailing "] to complete the json array.

I tied to track this one down for awhile but was unable to determine how this meta_ancestry property is getting truncated. It is truncated in the actual image stored in glance, but not sure why/how. I'm not hitting any glance max header limits so I dont believe that the be the problem.

If I get more time I'll dig, but for the time being I did a very bad hack in the layers.py to work around this for my testing.

dmp42 commented 10 years ago

@bodenr related to #256 ?

bodenr commented 10 years ago

@dmp42 - could be... However since #256 was created I believe glance added a property to configure the header line length (see: max_header_line here: http://docs.openstack.org/trunk/config-reference/content/section_glance-api.conf.html). In my testing that line length for glance should have been sufficiently large based on my calculations.

dmp42 commented 10 years ago

Ok.