Remove six.moves

Replace the following items with Python 3 style code.

- six.moves.configparser
- six.moves.StringIO
- six.moves.cStringIO
- six.moves.urllib
- six.moves.builtins
- six.moves.range
- six.moves.xmlrpc_client
- six.moves.http_client
- six.moves.http_cookies
- six.moves.queue
- six.moves.zip
- six.moves.reload_module
- six.StringIO
- six.BytesIO

Subsequent patches will replace other six usages.

Change-Id: Ib2c406327fef2fb4868d8050fc476a7d17706e23
Implements: blueprint six-removal
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
This commit is contained in:
Takashi Natsume 2020-05-12 14:52:10 +00:00
parent 4ac4a04d18
commit 1d0a0e8c20
73 changed files with 126 additions and 163 deletions

View File

@ -20,11 +20,10 @@ It is used via a single directive in the .rst file
""" """
import configparser
import re import re
import sys import sys
from six.moves import configparser
from docutils import nodes from docutils import nodes
from docutils.parsers import rst from docutils.parsers import rst

View File

@ -13,7 +13,6 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from six.moves import range
from webob import exc from webob import exc
import nova.conf import nova.conf

View File

@ -16,11 +16,11 @@
import collections import collections
import itertools import itertools
import re import re
from urllib import parse as urlparse
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import strutils from oslo_utils import strutils
import six import six
import six.moves.urllib.parse as urlparse
import webob import webob
from webob import exc from webob import exc

View File

@ -13,9 +13,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from oslo_utils import strutils from urllib import parse as urlparse
import six.moves.urllib.parse as urlparse from oslo_utils import strutils
import webob import webob
from nova.api.openstack.api_version_request \ from nova.api.openstack.api_version_request \

View File

@ -15,11 +15,11 @@
import collections import collections
import datetime import datetime
from urllib import parse as urlparse
import iso8601 import iso8601
from oslo_utils import timeutils from oslo_utils import timeutils
import six import six
import six.moves.urllib.parse as urlparse
from webob import exc from webob import exc
from nova.api.openstack import common from nova.api.openstack import common

View File

@ -26,6 +26,7 @@ import functools
import re import re
import sys import sys
import traceback import traceback
from urllib import parse as urlparse
from dateutil import parser as dateutil_parser from dateutil import parser as dateutil_parser
from keystoneauth1 import exceptions as ks_exc from keystoneauth1 import exceptions as ks_exc
@ -40,7 +41,6 @@ from oslo_utils import encodeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import prettytable import prettytable
import six import six
import six.moves.urllib.parse as urlparse
from sqlalchemy.engine import url as sqla_url from sqlalchemy.engine import url as sqla_url
from nova.cmd import common as cmd_common from nova.cmd import common as cmd_common

View File

@ -35,7 +35,6 @@ from oslo_utils import timeutils
from oslo_utils import units from oslo_utils import units
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import range
from nova.accelerator import cyborg from nova.accelerator import cyborg
from nova import availability_zones from nova import availability_zones

View File

@ -55,7 +55,6 @@ from oslo_utils import strutils
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import units from oslo_utils import units
import six import six
from six.moves import range
from nova.accelerator import cyborg from nova.accelerator import cyborg
from nova import block_device from nova import block_device

View File

@ -702,7 +702,7 @@ class ComputeTaskManager(base.Base):
return return
elevated = context.elevated() elevated = context.elevated()
for (instance, host_list) in six.moves.zip(instances, host_lists): for (instance, host_list) in zip(instances, host_lists):
host = host_list.pop(0) host = host_list.pop(0)
if is_reschedule: if is_reschedule:
# If this runs in the superconductor, the first instance will # If this runs in the superconductor, the first instance will
@ -1523,7 +1523,7 @@ class ComputeTaskManager(base.Base):
instances = [] instances = []
host_az = {} # host=az cache to optimize multi-create host_az = {} # host=az cache to optimize multi-create
for (build_request, request_spec, host_list) in six.moves.zip( for (build_request, request_spec, host_list) in zip(
build_requests, request_specs, host_lists): build_requests, request_specs, host_lists):
instance = build_request.get_new_instance(context) instance = build_request.get_new_instance(context)
# host_list is a list of one or more Selection objects, the first # host_list is a list of one or more Selection objects, the first
@ -1605,8 +1605,7 @@ class ComputeTaskManager(base.Base):
block_device_mapping, tags, block_device_mapping, tags,
cell_mapping_cache) cell_mapping_cache)
zipped = six.moves.zip(build_requests, request_specs, host_lists, zipped = zip(build_requests, request_specs, host_lists, instances)
instances)
for (build_request, request_spec, host_list, instance) in zipped: for (build_request, request_spec, host_list, instance) in zipped:
if instance is None: if instance is None:
# Skip placeholders that were buried in cell0 or had their # Skip placeholders that were buried in cell0 or had their
@ -1758,7 +1757,7 @@ class ComputeTaskManager(base.Base):
def _cleanup_build_artifacts(self, context, exc, instances, build_requests, def _cleanup_build_artifacts(self, context, exc, instances, build_requests,
request_specs, block_device_mappings, tags, request_specs, block_device_mappings, tags,
cell_mapping_cache): cell_mapping_cache):
for (instance, build_request, request_spec) in six.moves.zip( for (instance, build_request, request_spec) in zip(
instances, build_requests, request_specs): instances, build_requests, request_specs):
# Skip placeholders that were buried in cell0 or had their # Skip placeholders that were buried in cell0 or had their
# build requests deleted by the user before instance create. # build requests deleted by the user before instance create.

View File

@ -17,7 +17,6 @@
import socket import socket
from oslo_log import log as logging from oslo_log import log as logging
import six.moves
import nova.conf import nova.conf
from nova import exception from nova import exception
@ -45,7 +44,7 @@ def acquire_port(host):
start, stop = _get_port_range() start, stop = _get_port_range()
for port in six.moves.range(start, stop): for port in range(start, stop):
if (host, port) in ALLOCATED_PORTS: if (host, port) in ALLOCATED_PORTS:
continue continue
try: try:

View File

@ -19,15 +19,15 @@ Leverages websockify.py by Joel Martin
''' '''
import copy import copy
from http import cookies as Cookie
import socket import socket
import sys import sys
from urllib import parse as urlparse
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import encodeutils from oslo_utils import encodeutils
from oslo_utils import importutils from oslo_utils import importutils
import six import six
from six.moves import http_cookies as Cookie
import six.moves.urllib.parse as urlparse
import websockify import websockify
from nova.compute import rpcapi as compute_rpcapi from nova.compute import rpcapi as compute_rpcapi

View File

@ -35,7 +35,6 @@ from oslo_utils import importutils
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import range
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy import and_ from sqlalchemy import and_
from sqlalchemy import Boolean from sqlalchemy import Boolean

View File

@ -40,7 +40,6 @@ from oslo_serialization import jsonutils
from oslo_utils import excutils from oslo_utils import excutils
from oslo_utils import timeutils from oslo_utils import timeutils
import six import six
from six.moves import range
import nova.conf import nova.conf
from nova import exception from nova import exception

View File

@ -17,6 +17,8 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import urllib
import netaddr import netaddr
from neutronclient.common import exceptions as n_exc from neutronclient.common import exceptions as n_exc
from neutronclient.neutron import v2_0 as neutronv20 from neutronclient.neutron import v2_0 as neutronv20
@ -26,7 +28,6 @@ from oslo_utils import excutils
from oslo_utils import netutils from oslo_utils import netutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import urllib
from webob import exc from webob import exc
from nova import context as nova_context from nova import context as nova_context

View File

@ -10,9 +10,10 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from urllib import parse as urlparse
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import versionutils from oslo_utils import versionutils
import six.moves.urllib.parse as urlparse
from sqlalchemy.sql.expression import asc from sqlalchemy.sql.expression import asc
from sqlalchemy.sql import false from sqlalchemy.sql import false
from sqlalchemy.sql import true from sqlalchemy.sql import true

View File

@ -13,12 +13,13 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from urllib import parse as urlparse
from oslo_db.exception import DBDuplicateEntry from oslo_db.exception import DBDuplicateEntry
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import strutils from oslo_utils import strutils
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six.moves.urllib.parse as urlparse
from nova.db import api as db from nova.db import api as db
from nova import exception from nova import exception

View File

@ -22,7 +22,6 @@ Weighing Functions.
import random import random
from oslo_log import log as logging from oslo_log import log as logging
from six.moves import range
from nova.compute import utils as compute_utils from nova.compute import utils as compute_utils
import nova.conf import nova.conf

View File

@ -17,12 +17,12 @@
import collections import collections
import re import re
import sys import sys
from urllib import parse
import os_resource_classes as orc import os_resource_classes as orc
import os_traits import os_traits
from oslo_log import log as logging from oslo_log import log as logging
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from six.moves.urllib import parse
from nova.compute import flavors from nova.compute import flavors
from nova.compute import utils as compute_utils from nova.compute import utils as compute_utils

View File

@ -14,8 +14,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import urllib
from eventlet import tpool from eventlet import tpool
from six.moves import urllib
from oslo_concurrency import processutils from oslo_concurrency import processutils
from oslo_log import log as logging from oslo_log import log as logging

View File

@ -24,6 +24,7 @@ inline callbacks.
import nova.monkey_patch # noqa import nova.monkey_patch # noqa
import abc import abc
import builtins
import collections import collections
import contextlib import contextlib
import copy import copy
@ -50,7 +51,6 @@ from oslo_versionedobjects import fixture as ovo_fixture
from oslotest import base from oslotest import base
from oslotest import mock_fixture from oslotest import mock_fixture
import six import six
from six.moves import builtins
import testtools import testtools
from nova.compute import rpcapi as compute_rpcapi from nova.compute import rpcapi as compute_rpcapi
@ -903,7 +903,7 @@ def patch_open(patched_path, read_data):
selective patching based on the path. In this case something like selective patching based on the path. In this case something like
like this may be more appropriate: like this may be more appropriate:
@mock.patch(six.moves.builtins, 'open') @mock.patch('builtins.open')
def test_my_code(self, mock_open): def test_my_code(self, mock_open):
... ...
mock_open.assert_called_once_with(path) mock_open.assert_called_once_with(path)
@ -916,6 +916,6 @@ def patch_open(patched_path, read_data):
return m(patched_path) return m(patched_path)
return real_open(path, *args, **kwargs) return real_open(path, *args, **kwargs)
with mock.patch.object(builtins, 'open') as mock_open: with mock.patch('builtins.open') as mock_open:
mock_open.side_effect = selective_fake_open mock_open.side_effect = selective_fake_open
yield m yield m

View File

@ -12,10 +12,11 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from urllib import parse
from oslo_log import log as logging from oslo_log import log as logging
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
import requests import requests
from six.moves.urllib import parse
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)

View File

@ -14,8 +14,7 @@
# under the License. # under the License.
from datetime import datetime from datetime import datetime
import urllib
from six.moves import urllib
from nova import context from nova import context
from nova import objects from nova import objects

View File

@ -13,10 +13,10 @@
# under the License. # under the License.
import datetime import datetime
from urllib import parse
import mock import mock
from oslo_utils import timeutils from oslo_utils import timeutils
from six.moves.urllib import parse
from nova.tests.functional.api_sample_tests import test_servers from nova.tests.functional.api_sample_tests import test_servers
import nova.tests.functional.api_samples_test_base as astb import nova.tests.functional.api_samples_test_base as astb

View File

@ -10,13 +10,13 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import collections import collections
from io import StringIO
import mock import mock
import fixtures import fixtures
from neutronclient.common import exceptions as neutron_client_exc from neutronclient.common import exceptions as neutron_client_exc
import os_resource_classes as orc import os_resource_classes as orc
from oslo_utils.fixture import uuidsentinel from oslo_utils.fixture import uuidsentinel
from six.moves import StringIO
from nova.cmd import manage from nova.cmd import manage
from nova import config from nova import config

View File

@ -13,8 +13,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from urllib import parse as urlparse
import mock import mock
import six.moves.urllib.parse as urlparse
import webob import webob
from nova.api.openstack import common from nova.api.openstack import common

View File

@ -19,9 +19,9 @@ and as a WSGI layer
""" """
import copy import copy
from urllib import parse as urlparse
import mock import mock
import six.moves.urllib.parse as urlparse
import webob import webob
from nova.api.openstack.compute import images as images_v21 from nova.api.openstack.compute import images as images_v21

View File

@ -17,11 +17,12 @@
Tests dealing with HTTP rate-limiting. Tests dealing with HTTP rate-limiting.
""" """
from http import client as httplib
from io import StringIO
import mock import mock
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from oslo_utils import encodeutils from oslo_utils import encodeutils
from six.moves import http_client as httplib
from six.moves import StringIO
from nova.api.openstack.compute import limits as limits_v21 from nova.api.openstack.compute import limits as limits_v21
from nova.api.openstack.compute import views from nova.api.openstack.compute import views

View File

@ -19,6 +19,7 @@ import copy
import datetime import datetime
import ddt import ddt
import functools import functools
from urllib import parse as urlparse
import fixtures import fixtures
import iso8601 import iso8601
@ -32,8 +33,6 @@ from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import range
import six.moves.urllib.parse as urlparse
import testtools import testtools
import webob import webob

View File

@ -19,7 +19,6 @@ import mock
from oslo_policy import policy as oslo_policy from oslo_policy import policy as oslo_policy
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils from oslo_utils import timeutils
from six.moves import range
import webob import webob
from nova.api.openstack.compute import simple_tenant_usage as \ from nova.api.openstack.compute import simple_tenant_usage as \

View File

@ -15,6 +15,7 @@
# under the License. # under the License.
import datetime import datetime
import urllib
import fixtures import fixtures
import mock import mock
@ -22,7 +23,6 @@ from oslo_serialization import jsonutils
from oslo_utils import encodeutils from oslo_utils import encodeutils
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
import six import six
from six.moves import urllib
import webob import webob
from webob import exc from webob import exc

View File

@ -20,7 +20,6 @@ from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import routes import routes
import six import six
from six.moves import range
import webob.dec import webob.dec
from nova.api import auth as api_auth from nova.api import auth as api_auth

View File

@ -12,11 +12,12 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from io import StringIO
import fixtures import fixtures
import mock import mock
from oslo_log import log as logging from oslo_log import log as logging
from oslo_reports import guru_meditation_report as gmr from oslo_reports import guru_meditation_report as gmr
from six.moves import StringIO
from nova.cmd import baseproxy from nova.cmd import baseproxy
from nova import config from nova import config

View File

@ -17,11 +17,11 @@
Unit tests for the common functions used by different CLI interfaces. Unit tests for the common functions used by different CLI interfaces.
""" """
from io import StringIO
import sys import sys
import fixtures import fixtures
import mock import mock
from six.moves import StringIO
from nova.cmd import common as cmd_common from nova.cmd import common as cmd_common
from nova.db import api from nova.db import api

View File

@ -14,6 +14,7 @@
# under the License. # under the License.
import datetime import datetime
from io import StringIO
import sys import sys
import warnings import warnings
@ -24,7 +25,6 @@ from oslo_db import exception as db_exc
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel from oslo_utils.fixture import uuidsentinel
from oslo_utils import uuidutils from oslo_utils import uuidutils
from six.moves import StringIO
from nova.cmd import manage from nova.cmd import manage
from nova import conf from nova import conf

View File

@ -17,9 +17,10 @@
Unit tests for the nova-policy-check CLI interfaces. Unit tests for the nova-policy-check CLI interfaces.
""" """
from io import StringIO
import fixtures import fixtures
import mock import mock
from six.moves import StringIO
from nova.cmd import policy from nova.cmd import policy
import nova.conf import nova.conf

View File

@ -20,11 +20,12 @@ Unit tests for the nova-status CLI interfaces.
# nova/tests/functional/test_nova_status.py. Those tests use the external # nova/tests/functional/test_nova_status.py. Those tests use the external
# PlacementFixture, which is only available in functioanl tests. # PlacementFixture, which is only available in functioanl tests.
from io import StringIO
import os
import tempfile
import fixtures import fixtures
import mock import mock
import os
from six.moves import StringIO
import tempfile
import yaml import yaml
from keystoneauth1 import exceptions as ks_exc from keystoneauth1 import exceptions as ks_exc

View File

@ -17,7 +17,6 @@
import socket import socket
import mock import mock
import six.moves
from nova.console import serial from nova.console import serial
from nova import exception from nova import exception
@ -74,10 +73,10 @@ class SerialTestCase(test.NoDBTestCase):
port_range='%d:%d' % (start, stop), port_range='%d:%d' % (start, stop),
group='serial_console') group='serial_console')
for port in six.moves.range(start, stop): for port in range(start, stop):
self.assertEqual(port, serial.acquire_port('127.0.0.1')) self.assertEqual(port, serial.acquire_port('127.0.0.1'))
for port in six.moves.range(start, stop): for port in range(start, stop):
self.assertEqual(port, serial.acquire_port('127.0.0.2')) self.assertEqual(port, serial.acquire_port('127.0.0.2'))
self.assertEqual(10, len(serial.ALLOCATED_PORTS)) self.assertEqual(10, len(serial.ALLOCATED_PORTS))

View File

@ -37,7 +37,6 @@ from oslo_utils.fixture import uuidsentinel
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import range
from sqlalchemy import Column from sqlalchemy import Column
from sqlalchemy.dialects import sqlite from sqlalchemy.dialects import sqlite
from sqlalchemy.exc import OperationalError from sqlalchemy.exc import OperationalError

View File

@ -24,7 +24,6 @@ library to work with nova.
import fnmatch import fnmatch
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from six.moves import range
class Store(object): class Store(object):

View File

@ -16,6 +16,7 @@
import copy import copy
import datetime import datetime
from io import StringIO
import urllib.parse as urlparse import urllib.parse as urlparse
import cryptography import cryptography
@ -27,8 +28,6 @@ from glanceclient.v2 import schemas
from keystoneauth1 import loading as ks_loading from keystoneauth1 import loading as ks_loading
import mock import mock
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
import six
from six.moves import StringIO
import testtools import testtools
import nova.conf import nova.conf
@ -556,7 +555,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
default of not allowing direct URI transfers is set. default of not allowing direct URI transfers is set.
""" """
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_no_data_no_dest_path_v2(self, show_mock, open_mock): def test_download_no_data_no_dest_path_v2(self, show_mock, open_mock):
client = mock.MagicMock() client = mock.MagicMock()
@ -572,7 +571,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
ctx, 2, 'data', args=(mock.sentinel.image_id,)) ctx, 2, 'data', args=(mock.sentinel.image_id,))
self.assertEqual(mock.sentinel.image_chunks, res) self.assertEqual(mock.sentinel.image_chunks, res)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_data_no_dest_path_v2(self, show_mock, open_mock): def test_download_data_no_dest_path_v2(self, show_mock, open_mock):
client = mock.MagicMock() client = mock.MagicMock()
@ -596,7 +595,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
) )
self.assertFalse(data.close.called) self.assertFalse(data.close.called)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
@mock.patch('nova.image.glance.GlanceImageServiceV2._safe_fsync') @mock.patch('nova.image.glance.GlanceImageServiceV2._safe_fsync')
def test_download_no_data_dest_path_v2(self, fsync_mock, show_mock, def test_download_no_data_dest_path_v2(self, fsync_mock, show_mock,
@ -625,7 +624,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
) )
writer.close.assert_called_once_with() writer.close.assert_called_once_with()
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_data_dest_path_v2(self, show_mock, open_mock): def test_download_data_dest_path_v2(self, show_mock, open_mock):
# NOTE(jaypipes): This really shouldn't be allowed, but because of the # NOTE(jaypipes): This really shouldn't be allowed, but because of the
@ -654,7 +653,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
) )
self.assertFalse(data.close.called) self.assertFalse(data.close.called)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_data_dest_path_write_fails_v2( def test_download_data_dest_path_write_fails_v2(
self, show_mock, open_mock): self, show_mock, open_mock):
@ -675,7 +674,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
self.assertRaises(FakeDiskException, service.download, ctx, self.assertRaises(FakeDiskException, service.download, ctx,
mock.sentinel.image_id, data=Exceptionator()) mock.sentinel.image_id, data=Exceptionator())
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_no_returned_image_data_v2( def test_download_no_returned_image_data_v2(
self, show_mock, open_mock): self, show_mock, open_mock):
@ -691,7 +690,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
# TODO(stephenfin): Drop this test since it's not possible to run in # TODO(stephenfin): Drop this test since it's not possible to run in
# production # production
@mock.patch('os.path.getsize', return_value=1) @mock.patch('os.path.getsize', return_value=1)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.GlanceImageServiceV2._get_transfer_method') @mock.patch('nova.image.glance.GlanceImageServiceV2._get_transfer_method')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
def test_download_direct_file_uri_v2( def test_download_direct_file_uri_v2(
@ -727,7 +726,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
@mock.patch('glanceclient.common.utils.IterableWithLength') @mock.patch('glanceclient.common.utils.IterableWithLength')
@mock.patch('os.path.getsize', return_value=1) @mock.patch('os.path.getsize', return_value=1)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.LOG') @mock.patch('nova.image.glance.LOG')
@mock.patch('nova.image.glance.GlanceImageServiceV2._get_verifier') @mock.patch('nova.image.glance.GlanceImageServiceV2._get_verifier')
@mock.patch('nova.image.glance.GlanceImageServiceV2._get_transfer_method') @mock.patch('nova.image.glance.GlanceImageServiceV2._get_transfer_method')
@ -820,7 +819,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
ctx = mock.sentinel.ctx ctx = mock.sentinel.ctx
writer = mock.MagicMock() writer = mock.MagicMock()
with mock.patch.object(six.moves.builtins, 'open') as open_mock: with mock.patch('builtins.open') as open_mock:
open_mock.return_value = writer open_mock.return_value = writer
service = glance.GlanceImageServiceV2(client) service = glance.GlanceImageServiceV2(client)
res = service.download(ctx, mock.sentinel.image_id, res = service.download(ctx, mock.sentinel.image_id,
@ -873,7 +872,7 @@ class TestDownloadNoDirectUri(test.NoDBTestCase):
ctx = mock.sentinel.ctx ctx = mock.sentinel.ctx
writer = mock.MagicMock() writer = mock.MagicMock()
with mock.patch.object(six.moves.builtins, 'open') as open_mock: with mock.patch('builtins.open') as open_mock:
open_mock.return_value = writer open_mock.return_value = writer
service = glance.GlanceImageServiceV2(client) service = glance.GlanceImageServiceV2(client)
res = service.download(ctx, mock.sentinel.image_id, res = service.download(ctx, mock.sentinel.image_id,
@ -966,7 +965,7 @@ class TestDownloadSignatureVerification(test.NoDBTestCase):
msg = ('Image signature verification succeeded for image %s') msg = ('Image signature verification succeeded for image %s')
mock_log.info.assert_called_once_with(msg, image_id) mock_log.info.assert_called_once_with(msg, image_id)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.LOG') @mock.patch('nova.image.glance.LOG')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')
@mock.patch('cursive.signature_utils.get_verifier') @mock.patch('cursive.signature_utils.get_verifier')
@ -1051,7 +1050,7 @@ class TestDownloadSignatureVerification(test.NoDBTestCase):
context=None, image_id=None, context=None, image_id=None,
data=None, dst_path=None) data=None, dst_path=None)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('cursive.signature_utils.get_verifier') @mock.patch('cursive.signature_utils.get_verifier')
@mock.patch('nova.image.glance.LOG') @mock.patch('nova.image.glance.LOG')
@mock.patch('nova.image.glance.GlanceImageServiceV2.show') @mock.patch('nova.image.glance.GlanceImageServiceV2.show')

View File

@ -17,6 +17,7 @@
"""Matcher classes to be used inside of the testtools assertThat framework.""" """Matcher classes to be used inside of the testtools assertThat framework."""
import copy import copy
import io
import pprint import pprint
from lxml import etree from lxml import etree
@ -411,7 +412,7 @@ class XMLMatches(object):
if isinstance(text_or_bytes, six.text_type): if isinstance(text_or_bytes, six.text_type):
text_or_bytes = text_or_bytes.encode("utf-8") text_or_bytes = text_or_bytes.encode("utf-8")
parser = etree.XMLParser(encoding="UTF-8") parser = etree.XMLParser(encoding="UTF-8")
return etree.parse(six.BytesIO(text_or_bytes), parser) return etree.parse(io.BytesIO(text_or_bytes), parser)
def __init__(self, expected, allow_mixed_nodes=False, def __init__(self, expected, allow_mixed_nodes=False,
skip_empty_text_nodes=True, skip_values=('DONTCARE',)): skip_empty_text_nodes=True, skip_values=('DONTCARE',)):

View File

@ -32,7 +32,6 @@ from oslo_utils import timeutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
import requests_mock import requests_mock
import six import six
from six.moves import range
from nova import context from nova import context
from nova.db.sqlalchemy import api as db_api from nova.db.sqlalchemy import api as db_api

View File

@ -18,7 +18,6 @@ from neutronclient.common import exceptions as n_exc
from neutronclient.neutron import v2_0 as neutronv20 from neutronclient.neutron import v2_0 as neutronv20
from neutronclient.v2_0 import client from neutronclient.v2_0 import client
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from six.moves import range
from nova import context from nova import context
from nova import exception from nova import exception

View File

@ -15,11 +15,11 @@
import copy import copy
import mock import mock
import urllib.parse as urlparse
from oslo_db.exception import DBDuplicateEntry from oslo_db.exception import DBDuplicateEntry
from oslo_utils.fixture import uuidsentinel from oslo_utils.fixture import uuidsentinel
from oslo_utils import timeutils from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse
from nova import exception from nova import exception
from nova.objects import console_auth_token as token_obj from nova.objects import console_auth_token as token_obj

View File

@ -19,7 +19,6 @@ import os
import fixtures import fixtures
import mock import mock
from six.moves import builtins
from nova import exception from nova import exception
from nova.pci import utils from nova.pci import utils
@ -95,8 +94,7 @@ class GetFunctionByIfnameTestCase(test.NoDBTestCase):
@mock.patch.object(os, 'readlink') @mock.patch.object(os, 'readlink')
def test_virtual_function(self, mock_readlink, *args): def test_virtual_function(self, mock_readlink, *args):
mock_readlink.return_value = '../../../0000.00.00.1' mock_readlink.return_value = '../../../0000.00.00.1'
with mock.patch.object( with mock.patch('builtins.open', side_effect=IOError()):
builtins, 'open', side_effect=IOError()):
address, physical_function = utils.get_function_by_ifname('eth0') address, physical_function = utils.get_function_by_ifname('eth0')
self.assertEqual(address, '0000.00.00.1') self.assertEqual(address, '0000.00.00.1')
self.assertFalse(physical_function) self.assertFalse(physical_function)
@ -129,14 +127,12 @@ class IsPhysicalFunctionTestCase(test.NoDBTestCase):
@mock.patch('os.path.isdir', return_value=True) @mock.patch('os.path.isdir', return_value=True)
def test_virtual_function(self, *args): def test_virtual_function(self, *args):
with mock.patch.object( with mock.patch('builtins.open', side_effect=IOError()):
builtins, 'open', side_effect=IOError()):
self.assertFalse(utils.is_physical_function(*self.pci_args)) self.assertFalse(utils.is_physical_function(*self.pci_args))
@mock.patch('os.path.isdir', return_value=True) @mock.patch('os.path.isdir', return_value=True)
def test_physical_function(self, *args): def test_physical_function(self, *args):
with mock.patch.object( with mock.patch('builtins.open', mock.mock_open(read_data='4')):
builtins, 'open', mock.mock_open(read_data='4')):
self.assertTrue(utils.is_physical_function(*self.pci_args)) self.assertTrue(utils.is_physical_function(*self.pci_args))
@mock.patch('os.path.isdir', return_value=False) @mock.patch('os.path.isdir', return_value=False)

View File

@ -12,9 +12,10 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from io import StringIO
import fixtures import fixtures
import mock import mock
from six.moves import StringIO
import nova.privsep.idmapshift import nova.privsep.idmapshift
from nova import test from nova import test

View File

@ -18,7 +18,6 @@ import binascii
import ddt import ddt
import mock import mock
import os import os
import six
import nova.privsep.libvirt import nova.privsep.libvirt
from nova import test from nova import test
@ -134,10 +133,8 @@ class LibvirtTestCase(test.NoDBTestCase):
return orig_import(module, *args) return orig_import(module, *args)
with test.nested( with test.nested(
mock.patch.object(six.moves.builtins, 'open', mock.patch('builtins.open', new=mock.mock_open()),
new=mock.mock_open()), mock.patch('builtins.__import__', side_effect=fake_import),
mock.patch.object(six.moves.builtins, '__import__',
side_effect=fake_import),
) as (mock_open, mock_import): ) as (mock_open, mock_import):
nova.privsep.libvirt.readpty('/fake/path') nova.privsep.libvirt.readpty('/fake/path')
@ -158,8 +155,7 @@ class LibvirtTestCase(test.NoDBTestCase):
def test_create_nmdev(self): def test_create_nmdev(self):
mock_open = mock.mock_open() mock_open = mock.mock_open()
with mock.patch.object(six.moves.builtins, 'open', with mock.patch('builtins.open', new=mock_open) as mock_open:
new=mock_open) as mock_open:
nova.privsep.libvirt.create_mdev('phys', 'mdevtype', nova.privsep.libvirt.create_mdev('phys', 'mdevtype',
uuid='fakeuuid') uuid='fakeuuid')

View File

@ -16,7 +16,6 @@
import mock import mock
import os import os
import six
import tempfile import tempfile
from nova import exception from nova import exception
@ -35,8 +34,7 @@ class FileTestCase(test.NoDBTestCase):
@mock.patch('os.path.exists', return_value=True) @mock.patch('os.path.exists', return_value=True)
def test_readfile(self, mock_exists): def test_readfile(self, mock_exists):
mock_open = mock.mock_open(read_data='hello world') mock_open = mock.mock_open(read_data='hello world')
with mock.patch.object(six.moves.builtins, 'open', with mock.patch('builtins.open', new=mock_open):
new=mock_open):
self.assertEqual('hello world', self.assertEqual('hello world',
nova.privsep.path.readfile('/fake/path')) nova.privsep.path.readfile('/fake/path'))
@ -49,8 +47,7 @@ class FileTestCase(test.NoDBTestCase):
@mock.patch('os.path.exists', return_value=True) @mock.patch('os.path.exists', return_value=True)
def test_write(self, mock_exists): def test_write(self, mock_exists):
mock_open = mock.mock_open() mock_open = mock.mock_open()
with mock.patch.object(six.moves.builtins, 'open', with mock.patch('builtins.open', new=mock_open):
new=mock_open):
nova.privsep.path.writefile('/fake/path/file', 'w', 'foo') nova.privsep.path.writefile('/fake/path/file', 'w', 'foo')
handle = mock_open() handle = mock_open()

View File

@ -11,6 +11,7 @@
# under the License. # under the License.
import copy import copy
import time import time
from urllib import parse
import fixtures import fixtures
from keystoneauth1 import exceptions as ks_exc from keystoneauth1 import exceptions as ks_exc
@ -19,7 +20,6 @@ import os_resource_classes as orc
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
import six import six
from six.moves.urllib import parse
import nova.conf import nova.conf
from nova import context from nova import context

View File

@ -19,7 +19,6 @@ import inspect
import mock import mock
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from six.moves import range
from nova import filters from nova import filters
from nova import loadables from nova import loadables

View File

@ -16,6 +16,7 @@
Tests for Crypto module. Tests for Crypto module.
""" """
import io
import os import os
from castellan.common import exception as castellan_exception from castellan.common import exception as castellan_exception
@ -25,7 +26,6 @@ import mock
from oslo_concurrency import processutils from oslo_concurrency import processutils
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
import paramiko import paramiko
import six
from nova import context as nova_context from nova import context as nova_context
from nova import crypto from nova import crypto
@ -210,7 +210,7 @@ class KeyPairTest(test.NoDBTestCase):
self.assertEqual(bits, pkey.key_size) self.assertEqual(bits, pkey.key_size)
def test_generate_key_pair_mocked_private_key(self): def test_generate_key_pair_mocked_private_key(self):
keyin = six.StringIO() keyin = io.StringIO()
keyin.write(self.rsa_prv) keyin.write(self.rsa_prv)
keyin.seek(0) keyin.seek(0)
key = paramiko.RSAKey.from_private_key(keyin) key = paramiko.RSAKey.from_private_key(keyin)

View File

@ -55,7 +55,7 @@ class TestJsonRef(test.NoDBTestCase):
d = copy.deepcopy(input) d = copy.deepcopy(input)
@mock.patch('oslo_serialization.jsonutils.load') @mock.patch('oslo_serialization.jsonutils.load')
@mock.patch('six.moves.builtins.open', new_callable=mock.mock_open()) @mock.patch('builtins.open', new_callable=mock.mock_open())
def test_resolve_ref(self, mock_open, mock_json_load): def test_resolve_ref(self, mock_open, mock_json_load):
mock_json_load.return_value = {'baz': 13} mock_json_load.return_value = {'baz': 13}
@ -70,7 +70,7 @@ class TestJsonRef(test.NoDBTestCase):
mock_open.assert_called_once_with('some/base/path/another.json', 'r+b') mock_open.assert_called_once_with('some/base/path/another.json', 'r+b')
@mock.patch('oslo_serialization.jsonutils.load') @mock.patch('oslo_serialization.jsonutils.load')
@mock.patch('six.moves.builtins.open', new_callable=mock.mock_open()) @mock.patch('builtins.open', new_callable=mock.mock_open())
def test_resolve_ref_recursively(self, mock_open, mock_json_load): def test_resolve_ref_recursively(self, mock_open, mock_json_load):
mock_json_load.side_effect = [ mock_json_load.side_effect = [
# this is the content of direct_ref.json # this is the content of direct_ref.json
@ -94,7 +94,7 @@ class TestJsonRef(test.NoDBTestCase):
'r+b') 'r+b')
@mock.patch('oslo_serialization.jsonutils.load') @mock.patch('oslo_serialization.jsonutils.load')
@mock.patch('six.moves.builtins.open', new_callable=mock.mock_open()) @mock.patch('builtins.open', new_callable=mock.mock_open())
def test_resolve_ref_with_override(self, mock_open, mock_json_load): def test_resolve_ref_with_override(self, mock_open, mock_json_load):
mock_json_load.return_value = {'baz': 13, mock_json_load.return_value = {'baz': 13,
'boo': 42} 'boo': 42}
@ -112,7 +112,7 @@ class TestJsonRef(test.NoDBTestCase):
mock_open.assert_called_once_with('some/base/path/another.json', 'r+b') mock_open.assert_called_once_with('some/base/path/another.json', 'r+b')
@mock.patch('oslo_serialization.jsonutils.load') @mock.patch('oslo_serialization.jsonutils.load')
@mock.patch('six.moves.builtins.open', new_callable=mock.mock_open()) @mock.patch('builtins.open', new_callable=mock.mock_open())
def test_resolve_ref_with_nested_override(self, mock_open, mock_json_load): def test_resolve_ref_with_nested_override(self, mock_open, mock_json_load):
mock_json_load.return_value = {'baz': 13, mock_json_load.return_value = {'baz': 13,
'boo': {'a': 1, 'boo': {'a': 1,
@ -134,7 +134,7 @@ class TestJsonRef(test.NoDBTestCase):
mock_open.assert_called_once_with('some/base/path/another.json', 'r+b') mock_open.assert_called_once_with('some/base/path/another.json', 'r+b')
@mock.patch('oslo_serialization.jsonutils.load') @mock.patch('oslo_serialization.jsonutils.load')
@mock.patch('six.moves.builtins.open', new_callable=mock.mock_open()) @mock.patch('builtins.open', new_callable=mock.mock_open())
def test_resolve_ref_with_override_having_refs(self, mock_open, def test_resolve_ref_with_override_having_refs(self, mock_open,
mock_json_load): mock_json_load):
mock_json_load.side_effect = [ mock_json_load.side_effect = [

View File

@ -13,12 +13,12 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import importlib
import inspect import inspect
import os import os
from oslo_utils import importutils from oslo_utils import importutils
import osprofiler.opts as profiler import osprofiler.opts as profiler
import six.moves as six
from nova import conf from nova import conf
from nova import test from nova import test
@ -44,7 +44,7 @@ class TestProfiler(test.NoDBTestCase):
# reinitialize the metaclass after enabling osprofiler # reinitialize the metaclass after enabling osprofiler
profiler.set_defaults(conf.CONF) profiler.set_defaults(conf.CONF)
self.flags(enabled=True, group='profiler') self.flags(enabled=True, group='profiler')
six.reload_module(importutils.import_module('nova.manager')) importlib.reload(importutils.import_module('nova.manager'))
classes = [ classes = [
'nova.compute.api.API', 'nova.compute.api.API',
@ -64,7 +64,7 @@ class TestProfiler(test.NoDBTestCase):
for clsname in classes: for clsname in classes:
# give the metaclass and trace_cls() decorator a chance to patch # give the metaclass and trace_cls() decorator a chance to patch
# methods of the classes above # methods of the classes above
six.reload_module( importlib.reload(
importutils.import_module(clsname.rsplit('.', 1)[0])) importutils.import_module(clsname.rsplit('.', 1)[0]))
cls = importutils.import_class(clsname) cls = importutils.import_class(clsname)

View File

@ -17,7 +17,6 @@
import ddt import ddt
import mock import mock
from oslo_db.sqlalchemy import enginefacade from oslo_db.sqlalchemy import enginefacade
from six.moves import range
from nova.compute import api as compute from nova.compute import api as compute
import nova.conf import nova.conf

View File

@ -60,6 +60,5 @@ class TestUtilsTestCase(test.TestCase):
self.assertTrue(test_utils.is_ipv6_supported()) self.assertTrue(test_utils.is_ipv6_supported())
with fixtures.MonkeyPatch('sys.platform', 'linux2'): with fixtures.MonkeyPatch('sys.platform', 'linux2'):
with fixtures.MonkeyPatch('six.moves.builtins.open', with fixtures.MonkeyPatch('builtins.open', fake_open):
fake_open):
self.assertFalse(test_utils.is_ipv6_supported()) self.assertFalse(test_utils.is_ipv6_supported())

View File

@ -260,7 +260,7 @@ class TestCachedFile(test.NoDBTestCase):
fake_contents = "lorem ipsum" fake_contents = "lorem ipsum"
with mock.patch('six.moves.builtins.open', with mock.patch('builtins.open',
mock.mock_open(read_data=fake_contents)): mock.mock_open(read_data=fake_contents)):
fresh, data = utils.read_cached_file("/this/is/a/fake") fresh, data = utils.read_cached_file("/this/is/a/fake")

View File

@ -19,7 +19,6 @@ import socket
import sys import sys
import mock import mock
from six.moves import range
from nova.compute import flavors from nova.compute import flavors
import nova.conf import nova.conf

View File

@ -16,7 +16,6 @@
import mock import mock
from os_win import utilsfactory from os_win import utilsfactory
from six.moves import builtins
from nova import test from nova import test
@ -26,8 +25,8 @@ class HyperVBaseTestCase(test.NoDBTestCase):
super(HyperVBaseTestCase, self).setUp() super(HyperVBaseTestCase, self).setUp()
self._mock_wmi = mock.MagicMock() self._mock_wmi = mock.MagicMock()
wmi_patcher = mock.patch.object(builtins, 'wmi', create=True, wmi_patcher = mock.patch('builtins.wmi', create=True,
new=self._mock_wmi) new=self._mock_wmi)
platform_patcher = mock.patch('sys.platform', 'win32') platform_patcher = mock.patch('sys.platform', 'win32')
utilsfactory_patcher = mock.patch.object(utilsfactory, '_get_class') utilsfactory_patcher = mock.patch.object(utilsfactory, '_get_class')

View File

@ -16,7 +16,6 @@ import os
import time import time
import mock import mock
from six.moves import builtins
from nova import exception from nova import exception
from nova.tests.unit.virt.hyperv import test_base from nova.tests.unit.virt.hyperv import test_base
@ -121,8 +120,8 @@ class PathUtilsTestCase(test_base.HyperVBaseTestCase):
fake_windows_error = WindowsError fake_windows_error = WindowsError
self._pathutils.check_create_dir = mock.MagicMock( self._pathutils.check_create_dir = mock.MagicMock(
side_effect=WindowsError(pathutils.ERROR_INVALID_NAME)) side_effect=WindowsError(pathutils.ERROR_INVALID_NAME))
with mock.patch.object(builtins, 'WindowsError', with mock.patch('builtins.WindowsError',
fake_windows_error, create=True): fake_windows_error, create=True):
self.assertRaises(exception.AdminRequired, self.assertRaises(exception.AdminRequired,
self._pathutils._get_instances_sub_dir, self._pathutils._get_instances_sub_dir,
fake_dir_name) fake_dir_name)

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
import mock import mock
from six.moves import builtins
from nova import exception from nova import exception
from nova.tests.unit.virt.hyperv import test_base from nova.tests.unit.virt.hyperv import test_base
@ -89,7 +88,7 @@ class SerialConsoleOpsTestCase(test_base.HyperVBaseTestCase):
self._serialops.get_serial_console, self._serialops.get_serial_console,
mock.sentinel.instance_name) mock.sentinel.instance_name)
@mock.patch.object(builtins, 'open') @mock.patch('builtins.open')
@mock.patch("os.path.exists") @mock.patch("os.path.exists")
def test_get_console_output_exception(self, fake_path_exists, fake_open): def test_get_console_output_exception(self, fake_path_exists, fake_open):
self._serialops._pathutils.get_vm_console_log_paths.return_value = [ self._serialops._pathutils.get_vm_console_log_paths.return_value = [

View File

@ -60,7 +60,6 @@ from oslo_utils import units
from oslo_utils import uuidutils from oslo_utils import uuidutils
from oslo_utils import versionutils from oslo_utils import versionutils
import six import six
from six.moves import range
from nova.api.metadata import base as instance_metadata from nova.api.metadata import base as instance_metadata
from nova.compute import manager from nova.compute import manager
@ -15739,8 +15738,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
with test.nested( with test.nested(
mock.patch('os.path.exists', mock.patch('os.path.exists',
side_effect=mock_path_exists), side_effect=mock_path_exists),
mock.patch.object(six.moves.builtins, 'open', mock.patch('builtins.open', fake_open)):
fake_open)):
log_data = drvr.get_console_output(self.context, log_data = drvr.get_console_output(self.context,
instance) instance)
finally: finally:
@ -20764,7 +20762,7 @@ class TestGuestConfigSysinfoSerialOS(test.NoDBTestCase):
self.flags(sysinfo_serial="os", group="libvirt") self.flags(sysinfo_serial="os", group="libvirt")
theuuid = "56b40135-a973-4eb3-87bb-a2382a3e6dbc" theuuid = "56b40135-a973-4eb3-87bb-a2382a3e6dbc"
with test.nested( with test.nested(
mock.patch.object(six.moves.builtins, "open", mock.patch('builtins.open',
mock.mock_open(read_data=theuuid)), mock.mock_open(read_data=theuuid)),
self.patch_exists("/etc/machine-id", True)): self.patch_exists("/etc/machine-id", True)):
self._test_get_guest_config_sysinfo_serial(theuuid) self._test_get_guest_config_sysinfo_serial(theuuid)
@ -20772,8 +20770,7 @@ class TestGuestConfigSysinfoSerialOS(test.NoDBTestCase):
def test_get_guest_config_sysinfo_serial_os_empty_machine_id(self): def test_get_guest_config_sysinfo_serial_os_empty_machine_id(self):
self.flags(sysinfo_serial="os", group="libvirt") self.flags(sysinfo_serial="os", group="libvirt")
with test.nested( with test.nested(
mock.patch.object(six.moves.builtins, "open", mock.patch('builtins.open', mock.mock_open(read_data="")),
mock.mock_open(read_data="")),
self.patch_exists("/etc/machine-id", True)): self.patch_exists("/etc/machine-id", True)):
self.assertRaises(exception.NovaException, self.assertRaises(exception.NovaException,
self._test_get_guest_config_sysinfo_serial, self._test_get_guest_config_sysinfo_serial,

View File

@ -23,10 +23,8 @@ import mock
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import builtins
import testtools import testtools
from nova.compute import vm_states from nova.compute import vm_states
from nova import exception from nova import exception
from nova import objects from nova import objects
@ -959,7 +957,7 @@ SwapCached: 0 kB
Active: 8381604 kB Active: 8381604 kB
""") """)
with test.nested( with test.nested(
mock.patch.object(builtins, "open", m, create=True), mock.patch('builtins.open', m, create=True),
mock.patch.object(host.Host, "get_connection"), mock.patch.object(host.Host, "get_connection"),
) as (mock_file, mock_conn): ) as (mock_file, mock_conn):
mock_conn().getInfo.return_value = [ mock_conn().getInfo.return_value = [
@ -996,7 +994,7 @@ Active: 8381604 kB
""") """)
with test.nested( with test.nested(
mock.patch.object(six.moves.builtins, "open", m, create=True), mock.patch('builtins.open', m, create=True),
mock.patch.object(host.Host, mock.patch.object(host.Host,
"list_guests"), "list_guests"),
mock.patch.object(libvirt_driver.LibvirtDriver, mock.patch.object(libvirt_driver.LibvirtDriver,
@ -1232,8 +1230,7 @@ Active: 8381604 kB
read_data="""cg /cgroup/cpu,cpuacct cg opt1,cpu,opt3 0 0 read_data="""cg /cgroup/cpu,cpuacct cg opt1,cpu,opt3 0 0
cg /cgroup/memory cg opt1,opt2 0 0 cg /cgroup/memory cg opt1,opt2 0 0
""") """)
with mock.patch( with mock.patch('builtins.open', m, create=True):
"six.moves.builtins.open", m, create=True):
self.assertTrue(self.host.is_cpu_control_policy_capable()) self.assertTrue(self.host.is_cpu_control_policy_capable())
def test_is_cpu_control_policy_capable_ko(self): def test_is_cpu_control_policy_capable_ko(self):
@ -1241,11 +1238,10 @@ cg /cgroup/memory cg opt1,opt2 0 0
read_data="""cg /cgroup/cpu,cpuacct cg opt1,opt2,opt3 0 0 read_data="""cg /cgroup/cpu,cpuacct cg opt1,opt2,opt3 0 0
cg /cgroup/memory cg opt1,opt2 0 0 cg /cgroup/memory cg opt1,opt2 0 0
""") """)
with mock.patch( with mock.patch('builtins.open', m, create=True):
"six.moves.builtins.open", m, create=True):
self.assertFalse(self.host.is_cpu_control_policy_capable()) self.assertFalse(self.host.is_cpu_control_policy_capable())
@mock.patch('six.moves.builtins.open', side_effect=IOError) @mock.patch('builtins.open', side_effect=IOError)
def test_is_cpu_control_policy_capable_ioerror(self, mock_open): def test_is_cpu_control_policy_capable_ioerror(self, mock_open):
self.assertFalse(self.host.is_cpu_control_policy_capable()) self.assertFalse(self.host.is_cpu_control_policy_capable())
@ -1321,26 +1317,26 @@ class TestLibvirtSEVUnsupported(TestLibvirtSEV):
'/sys/module/kvm_amd/parameters/sev') '/sys/module/kvm_amd/parameters/sev')
@mock.patch.object(os.path, 'exists', return_value=True) @mock.patch.object(os.path, 'exists', return_value=True)
@mock.patch.object(builtins, 'open', mock.mock_open(read_data="0\n")) @mock.patch('builtins.open', mock.mock_open(read_data="0\n"))
def test_kernel_parameter_zero(self, fake_exists): def test_kernel_parameter_zero(self, fake_exists):
self.assertFalse(self.host._kernel_supports_amd_sev()) self.assertFalse(self.host._kernel_supports_amd_sev())
fake_exists.assert_called_once_with( fake_exists.assert_called_once_with(
'/sys/module/kvm_amd/parameters/sev') '/sys/module/kvm_amd/parameters/sev')
@mock.patch.object(os.path, 'exists', return_value=True) @mock.patch.object(os.path, 'exists', return_value=True)
@mock.patch.object(builtins, 'open', mock.mock_open(read_data="1\n")) @mock.patch('builtins.open', mock.mock_open(read_data="1\n"))
def test_kernel_parameter_one(self, fake_exists): def test_kernel_parameter_one(self, fake_exists):
self.assertTrue(self.host._kernel_supports_amd_sev()) self.assertTrue(self.host._kernel_supports_amd_sev())
fake_exists.assert_called_once_with( fake_exists.assert_called_once_with(
'/sys/module/kvm_amd/parameters/sev') '/sys/module/kvm_amd/parameters/sev')
@mock.patch.object(os.path, 'exists', return_value=True) @mock.patch.object(os.path, 'exists', return_value=True)
@mock.patch.object(builtins, 'open', mock.mock_open(read_data="1\n")) @mock.patch('builtins.open', mock.mock_open(read_data="1\n"))
def test_unsupported_without_feature(self, fake_exists): def test_unsupported_without_feature(self, fake_exists):
self.assertFalse(self.host.supports_amd_sev) self.assertFalse(self.host.supports_amd_sev)
@mock.patch.object(os.path, 'exists', return_value=True) @mock.patch.object(os.path, 'exists', return_value=True)
@mock.patch.object(builtins, 'open', mock.mock_open(read_data="1\n")) @mock.patch('builtins.open', mock.mock_open(read_data="1\n"))
@mock.patch.object(vc, '_domain_capability_features', @mock.patch.object(vc, '_domain_capability_features',
new=vc._domain_capability_features_with_SEV_unsupported) new=vc._domain_capability_features_with_SEV_unsupported)
def test_unsupported_with_feature(self, fake_exists): def test_unsupported_with_feature(self, fake_exists):
@ -1351,7 +1347,7 @@ class TestLibvirtSEVSupported(TestLibvirtSEV):
"""Libvirt driver tests for when AMD SEV support is present.""" """Libvirt driver tests for when AMD SEV support is present."""
@mock.patch.object(os.path, 'exists', return_value=True) @mock.patch.object(os.path, 'exists', return_value=True)
@mock.patch.object(builtins, 'open', mock.mock_open(read_data="1\n")) @mock.patch('builtins.open', mock.mock_open(read_data="1\n"))
@mock.patch.object(vc, '_domain_capability_features', @mock.patch.object(vc, '_domain_capability_features',
new=vc._domain_capability_features_with_SEV) new=vc._domain_capability_features_with_SEV)
def test_supported_with_feature(self, fake_exists): def test_supported_with_feature(self, fake_exists):

View File

@ -15,6 +15,7 @@
import contextlib import contextlib
import io
import os import os
import time import time
@ -24,7 +25,6 @@ from oslo_concurrency import processutils
from oslo_log import formatters from oslo_log import formatters
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
from six.moves import cStringIO
from nova.compute import manager as compute_manager from nova.compute import manager as compute_manager
import nova.conf import nova.conf
@ -42,7 +42,7 @@ CONF = nova.conf.CONF
def intercept_log_messages(): def intercept_log_messages():
try: try:
mylog = logging.getLogger('nova') mylog = logging.getLogger('nova')
stream = cStringIO() stream = io.StringIO()
handler = logging.logging.StreamHandler(stream) handler = logging.logging.StreamHandler(stream)
handler.setFormatter(formatters.ContextFormatter()) handler.setFormatter(formatters.ContextFormatter())
mylog.logger.addHandler(handler) mylog.logger.addHandler(handler)

View File

@ -26,7 +26,6 @@ from oslo_concurrency import processutils
from oslo_config import cfg from oslo_config import cfg
from oslo_utils import fileutils from oslo_utils import fileutils
from oslo_utils.fixture import uuidsentinel as uuids from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.compute import utils as compute_utils from nova.compute import utils as compute_utils
from nova import context from nova import context
@ -549,19 +548,19 @@ sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
# Source is given, and matches source in /proc/mounts # Source is given, and matches source in /proc/mounts
proc_mnt = mock.mock_open(read_data=proc_with_mnt) proc_mnt = mock.mock_open(read_data=proc_with_mnt)
with mock.patch.object(six.moves.builtins, "open", proc_mnt): with mock.patch('builtins.open', proc_mnt):
self.assertTrue(libvirt_utils.is_mounted(mount_path, source)) self.assertTrue(libvirt_utils.is_mounted(mount_path, source))
# Source is given, and doesn't match source in /proc/mounts # Source is given, and doesn't match source in /proc/mounts
proc_mnt = mock.mock_open(read_data=proc_wrong_mnt) proc_mnt = mock.mock_open(read_data=proc_wrong_mnt)
with mock.patch.object(six.moves.builtins, "open", proc_mnt): with mock.patch('builtins.open', proc_mnt):
self.assertFalse(libvirt_utils.is_mounted(mount_path, source)) self.assertFalse(libvirt_utils.is_mounted(mount_path, source))
# Source is given, and mountpoint isn't present in /proc/mounts # Source is given, and mountpoint isn't present in /proc/mounts
# Note that this shouldn't occur, as os.path.ismount should have # Note that this shouldn't occur, as os.path.ismount should have
# previously returned False in this case. # previously returned False in this case.
proc_umnt = mock.mock_open(read_data=proc_without_mnt) proc_umnt = mock.mock_open(read_data=proc_without_mnt)
with mock.patch.object(six.moves.builtins, "open", proc_umnt): with mock.patch('builtins.open', proc_umnt):
self.assertFalse(libvirt_utils.is_mounted(mount_path, source)) self.assertFalse(libvirt_utils.is_mounted(mount_path, source))
def test_find_disk_file_device(self): def test_find_disk_file_device(self):

View File

@ -15,10 +15,8 @@
# under the License. # under the License.
import mock import mock
import six
from nova import test from nova import test
from nova.virt.powervm import image from nova.virt.powervm import image
@ -28,7 +26,7 @@ class TestImage(test.TestCase):
@mock.patch('nova.image.glance.API', autospec=True) @mock.patch('nova.image.glance.API', autospec=True)
def test_stream_blockdev_to_glance(self, mock_api, mock_chown): def test_stream_blockdev_to_glance(self, mock_api, mock_chown):
mock_open = mock.mock_open() mock_open = mock.mock_open()
with mock.patch.object(six.moves.builtins, 'open', new=mock_open): with mock.patch('builtins.open', new=mock_open):
image.stream_blockdev_to_glance('context', mock_api, 'image_id', image.stream_blockdev_to_glance('context', mock_api, 'image_id',
'metadata', '/dev/disk') 'metadata', '/dev/disk')
mock_chown.assert_called_with('/dev/disk') mock_chown.assert_called_with('/dev/disk')

View File

@ -122,7 +122,7 @@ class TestDiskImage(test.NoDBTestCase):
response = io.StringIO(six.text_type(PROC_MOUNTS_CONTENTS)) response = io.StringIO(six.text_type(PROC_MOUNTS_CONTENTS))
mock_open.return_value = response mock_open.return_value = response
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
def test_mount(self, mock_open): def test_mount(self, mock_open):
self.mock_proc_mounts(mock_open) self.mock_proc_mounts(mock_open)
image = '/tmp/fake-image' image = '/tmp/fake-image'
@ -139,7 +139,7 @@ class TestDiskImage(test.NoDBTestCase):
self.assertEqual(diskimage._mounter, fakemount) self.assertEqual(diskimage._mounter, fakemount)
self.assertEqual(dev, '/dev/fake') self.assertEqual(dev, '/dev/fake')
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
def test_umount(self, mock_open): def test_umount(self, mock_open):
self.mock_proc_mounts(mock_open) self.mock_proc_mounts(mock_open)
@ -159,7 +159,7 @@ class TestDiskImage(test.NoDBTestCase):
diskimage.umount() diskimage.umount()
self.assertIsNone(diskimage._mounter) self.assertIsNone(diskimage._mounter)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
def test_teardown(self, mock_open): def test_teardown(self, mock_open):
self.mock_proc_mounts(mock_open) self.mock_proc_mounts(mock_open)

View File

@ -16,7 +16,6 @@ import copy
import mock import mock
import os import os
from oslo_utils.fixture import uuidsentinel from oslo_utils.fixture import uuidsentinel
import six
from nova.compute import provider_tree from nova.compute import provider_tree
from nova import conf from nova import conf
@ -331,7 +330,7 @@ class TestZVMDriver(test.NoDBTestCase):
allocations=None, network_info=self._network_info, allocations=None, network_info=self._network_info,
block_device_info=None) block_device_info=None)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.get_remote_image_service') @mock.patch('nova.image.glance.get_remote_image_service')
@mock.patch('nova.virt.zvm.utils.ConnectorClient.call') @mock.patch('nova.virt.zvm.utils.ConnectorClient.call')
def test_snapshot(self, call, get_image_service, mock_open): def test_snapshot(self, call, get_image_service, mock_open):
@ -421,7 +420,7 @@ class TestZVMDriver(test.NoDBTestCase):
mock_delete.assert_called_once_with(image_id) mock_delete.assert_called_once_with(image_id)
image_service.delete.assert_called_once_with(self._context, image_id) image_service.delete.assert_called_once_with(self._context, image_id)
@mock.patch.object(six.moves.builtins, 'open') @mock.patch('builtins.open')
@mock.patch('nova.image.glance.get_remote_image_service') @mock.patch('nova.image.glance.get_remote_image_service')
@mock.patch('nova.virt.zvm.utils.ConnectorClient.call') @mock.patch('nova.virt.zvm.utils.ConnectorClient.call')
@mock.patch('nova.virt.zvm.hypervisor.Hypervisor.image_delete') @mock.patch('nova.virt.zvm.hypervisor.Hypervisor.image_delete')

View File

@ -46,7 +46,6 @@ from oslo_utils import importutils
from oslo_utils import strutils from oslo_utils import strutils
from oslo_utils import timeutils from oslo_utils import timeutils
import six import six
from six.moves import range
import nova.conf import nova.conf
from nova import exception from nova import exception

View File

@ -27,7 +27,7 @@ def _load_config():
# Don't load in global context, since we can't assume # Don't load in global context, since we can't assume
# these modules are accessible when distutils uses # these modules are accessible when distutils uses
# this module # this module
from six.moves import configparser import configparser
from oslo_config import cfg from oslo_config import cfg

View File

@ -25,6 +25,7 @@ import gzip
import shutil import shutil
import tempfile import tempfile
import time import time
from urllib import parse as urlparse
from openstack import exceptions as sdk_exc from openstack import exceptions as sdk_exc
from oslo_log import log as logging from oslo_log import log as logging
@ -33,7 +34,6 @@ from oslo_service import loopingcall
from oslo_utils import excutils from oslo_utils import excutils
from oslo_utils import importutils from oslo_utils import importutils
import six import six
import six.moves.urllib.parse as urlparse
from tooz import hashring as hash_ring from tooz import hashring as hash_ring
from nova.api.metadata import base as instance_metadata from nova.api.metadata import base as instance_metadata

View File

@ -73,7 +73,6 @@ from oslo_utils import timeutils
from oslo_utils import units from oslo_utils import units
from oslo_utils import uuidutils from oslo_utils import uuidutils
import six import six
from six.moves import range
from nova.api.metadata import base as instance_metadata from nova.api.metadata import base as instance_metadata
from nova.api.metadata import password from nova.api.metadata import password
@ -5835,7 +5834,7 @@ class LibvirtDriver(driver.ComputeDriver):
def _create_serial_consoles(self, guest_cfg, num_ports, char_dev_cls, def _create_serial_consoles(self, guest_cfg, num_ports, char_dev_cls,
log_path): log_path):
for port in six.moves.range(num_ports): for port in range(num_ports):
console = char_dev_cls() console = char_dev_cls()
console.port = port console.port = port
console.type = "tcp" console.type = "tcp"
@ -7409,7 +7408,7 @@ class LibvirtDriver(driver.ComputeDriver):
parent_device, supported_types) parent_device, supported_types)
chosen_mdevs = [] chosen_mdevs = []
for c in six.moves.range(vgpus_asked): for c in range(vgpus_asked):
chosen_mdev = None chosen_mdev = None
if mdevs_available: if mdevs_available:
# Take the first available mdev # Take the first available mdev
@ -9682,7 +9681,7 @@ class LibvirtDriver(driver.ComputeDriver):
if CONF.serial_console.enabled: if CONF.serial_console.enabled:
num_ports = hardware.get_number_of_serial_ports( num_ports = hardware.get_number_of_serial_ports(
instance.flavor, instance.image_meta) instance.flavor, instance.image_meta)
for port in six.moves.range(num_ports): for port in range(num_ports):
migrate_data.serial_listen_ports.append( migrate_data.serial_listen_ports.append(
serial_console.acquire_port( serial_console.acquire_port(
migrate_data.serial_listen_addr)) migrate_data.serial_listen_addr))

View File

@ -13,9 +13,10 @@
# under the License. # under the License.
import os import os
from urllib import parse as urlparse
from oslo_log import log as logging from oslo_log import log as logging
import six import six
import six.moves.urllib.parse as urlparse
from zvmconnector import connector from zvmconnector import connector
from oslo_utils import fileutils from oslo_utils import fileutils

View File

@ -22,6 +22,7 @@ import collections
import copy import copy
import functools import functools
import sys import sys
import urllib
from cinderclient import api_versions as cinder_api_versions from cinderclient import api_versions as cinder_api_versions
from cinderclient import apiclient as cinder_apiclient from cinderclient import apiclient as cinder_apiclient
@ -36,7 +37,6 @@ from oslo_utils import excutils
from oslo_utils import strutils from oslo_utils import strutils
import retrying import retrying
import six import six
from six.moves import urllib
from nova import availability_zones as az from nova import availability_zones as az
import nova.conf import nova.conf