diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2010-07-18 13:25:43 -0500 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2010-07-18 13:25:43 -0500 |
| commit | 5d647826d6345bfdd87bad10995319679f39679f (patch) | |
| tree | 979b3fa11717c38b868b08239cbf3a50b4e27f49 /nova | |
| parent | 0b396e1315a76112ab978a677e96d7b3a371faa9 (diff) | |
| parent | b09e69c5579526fcc1a08c7e3c3a3c880fa09297 (diff) | |
merged in trunk and fixed import merge errors
Diffstat (limited to 'nova')
45 files changed, 102 insertions, 169 deletions
diff --git a/nova/adminclient.py b/nova/adminclient.py index 1a5f41418..db392feb1 100644 --- a/nova/adminclient.py +++ b/nova/adminclient.py @@ -20,8 +20,6 @@ Nova User API client library. """ import base64 - -from nova import vendor import boto from boto.ec2.regioninfo import RegionInfo diff --git a/nova/auth/signer.py b/nova/auth/signer.py index a3d3c5329..83831bfac 100644 --- a/nova/auth/signer.py +++ b/nova/auth/signer.py @@ -43,11 +43,12 @@ Utility class for parsing signed AMI manifests. """ -import logging +import base64 import hashlib import hmac +import logging import urllib -import base64 + from nova.exception import Error class Signer(object): diff --git a/nova/auth/users.py b/nova/auth/users.py index 72edcc2aa..fc08dc34d 100644 --- a/nova/auth/users.py +++ b/nova/auth/users.py @@ -26,7 +26,6 @@ import os import shutil import signer import string -from string import Template import tempfile import uuid import zipfile @@ -44,8 +43,6 @@ from nova import exception from nova import flags from nova import crypto from nova import utils - - from nova import objectstore # for flags FLAGS = flags.FLAGS @@ -462,11 +459,11 @@ class UserManager(object): description=None, member_users=None): if member_users: member_users = [User.safe_id(u) for u in member_users] + # NOTE(vish): try to associate a vpn ip and port first because + # if it throws an exception, we save having to + # create and destroy a project + Vpn.create(name) with LDAPWrapper() as conn: - # NOTE(vish): try to associate a vpn ip and port first because - # if it throws an exception, we save having to - # create and destroy a project - Vpn.create(name) return conn.create_project(name, User.safe_id(manager_user), description, @@ -527,15 +524,16 @@ class UserManager(object): with LDAPWrapper() as conn: user = User.safe_id(user) result = conn.create_user(user, access, secret, admin) - if create_project: - # NOTE(vish): if the project creation fails, we delete - # the user and return an exception - try: - conn.create_project(user, user, user) - except Exception: + if create_project: + # NOTE(vish): if the project creation fails, we delete + # the user and return an exception + try: + conn.create_project(user, user, user) + except Exception: + with LDAPWrapper() as conn: conn.delete_user(user) - raise - return result + raise + return result def delete_user(self, user, delete_project=True): with LDAPWrapper() as conn: diff --git a/nova/cloudpipe/api.py b/nova/cloudpipe/api.py index 99a0a1d6d..a5f78a16d 100644 --- a/nova/cloudpipe/api.py +++ b/nova/cloudpipe/api.py @@ -21,14 +21,13 @@ Tornado REST API Request Handlers for CloudPipe """ import logging -import urllib - -from nova import vendor import tornado.web +import urllib from nova import crypto from nova.auth import users + _log = logging.getLogger("api") _log.setLevel(logging.DEBUG) diff --git a/nova/cloudpipe/pipelib.py b/nova/cloudpipe/pipelib.py index de5326c5e..63f7ae222 100644 --- a/nova/cloudpipe/pipelib.py +++ b/nova/cloudpipe/pipelib.py @@ -22,18 +22,19 @@ an instance with it. """ +import base64 import logging import os import tempfile -import base64 -from zipfile import ZipFile, ZIP_DEFLATED +import zipfile from nova import exception from nova import flags -from nova.auth import users from nova import utils +from nova.auth import users from nova.endpoint import api + FLAGS = flags.FLAGS flags.DEFINE_string('boot_script_template', @@ -52,7 +53,7 @@ class CloudPipe(object): tmpfolder = tempfile.mkdtemp() filename = "payload.zip" zippath = os.path.join(tmpfolder, filename) - z = ZipFile(zippath, "w", ZIP_DEFLATED) + z = zipfile.ZipFile(zippath, "w", zipfile.ZIP_DEFLATED) z.write(FLAGS.boot_script_template,'autorun.sh') z.close() diff --git a/nova/compute/disk.py b/nova/compute/disk.py index b24a90d7f..08a22556e 100644 --- a/nova/compute/disk.py +++ b/nova/compute/disk.py @@ -24,12 +24,11 @@ Includes injection of SSH PGP keys into authorized_keys file. import logging import os import tempfile - -from nova import vendor from twisted.internet import defer from nova import exception + @defer.inlineCallbacks def partition(infile, outfile, local_bytes=0, local_type='ext2', execute=None): """Takes a single partition represented by infile and writes a bootable diff --git a/nova/compute/exception.py b/nova/compute/exception.py index fefa7451d..13e4f0a51 100644 --- a/nova/compute/exception.py +++ b/nova/compute/exception.py @@ -22,6 +22,7 @@ Exceptions for Compute Node errors, mostly network addressing. from nova.exception import Error + class NoMoreAddresses(Error): pass diff --git a/nova/compute/linux_net.py b/nova/compute/linux_net.py index 2e5f2519f..eb9614194 100644 --- a/nova/compute/linux_net.py +++ b/nova/compute/linux_net.py @@ -19,11 +19,12 @@ import logging import signal import os -import nova.utils import subprocess # todo(ja): does the definition of network_path belong here? +from nova import utils + from nova import flags FLAGS=flags.FLAGS diff --git a/nova/compute/model.py b/nova/compute/model.py index f1eb99e74..cda188183 100644 --- a/nova/compute/model.py +++ b/nova/compute/model.py @@ -42,8 +42,6 @@ True import logging import time - -from nova import vendor import redis from nova import datastore diff --git a/nova/compute/monitor.py b/nova/compute/monitor.py index b9fe20a71..fdc86b031 100644 --- a/nova/compute/monitor.py +++ b/nova/compute/monitor.py @@ -24,11 +24,18 @@ Instance Monitoring: in the object store. """ +import boto +import boto.s3 import datetime +import libxml2 import logging import os +import rrdtool import sys import time +from twisted.internet import defer +from twisted.internet import task +from twisted.application import service try: import libvirt @@ -36,14 +43,7 @@ except Exception, err: logging.warning('no libvirt found') from nova import flags -from nova import vendor -import boto -import boto.s3 -import libxml2 -import rrdtool -from twisted.internet import defer -from twisted.internet import task -from twisted.application import service + FLAGS = flags.FLAGS flags.DEFINE_integer( diff --git a/nova/compute/network.py b/nova/compute/network.py index 3904fcff0..bdb8a22f9 100644 --- a/nova/compute/network.py +++ b/nova/compute/network.py @@ -20,22 +20,19 @@ Classes for network control, including VLANs, DHCP, and IP allocation. """ +import IPy import logging import os import time -# TODO(termie): clean up these imports -from nova import vendor -import IPy - from nova import datastore +from nova import exception from nova import flags from nova import utils -from nova import exception -from nova.compute import exception as compute_exception from nova.auth import users +from nova.compute import exception as compute_exception +from nova.compute import linux_net -import linux_net FLAGS = flags.FLAGS flags.DEFINE_string('networks_path', utils.abspath('../networks'), @@ -130,8 +127,9 @@ class Vlan(datastore.BasicModel): @datastore.absorb_connection_error def all(cls): set_name = cls._redis_set_name(cls.__name__) - for project,vlan in datastore.Redis.instance().hgetall(set_name): - yield cls(project, vlan) + elements = datastore.Redis.instance().hgetall(set_name) + for project in elements: + yield cls(project, elements[project]) @datastore.absorb_connection_error def save(self): @@ -291,6 +289,7 @@ class BridgedNetwork(BaseNetwork): netmask """ + bridge_gets_ip = False override_type = 'network' @classmethod @@ -532,6 +531,10 @@ def get_vlan_for_project(project_id): return Vlan.create(project_id, vnum) raise compute_exception.AddressNotAllocated("Out of VLANs") +def get_network_by_interface(iface, security_group='default'): + vlan = iface.rpartition("br")[2] + return get_project_network(Vlan.dict_by_vlan().get(vlan), security_group) + def get_network_by_address(address): logging.debug("Get Network By Address: %s" % address) for project in users.UserManager.instance().get_projects(): diff --git a/nova/compute/node.py b/nova/compute/node.py index 7e4277f58..d681ec661 100644 --- a/nova/compute/node.py +++ b/nova/compute/node.py @@ -30,12 +30,11 @@ import logging import os import shutil import sys - -from nova import vendor from twisted.internet import defer from twisted.internet import task from twisted.application import service + try: import libvirt except Exception, err: @@ -49,8 +48,9 @@ from nova import utils from nova.compute import disk from nova.compute import model from nova.compute import network -from nova.volume import storage from nova.objectstore import image # for image_path flag +from nova.volume import storage + FLAGS = flags.FLAGS flags.DEFINE_string('libvirt_xml_template', diff --git a/nova/crypto.py b/nova/crypto.py index 98d412687..cc84f5e45 100644 --- a/nova/crypto.py +++ b/nova/crypto.py @@ -24,6 +24,7 @@ SSH keypairs and x509 certificates. import base64 import hashlib import logging +import M2Crypto import os import shutil import struct @@ -31,9 +32,6 @@ import tempfile import time import utils -from nova import vendor -import M2Crypto - from nova import exception from nova import flags diff --git a/nova/datastore.py b/nova/datastore.py index 8d6272ada..e57177e04 100644 --- a/nova/datastore.py +++ b/nova/datastore.py @@ -24,8 +24,6 @@ before trying to run this. """ import logging - -from nova import vendor import redis from nova import exception @@ -105,7 +103,7 @@ class BasicModel(object): @classmethod def _redis_name(cls): - return self.override_type or cls.__name__ + return cls.override_type or cls.__name__ @classmethod def lookup(cls, identifier): @@ -147,7 +145,7 @@ class BasicModel(object): @property def __redis_key(self): - return '%s:%s' % (self.__class__.__name__.lower(), self.identifier) + return '%s:%s' % (self._redis_name(), self.identifier) def __repr__(self): return "<%s:%s>" % (self.__class__.__name__, self.identifier) diff --git a/nova/endpoint/api.py b/nova/endpoint/api.py index 255519198..79a2aaddb 100755 --- a/nova/endpoint/api.py +++ b/nova/endpoint/api.py @@ -25,21 +25,20 @@ import logging import multiprocessing import random import re +import tornado.web +from twisted.internet import defer import urllib # TODO(termie): replace minidom with etree from xml.dom import minidom -from nova import vendor -import tornado.web -from twisted.internet import defer - from nova import crypto from nova import exception from nova import flags from nova import utils -from nova.endpoint import cloud from nova.auth import users import nova.cloudpipe.api +from nova.endpoint import cloud + FLAGS = flags.FLAGS flags.DEFINE_integer('cc_port', 8773, 'cloud controller port') diff --git a/nova/endpoint/cloud.py b/nova/endpoint/cloud.py index 5b713feb9..3b7b4804b 100644 --- a/nova/endpoint/cloud.py +++ b/nova/endpoint/cloud.py @@ -27,15 +27,13 @@ import json import logging import os import time - -from nova import vendor from twisted.internet import defer from nova import datastore +from nova import exception from nova import flags from nova import rpc from nova import utils -from nova import exception from nova.auth import rbac from nova.auth import users from nova.compute import model @@ -44,6 +42,7 @@ from nova.compute import node from nova.endpoint import images from nova.volume import storage + FLAGS = flags.FLAGS flags.DEFINE_string('cloud_topic', 'cloud', 'the topic clouds listen on') diff --git a/nova/endpoint/images.py b/nova/endpoint/images.py index b17e96819..12876da30 100644 --- a/nova/endpoint/images.py +++ b/nova/endpoint/images.py @@ -21,17 +21,16 @@ Proxy AMI-related calls from the cloud controller, to the running objectstore daemon. """ +import boto +import boto.s3 import json import random import urllib -from nova import vendor -import boto -import boto.s3 - from nova import flags from nova import utils + FLAGS = flags.FLAGS def modify(context, image_id, operation): diff --git a/nova/endpoint/rackspace.py b/nova/endpoint/rackspace.py index 29a077b24..9208ddab7 100644 --- a/nova/endpoint/rackspace.py +++ b/nova/endpoint/rackspace.py @@ -26,21 +26,19 @@ import logging import multiprocessing import os import time - -from nova import vendor import tornado.web from twisted.internet import defer from nova import datastore +from nova import exception from nova import flags from nova import rpc from nova import utils -from nova import exception from nova.auth import users from nova.compute import model from nova.compute import network -from nova.endpoint import wsgi from nova.endpoint import images +from nova.endpoint import wsgi from nova.volume import storage diff --git a/nova/exception.py b/nova/exception.py index 09d894e4b..bda002d1e 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -22,8 +22,8 @@ Nova-type exceptions. SHOULD include dedicated exception logging. """ import logging -import traceback import sys +import traceback class Error(Exception): def __init__(self, message=None): diff --git a/nova/fakerabbit.py b/nova/fakerabbit.py index 00eb18327..689194513 100644 --- a/nova/fakerabbit.py +++ b/nova/fakerabbit.py @@ -18,11 +18,10 @@ """ Based a bit on the carrot.backeds.queue backend... but a lot better """ +from carrot.backends import base import logging import Queue as queue -from carrot.backends import base - class Message(base.BaseMessage): pass diff --git a/nova/flags.py b/nova/flags.py index 22e00a44a..60245a349 100644 --- a/nova/flags.py +++ b/nova/flags.py @@ -23,7 +23,7 @@ where they're used. import socket -from nova import vendor + from gflags import * # This keeps pylint from barfing on the imports diff --git a/nova/objectstore/bucket.py b/nova/objectstore/bucket.py index 61feb4a4c..090ef4e61 100644 --- a/nova/objectstore/bucket.py +++ b/nova/objectstore/bucket.py @@ -20,17 +20,18 @@ Simple object store using Blobs and JSON files on disk. """ +import bisect import datetime import glob import json import os -import bisect from nova import exception from nova import flags from nova import utils from nova.objectstore import stored + FLAGS = flags.FLAGS flags.DEFINE_string('buckets_path', utils.abspath('../buckets'), 'path to s3 buckets') diff --git a/nova/objectstore/handler.py b/nova/objectstore/handler.py index 22cfca5fd..8377a57a6 100644 --- a/nova/objectstore/handler.py +++ b/nova/objectstore/handler.py @@ -38,14 +38,11 @@ S3 client with this module:: import datetime import os -import urllib import json import logging import multiprocessing - - -from nova import vendor from tornado import escape, web +import urllib from nova import exception from nova import flags diff --git a/nova/objectstore/stored.py b/nova/objectstore/stored.py index f1730cbc7..81c047b22 100644 --- a/nova/objectstore/stored.py +++ b/nova/objectstore/stored.py @@ -20,10 +20,11 @@ Properties of an object stored within a bucket. """ -from nova.exception import NotFound, NotAuthorized - import os + import nova.crypto +from nova.exception import NotFound, NotAuthorized + class Object(object): def __init__(self, bucket, key): diff --git a/nova/process.py b/nova/process.py index 00ec4a267..ff789a08a 100644 --- a/nova/process.py +++ b/nova/process.py @@ -23,8 +23,6 @@ Process pool, still buggy right now. import logging import multiprocessing import StringIO - -from nova import vendor from twisted.internet import defer from twisted.internet import error from twisted.internet import process diff --git a/nova/rpc.py b/nova/rpc.py index 72a84b7f7..58a2b29cf 100644 --- a/nova/rpc.py +++ b/nova/rpc.py @@ -21,14 +21,12 @@ AMQP-based RPC. Queues have consumers and publishers. No fan-out support yet. """ +from carrot import connection +from carrot import messaging import json import logging import sys import uuid - -from nova import vendor -from carrot import connection -from carrot import messaging from twisted.internet import defer from twisted.internet import reactor from twisted.internet import task diff --git a/nova/server.py b/nova/server.py index 1a6f33876..7a1901a2f 100644 --- a/nova/server.py +++ b/nova/server.py @@ -20,6 +20,8 @@ Base functionality for nova daemons - gradually being replaced with twistd.py. """ +import daemon +from daemon import pidlockfile import logging import logging.handlers import os @@ -27,10 +29,6 @@ import signal import sys import time -from nova import vendor -import daemon -from daemon import pidlockfile - from nova import flags diff --git a/nova/test.py b/nova/test.py index 1f8a5ff47..5dcf0b9b0 100644 --- a/nova/test.py +++ b/nova/test.py @@ -23,16 +23,14 @@ and some black magic for inline callbacks. """ import logging +import mox +import stubout import time import unittest - -from nova import vendor -import mox from tornado import ioloop from twisted.internet import defer from twisted.python import failure from twisted.trial import unittest as trial_unittest -import stubout from nova import fakerabbit from nova import flags diff --git a/nova/tests/access_unittest.py b/nova/tests/access_unittest.py index 609bda901..8500dd0cb 100644 --- a/nova/tests/access_unittest.py +++ b/nova/tests/access_unittest.py @@ -19,11 +19,12 @@ import unittest import logging -from nova.auth.users import UserManager -from nova.auth import rbac from nova import exception from nova import flags from nova import test +from nova.auth.users import UserManager +from nova.auth import rbac + FLAGS = flags.FLAGS class Context(object): diff --git a/nova/tests/api_integration.py b/nova/tests/api_integration.py index 0ccf69525..23a88f083 100644 --- a/nova/tests/api_integration.py +++ b/nova/tests/api_integration.py @@ -16,10 +16,11 @@ # License for the specific language governing permissions and limitations # under the License. -import unittest import boto from boto.ec2.regioninfo import RegionInfo +import unittest + ACCESS_KEY = 'fake' SECRET_KEY = 'fake' diff --git a/nova/tests/api_unittest.py b/nova/tests/api_unittest.py index aee57b514..e5e2afe26 100644 --- a/nova/tests/api_unittest.py +++ b/nova/tests/api_unittest.py @@ -16,13 +16,11 @@ # License for the specific language governing permissions and limitations # under the License. +import boto +from boto.ec2 import regioninfo import httplib import random import StringIO - -from nova import vendor -import boto -from boto.ec2 import regioninfo from tornado import httpserver from twisted.internet import defer diff --git a/nova/tests/cloud_unittest.py b/nova/tests/cloud_unittest.py index 9df83ec62..b8614fdc8 100644 --- a/nova/tests/cloud_unittest.py +++ b/nova/tests/cloud_unittest.py @@ -19,12 +19,10 @@ import logging import StringIO import time -import unittest -from xml.etree import ElementTree - -from nova import vendor from tornado import ioloop from twisted.internet import defer +import unittest +from xml.etree import ElementTree from nova import flags from nova import rpc diff --git a/nova/tests/future_unittest.py b/nova/tests/future_unittest.py index be4218c39..da5470ffe 100644 --- a/nova/tests/future_unittest.py +++ b/nova/tests/future_unittest.py @@ -17,15 +17,13 @@ # under the License. import logging +import mox import StringIO import time -import unittest -from xml.etree import ElementTree - -from nova import vendor -import mox from tornado import ioloop from twisted.internet import defer +import unittest +from xml.etree import ElementTree from nova import cloud from nova import exception diff --git a/nova/tests/model_unittest.py b/nova/tests/model_unittest.py index f70cab40d..1bd7e527f 100644 --- a/nova/tests/model_unittest.py +++ b/nova/tests/model_unittest.py @@ -18,8 +18,6 @@ import logging import time - -from nova import vendor from twisted.internet import defer from nova import exception diff --git a/nova/tests/network_unittest.py b/nova/tests/network_unittest.py index d24ae133c..444063d0f 100644 --- a/nova/tests/network_unittest.py +++ b/nova/tests/network_unittest.py @@ -16,12 +16,10 @@ # License for the specific language governing permissions and limitations # under the License. +import IPy import os import logging -from nova import vendor -import IPy - from nova import flags from nova import test from nova import utils diff --git a/nova/tests/node_unittest.py b/nova/tests/node_unittest.py index 4f7bbd587..93942d79e 100644 --- a/nova/tests/node_unittest.py +++ b/nova/tests/node_unittest.py @@ -18,11 +18,8 @@ import logging import time - -from xml.etree import ElementTree - -from nova import vendor from twisted.internet import defer +from xml.etree import ElementTree from nova import exception from nova import flags @@ -31,6 +28,7 @@ from nova import utils from nova.compute import model from nova.compute import node + FLAGS = flags.FLAGS diff --git a/nova/tests/objectstore_unittest.py b/nova/tests/objectstore_unittest.py index ca2d31159..f47ca7f00 100644 --- a/nova/tests/objectstore_unittest.py +++ b/nova/tests/objectstore_unittest.py @@ -23,15 +23,13 @@ import os import shutil import tempfile -from nova import vendor - from nova import flags from nova import objectstore from nova import test from nova.auth import users -FLAGS = flags.FLAGS +FLAGS = flags.FLAGS oss_tempdir = tempfile.mkdtemp(prefix='test_oss-') diff --git a/nova/tests/process_unittest.py b/nova/tests/process_unittest.py index 671ab05cd..01648961f 100644 --- a/nova/tests/process_unittest.py +++ b/nova/tests/process_unittest.py @@ -17,11 +17,9 @@ # under the License. import logging -from xml.etree import ElementTree - -from nova import vendor from twisted.internet import defer from twisted.internet import reactor +from xml.etree import ElementTree from nova import exception from nova import flags diff --git a/nova/tests/storage_unittest.py b/nova/tests/storage_unittest.py index b04602b71..60576d74f 100644 --- a/nova/tests/storage_unittest.py +++ b/nova/tests/storage_unittest.py @@ -69,13 +69,11 @@ class StorageTestCase(test.TrialTestCase): vols = [] for i in xrange(total_slots): vid = self.mystorage.create_volume(vol_size, user_id, project_id) - print vid vols.append(vid) self.assertRaises(storage.NoMoreVolumes, self.mystorage.create_volume, vol_size, user_id, project_id) for id in vols: - print id self.mystorage.delete_volume(id) def test_run_attach_detach_volume(self): diff --git a/nova/tests/users_unittest.py b/nova/tests/users_unittest.py index 6110248b5..301721075 100644 --- a/nova/tests/users_unittest.py +++ b/nova/tests/users_unittest.py @@ -17,12 +17,10 @@ # under the License. import logging -import unittest - -from nova import vendor from M2Crypto import BIO from M2Crypto import RSA from M2Crypto import X509 +import unittest from nova import crypto from nova import flags diff --git a/nova/tests/validator_unittest.py b/nova/tests/validator_unittest.py index 38cddfef1..84daa135e 100644 --- a/nova/tests/validator_unittest.py +++ b/nova/tests/validator_unittest.py @@ -19,8 +19,6 @@ import logging import unittest -from nova import vendor - from nova import flags from nova import test from nova import validate diff --git a/nova/twistd.py b/nova/twistd.py index 03de2d0ab..32a46ce03 100644 --- a/nova/twistd.py +++ b/nova/twistd.py @@ -22,22 +22,21 @@ manage pid files and support syslogging. """ import logging +import logging.handlers import os import signal import sys import time -import UserDict -import logging.handlers - -from nova import vendor from twisted.scripts import twistd from twisted.python import log from twisted.python import reflect from twisted.python import runtime from twisted.python import usage +import UserDict from nova import flags + if runtime.platformType == "win32": from twisted.scripts._twistw import ServerOptions else: diff --git a/nova/utils.py b/nova/utils.py index 25181332d..c5b935673 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -20,6 +20,7 @@ System-level utilities and helper functions. """ +from datetime import datetime import inspect import logging import os @@ -27,7 +28,6 @@ import random import subprocess import socket import sys -from datetime import datetime from nova import flags diff --git a/nova/vendor.py b/nova/vendor.py deleted file mode 100644 index db75f30ec..000000000 --- a/nova/vendor.py +++ /dev/null @@ -1,24 +0,0 @@ -# vim: tabstop=4 shiftwidth=4 softtabstop=4 - -# Copyright 2010 United States Government as represented by the -# Administrator of the National Aeronautics and Space Administration. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -""" -Get our vendor folders into the system path. -""" - -print 'sorry, we cannot include vendor open source libraries... :(' - diff --git a/nova/volume/storage.py b/nova/volume/storage.py index 1507b4ec7..de20f30b5 100644 --- a/nova/volume/storage.py +++ b/nova/volume/storage.py @@ -25,12 +25,10 @@ Currently uses Ata-over-Ethernet. import glob import logging import os -import socket import shutil +import socket import tempfile import time - -from nova import vendor from tornado import ioloop from twisted.internet import defer |
