Project

General

Profile

Bug #24779

Python bindings use iteritems method which is not Python 3 compatible

Added by Nathan Cutler 12 months ago. Updated 9 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
Start date:
07/05/2018
Due date:
% Done:

0%

Source:
Tags:
Backport:
mimic,luminous
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

In a number of places, the Ceph Python bindings use the iteritems method, which in Python 3 gives errors like:

g1:/var/log/ceph # ceph balancer status
Error EIO: Module 'balancer' has experienced an error and cannot handle commands: 'dict' object has no attribute 'iteritems' 

In order to make the code compatible with Python 3, these instances of iteritems need to be changed to items, subject to the caveat that, in Python 2, items does not produce an iterator. If the code demands an iterator, the iteritems function from six could be used since ceph-mgr already brings in six as a dependency (indirectly via bcrypt).

Backporting note: include https://github.com/ceph/ceph/commit/5f892430462 in the backport


Related issues

Copied to Ceph - Backport #24803: mimic: Python bindings use iteritems method which is not Python 3 compatible Resolved
Copied to Ceph - Backport #24804: luminous: Python bindings use iteritems method which is not Python 3 compatible Resolved

History

#1 Updated by Nathan Cutler 12 months ago

  • Description updated (diff)

#2 Updated by Nathan Cutler 12 months ago

  • Status changed from In Progress to Need Review

#3 Updated by Nathan Cutler 12 months ago

  • Description updated (diff)

#4 Updated by Sage Weil 12 months ago

  • Status changed from Need Review to Pending Backport

#5 Updated by Nathan Cutler 12 months ago

  • Copied to Backport #24803: mimic: Python bindings use iteritems method which is not Python 3 compatible added

#6 Updated by Nathan Cutler 12 months ago

  • Copied to Backport #24804: luminous: Python bindings use iteritems method which is not Python 3 compatible added

#7 Updated by Nathan Cutler 9 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF