python3: Compatibility for iteritems differences

In python3 dict.iteritems(), dict.iterkeys(), and
dict.itervalues() are no longer supported. So use
six.iteritems() where it is appropriate.

blueprint python3-novaclient

Change-Id: I8c39bfe426d08d36215b55c3245dcfc69ec72517
Signed-off-by: Chuck Short <chuck.short@canonical.com>
This commit is contained in:
Chuck Short 2013-09-07 13:52:01 -04:00
parent cab4617225
commit 450f02efe3
2 changed files with 4 additions and 2 deletions
novaclient

@ -236,7 +236,7 @@ class BootingManagerWithFind(ManagerWithFind):
def _parse_block_device_mapping(self, block_device_mapping):
bdm = []
for device_name, mapping in block_device_mapping.iteritems():
for device_name, mapping in six.iteritems(block_device_mapping):
#
# The mapping is in the format:
# <id>:[<type>]:[<size(GB)>]:[<delete_on_terminate>]

@ -27,6 +27,8 @@ import os
import sys
import time
import six
from novaclient import exceptions
from novaclient.openstack.common import strutils
from novaclient.openstack.common import timeutils
@ -91,7 +93,7 @@ def _parse_block_device_mapping_v2(args, image):
spec_dict = dict(v.split('=') for v in device_spec.split(','))
bdm_dict = {}
for key, value in spec_dict.iteritems():
for key, value in six.iteritems(spec_dict):
bdm_dict[CLIENT_BDM2_KEYS[key]] = value
# Convert the delete_on_termination to a boolean or set it to true by