Ceph backports status report

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Ceph co-developers, 

Here is a list of the pending backports. If your name shows on an issue that needs to be backported to a stable release, it would be great if you could update the corresponding issue and/or create a pull request to cherry-pick the relevant commits. If you would like help backporting, I'm available :-)

Cheers

http://tracker.ceph.com/issues/9985
	osd: incorrect atime calculation
	Author Sage Weil
	https://github.com/ceph/ceph/commit/4d0bba8b22ffaa13968950d0308e3c851bc36769
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9986
	objecter: map epoch skipping broken
	Author Sage Weil
	https://github.com/ceph/ceph/commit/e0166a23c2cf655bfb4cf873be021a14d9b9be27
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9987
	mon: min_last_epoch_complete tracking broken
	Author Sage Weil
	https://github.com/ceph/ceph/commit/3fb731b722c50672a5a9de0c86a621f5f50f2d06
	giant	https://github.com/ceph/ceph/pull/3186
	firefly	https://github.com/ceph/ceph/pull/3220
	dumpling	to be backported
http://tracker.ceph.com/issues/9478
	Incorrect content type in response header
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/31963459a0a869c4d32f55baa629f36df33eaa90
	firefly	to be backported
	giant	to be backported
http://tracker.ceph.com/issues/9479
	ETag is not included in the XML response to put object copy operation
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/b1bfc3a7e0c9088f01f8ff770ae14f569fbc570d
	firefly	to be backported
	giant	to be backported
http://tracker.ceph.com/issues/10059
	osd/ECBackend.cc: 876: FAILED assert(0)
	Assigned to Samuel Just
	https://github.com/ceph/ceph/commit/c87bde64dfccb5d6ee2877cc74c66fc064b1bcd7
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9998
	Replaced OSD weight below 0
	Assigned to Sage Weil
	https://github.com/ceph/ceph/commit/9902383c690dca9ed5ba667800413daa8332157e
	firefly	https://github.com/ceph/ceph/pull/3179
	giant	https://github.com/ceph/ceph/pull/3178
http://tracker.ceph.com/issues/10129
	Bad locking in the trunc method of libradosstriper 
	Assigned to Sebastien Ponce
	https://github.com/ceph/ceph/commit/8613984373de946e1815cc84d50bbd4437a3f7a7
	giant	https://github.com/ceph/ceph/pull/2954
http://tracker.ceph.com/issues/10259
	mon health stuck with phantom hung requests
	Assigned to Samuel Just
	https://github.com/ceph/ceph/commit/1ac17c0a662e6079c2c57edde2b4dc947f547f57
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9878
	rhel7 s3-tests fail due to missing reason
	Author Sage Weil
	https://github.com/ceph/ceph/commit/a9dd4af401328e8f9071dee52470a0685ceb296b
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/10277
	ceph-fuse: Consistent pjd failure in getcwd
	Assigned to Zheng Yan
	https://github.com/ceph/ceph/commit/0827bb79ea5127e6763f6e904dfa1a3266046ffb
	giant	https://github.com/ceph/ceph/pull/3191
http://tracker.ceph.com/issues/10150
	osd/ReplicatedPG.cc: 10853: FAILED assert(r >= 0) (in _scan_range)
	Assigned to Samuel Just
	https://github.com/ceph/ceph/commit/dce6f288ad541fe7f0ef8374301cd712dd3bfa39
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/10157
	PGLog::(read|write)_log don't write out rollback_info_trimmed_to
	Assigned to Samuel Just
	https://github.com/ceph/ceph/commit/1fe8b846641486cc294fe7e1d2450132c38d2dba
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9907
	radosgw-admin: can't disable max_size quota
	Author Yehuda Sadeh
	https://github.com/ceph/ceph/commit/abd3fd3ef9ee9999b99811937af60b7a5e673e35
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/10014
	osd: spurious memmove on data payload
	Author Sage Weil
	https://github.com/ceph/ceph/commit/a1aa70f2f21339feabfe9c1b3c9c9f97fbd53c9d
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9910
	ceph_test_rados: out of order, probably due to message delay logic
	Assigned to Sage Weil
	https://github.com/ceph/ceph/commit/f7431cc3c25878057482007beb874c9d4473883e
	giant	to be backported
http://tracker.ceph.com/issues/9913
	mon: audit log entires for forwarded requests lack info
	Assigned to Joao Luis
	https://github.com/ceph/ceph/commit/87734747dca113d6a13d1e78da52e6009a9e935a
	giant	to be backported
http://tracker.ceph.com/issues/10299
	"ObjectCacher.cc: 530: FAILED assert(i->empty())" in rbd-firefly-distro-basic-multi run 
	Assigned to Jason Dillaman
	https://github.com/ceph/ceph/commit/37a99694b1b4637b3b41b312809660d5139e8a23
	giant	to be backported
	firefly	to be backported
	dumpling	to be backported
http://tracker.ceph.com/issues/9918
	RGW-Swift: SubUser access permissions, does not seems to work
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/5d9f36f757a7272c24d2c9adc31db1ed5e712992
	firefly	to be backported
	giant	to be backported
http://tracker.ceph.com/issues/9536
	erasure-code: ISA plugin alignment must be constant
	Assigned to Loic Dachary
	https://github.com/ceph/ceph/commit/28c2b6e4f2bc6d77b9150fcf9a917d85c69c9ed1
	firefly	to be backported
http://tracker.ceph.com/issues/9921
	msgr/osd/pg dead lock giant
	Author Samuel Just
	https://github.com/ceph/ceph/commit/2d6980570af2226fdee0edfcfe5a8e7f60fae615
	giant	to be backported
http://tracker.ceph.com/issues/8011
	osd/ReplicatedPG.cc: 5244: FAILED assert(soid < scrubber.start || soid >= scrubber.end)
	Assigned to Samuel Just
	https://github.com/ceph/ceph/commit/e66f2e36c06ca00c1147f922d3513f56b122a5c0
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9675
	splitting a pool doesn't start when rule_id != ruleset_id
	Assigned to Joao Luis
	https://github.com/ceph/ceph/commit/78e84f34da83abf5a62ae97bb84ab70774b164a6
	dumpling	to be backported
	firefly	to be backported
	giant	to be backported
http://tracker.ceph.com/issues/9806
	Objecter: resend linger ops on split
	Assigned to Josh Durgin
	https://github.com/ceph/ceph/commit/cb9262abd7fd5f0a9f583bd34e4c425a049e56ce
	giant	to be backported
	firefly	to be backported
	dumpling	to be backported
http://tracker.ceph.com/issues/9555
	msg/Pipe.cc: 1513: FAILED assert(0 == "old msgs despite reconnect_seq feature") (firefly)
	Assigned to Sage Weil
	https://github.com/ceph/ceph/commit/847e5e102522d651aa9687a54aaafcebf3afc596
	firefly	to be backported
http://tracker.ceph.com/issues/8654
	Parsing /etc/lsb-release for OSD metadata is not portable
	Assigned to Danny Al-Gaaf
	https://github.com/ceph/ceph/commit/0b3a3987d382ff33fdf892f189b30df22be80e59
	firefly	https://github.com/ceph/ceph/pull/3128
http://tracker.ceph.com/issues/10329
	rgw: s3 need to return SignatureDoesNotMatch instead of AccessDenied
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/ef75d720f289ce2e18c0047380a16b7688864560
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/8911
	RGW doesn't return 'x-timestamp' in header which is used by 'View Details' of OpenStack
	Assigned to Luis Pabon
	https://github.com/ceph/ceph/commit/5b41d80b7fb9ed96c26801fc42c044191bb18d84
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/8797
	"ceph status" do not exit with python_2.7.8
	Assigned to Dan Mick
	https://github.com/ceph/ceph/commit/5ba9b8f21f8010c59dd84a0ef2acfec99e4b048f
	firefly	https://github.com/ceph/ceph/pull/3169
	giant	https://github.com/ceph/ceph/pull/3168
http://tracker.ceph.com/issues/10334
	rgw: s3 need to return InvalidAccessKeyId instead of AccessDenied
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/56af795b1046a4c1bfba59e1fefde272bb0e5c1e
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9915
	osd: eviction logic reversed
	Author Sage Weil
	https://github.com/ceph/ceph/commit/622c5ac41707069ef8db92cb67c9185acf125d40
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/6756
	journal full hang on startup
	Assigned to Sage Weil
	https://github.com/ceph/ceph/commit/d8d27f13e11dcaefd3aa1c049b97c980283da575
	emperor	to be backported
	dumpling	to be backported
http://tracker.ceph.com/issues/9254
	rgw: civetweb requires explicit \r\n for http headers
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/7409ab3df18fb312dd6c9f79084f889c523afdce
	firefly	to be backported
http://tracker.ceph.com/issues/9408
	erasure-code: misalignment
	Assigned to Loic Dachary
	https://github.com/ceph/ceph/commit/fdeeeb1b6be7a95f473ad33d3344a499a61106a1
	firefly	to be backported
http://tracker.ceph.com/issues/9617
	objecter shutdown races with msg dispatch
	Assigned to Josh Durgin
	https://github.com/ceph/ceph/commit/e506f896a9217324ab7a7865989f4454562aed5f
	giant	to be backported
http://tracker.ceph.com/issues/9193
	notify does not return an error code on timeout
	Author Sage Weil
	https://github.com/ceph/ceph/commit/7c7bf5fee7be397ef141b947f532a2a0b3567b42
	firefly	to be backported
http://tracker.ceph.com/issues/10220
	"mon/Paxos.cc: 1033: FAILED assert(mon->is_leader())" in upgrade:dumpling-firefly-x:stress-split-giant-distro-basic-vps run 
	Assigned to Joao Luis
	https://github.com/ceph/ceph/commit/18534615f184ba56b441fd1d4242eb06debdfe13
	giant	to be backported
http://tracker.ceph.com/issues/10351
	mount.ceph prints spurious "mount: error writing /etc/mtab: Invalid argument"
	Author John Spray
	https://github.com/ceph/ceph/commit/bdd0e3c4bda97fe18487a58dd173a7dff752e1a2
	giant	https://github.com/ceph/ceph/pull/3289
	firefly	https://github.com/ceph/ceph/pull/3288
	emperor	https://github.com/ceph/ceph/pull/3287
http://tracker.ceph.com/issues/9235
	unittest_histogram test case Histogram.Position fail
	Assigned to Loic Dachary
	https://github.com/ceph/ceph/commit/ee02293ad2ef050672fa8c164ba17b10e8d4ceeb
	firefly	https://github.com/ceph/ceph/pull/3128
http://tracker.ceph.com/issues/9973
	Validation of Swift DLO manifest object ETag doesn't match OpenStack Swift behavior
	Assigned to Yehuda Sadeh
	https://github.com/ceph/ceph/commit/ef6d3ad964d34bc526dc4435486bd5c8cdc3b230
	firefly	to be backported
	giant	to be backported
http://tracker.ceph.com/issues/10103
	swift tests failing
	Author Sage Weil
	https://github.com/ceph/ceph/commit/9ba17a321db06d3d76c9295e411c76842194b25c
	giant	to be backported
	firefly	to be backported
http://tracker.ceph.com/issues/9854
	librbd: reads contending for cache space can cause livelock
	Assigned to Jason Dillaman
	https://github.com/ceph/ceph/commit/cd784eab22a329cd3eb3798feb9d975a4506c57e
	giant	to be backported
	firefly	to be backported
	dumpling	to be backported


P.S. Here is the script I used to create the report.

import re
from git import *
import subprocess
import json
import sys

merge_requests=json.loads(subprocess.check_output("curl --silent --header 'PRIVATE-TOKEN: -ByPXcjrSWB7_LuAbXzq' http://workbench.dachary.org/api/v3/projects/ceph%2Fceph-backports/merge_requests?state=opened";, shell=True))
pull2merge = {}
release2pulls = {}
pull2release = {}
for merge_request in merge_requests:
   source = merge_request['source_branch']
   (a, pull_request, b) = source.split('/')
   pull2merge[pull_request] = merge_request
   target = merge_request['target_branch']
   release2pulls.setdefault(target, []).append(pull_request)
   pull2release[pull_request] = target

repo = Repo(".")
releases = [ 'dumpling', 'emperor', 'firefly', 'giant']
commit2issue_id = {}
issue_id2backports = {}
issues={}
issue_id2pulls={}
for release in releases:
   for issue in json.loads(subprocess.check_output("curl --silent 'http://tracker.ceph.com/issues.json?project_id=ceph&status_id=open&limit=100&cf_2=%7E{release}' | jq '.issues'".format(release=release), shell=True)):
      detailed_issue = json.loads(subprocess.check_output("curl --silent 'http://tracker.ceph.com/issues/{issue_id}.json?include=journals' | jq .issue".format(issue_id=issue['id']), shell=True))
      issues[issue['id']] = detailed_issue
      for field in detailed_issue['custom_fields']:
         if field['name'] == 'Backport':
            detailed_issue['backports'] = re.findall('\w+', field['value'])
            break
   for pull in release2pulls.get(release, []):
      for c in repo.iter_commits('{release}..pull/{pull}/head'.format(release=release, pull=pull), no_merges=True):
         match = re.search(r'fixes\s*:\s*#*\s*(\d+)', c.message, re.IGNORECASE)
         if match:
            issue_id = int(match.group(1))
            commit2issue_id[c.hexsha] = issue_id
            issue_id2backports.setdefault(issue_id, set()).add(release)
            issue_id2pulls.setdefault(issue_id, {})[release] = pull

issue_id2commit = {}
for c in repo.iter_commits('master', no_merges=True):
   match = re.search(r'fixes\s*:\s*#*\s*(\d+)', c.message, re.IGNORECASE)
   if match:
      issue_id = int(match.group(1))
      issue_id2commit[issue_id] = c.hexsha

for (issue_id, backports) in issue_id2backports.iteritems():
   issue = issues.get(issue_id)
   if issue:
      missing = []
      for backport in backports:
         if backport not in issue['backports']:
            missing.append(backport)
   else:
      missing = backports
   if missing:
      if issue:
         print "http://tracker.ceph.com/issues/{issue_id} backports is {backports} and missing {missing}".format(issue_id=issue_id, backports=existing_backports, missing=",".join(missing))
      else:
         print "http://tracker.ceph.com/issues/{issue_id} backports should be {missing}".format(issue_id=issue_id, missing=",".join(missing))
      for (release, pull) in issue_id2pulls[issue_id].iteritems():
         print "{release} https://github.com/ceph/ceph/pull/{pull}".format(release=release, pull=pull)

for (issue_id, issue) in issues.iteritems():
   if issue_id not in issue_id2commit:
      match = re.search(r'commit:(\w+)', issue['description'])
      if match:
         issue_id2commit[issue_id] = repo.rev_parse(match.group(1))
   for journal in issue['journals']:
      if 'notes' not in journal:
         continue
      match = re.search(r'https://github.com/ceph/ceph/pull/(\d+)', journal['notes'])
      if match:
         pull = match.group(1)
         if pull in pull2release:
            release = pull2release[pull]
            if ( release in issue_id2pulls.setdefault(issue_id, {}) and 
                 issue_id2pulls[issue_id][release] != pull):
               print "http://tracker.ceph.com/issues/{issue_id} {release} backport is referenced by a commit from https://github.com/ceph/ceph/pull/{existing} but the issue notes contain a URL to https://github.com/ceph/ceph/pull/{new} which is also against {release}".format(issue_id=issue_id,release=release,existing=issue_id2pulls[issue_id][release],new=pull)

for (issue_id, issue) in issues.iteritems():
   if (issue['status']['name'] != 'Pending Backport' or
       issue['project']['name'] == 'teuthology'):
      continue
   if issue_id not in issue_id2pulls:
      if issue_id not in issue_id2commit:
         print "http://tracker.ceph.com/issues/{issue_id} should be backported to {backports} but has no commit".format(issue_id=issue_id, backports=issue['backports'])
         continue
   pulls = issue_id2pulls.setdefault(issue_id, {})
   print "http://tracker.ceph.com/issues/{issue_id}".format(issue_id=issue_id)
   print "\t" + issue['subject']
   if 'assigned_to' in issue:
      print "\tAssigned to {assignee}".format(assignee=issue['assigned_to']['name'])
   else:
      print "\tAuthor {author}".format(author=issue['author']['name'])
   print "\thttps://github.com/ceph/ceph/commit/{commit}".format(commit=issue_id2commit.get(issue_id, ''))
   for release in issue['backports']:
      if issue_id in issue_id2pulls and release in issue_id2pulls[issue_id]:
         print "\t{release}\thttps://github.com/ceph/ceph/pull/{pull}".format(release=release, pull=issue_id2pulls[issue_id][release])
      else:
         print "\t{release}\tto be backported".format(release=release)


-- 
Loïc Dachary, Artisan Logiciel Libre

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux