Refactored Instance to get rid of _s bits, and fixed some bugs in state management.

Conflicts:

	nova/compute/node.py
This commit is contained in:
andy
2010-06-24 04:11:55 +01:00
parent bab9a6513b
commit 892d55abfe
7 changed files with 25 additions and 9 deletions

View File

@@ -40,7 +40,7 @@ def initialize(uri):
class FakeLDAP(object):
def __init__(self, _uri):
self.keeper = datastore.Keeper('fakeldap')
self.keeper = datastore.SqliteKeeper('fakeldap') #Redis keeper never works here...
if self.keeper['objects'] is None:
self.keeper['objects'] = {}
@@ -91,7 +91,7 @@ class FakeLDAP(object):
return False
def search_s(self, dn, scope, query=None, fields=None):
logging.debug("searching for %s" % dn)
#logging.debug("searching for %s" % dn)
filtered = {}
d = self.keeper['objects'] or {}
for cn, attrs in d.iteritems():
@@ -108,7 +108,7 @@ class FakeLDAP(object):
return objects.items()
def add_s(self, cn, attr):
logging.debug("adding %s" % cn)
#logging.debug("adding %s" % cn)
stored = {}
for k, v in attr:
if type(v) is list:

View File

@@ -333,7 +333,7 @@ class RedisKeeper(object):
"""
def __init__(self, prefix="redis-"):
self.prefix = prefix
Redis.instance().ping()
#Redis.instance().ping()
def __setitem__(self, item, value):
"""

View File

@@ -14,7 +14,7 @@
# limitations under the License.
import unittest
import logging
from nova.auth.users import UserManager
from nova.auth import rbac
@@ -28,13 +28,15 @@ class Context(object):
class AccessTestCase(test.BaseTestCase):
def setUp(self):
super(AccessTestCase, self).setUp()
FLAGS.fake_libvirt = True
FLAGS.fake_storage = True
um = UserManager.instance()
# Make test users
try:
self.testadmin = um.create_user('testadmin')
except: pass
except Exception, err:
logging.error(str(err))
try:
self.testpmsys = um.create_user('testpmsys')
except: pass
@@ -71,7 +73,6 @@ class AccessTestCase(test.BaseTestCase):
self.context = Context()
self.context.project = self.project
#user is set in each test
super(AccessTestCase, self).setUp()
def tearDown(self):
um = UserManager.instance()

View File

@@ -174,16 +174,25 @@ class ApiEc2TestCase(test.BaseTestCase):
def test_describe_instances(self):
self.expect_http()
self.mox.ReplayAll()
try:
self.users.create_user('fake', 'fake', 'fake')
except Exception, _err:
pass # User may already exist
self.assertEqual(self.ec2.get_all_instances(), [])
self.users.delete_user('fake')
def test_get_all_key_pairs(self):
self.expect_http()
self.mox.ReplayAll()
keyname = "".join(random.choice("sdiuisudfsdcnpaqwertasd") for x in range(random.randint(4, 8)))
try:
self.users.create_user('fake', 'fake', 'fake')
except Exception, _err:
pass # User may already exist
self.users.generate_key_pair('fake', keyname)
rv = self.ec2.get_all_key_pairs()
self.assertTrue(filter(lambda k: k.name == keyname, rv))
self.users.delete_user('fake')

View File

@@ -21,6 +21,6 @@ FLAGS.fake_storage = True
FLAGS.fake_rabbit = True
FLAGS.fake_network = True
FLAGS.fake_users = True
FLAGS.keeper_backend = 'sqlite'
#FLAGS.keeper_backend = 'sqlite'
FLAGS.datastore_path = ':memory:'
FLAGS.verbose = True

View File

@@ -14,6 +14,8 @@
# limitations under the License.
import logging
import time
from xml.etree import ElementTree
from nova import vendor
@@ -81,11 +83,13 @@ class NodeConnectionTestCase(test.TrialTestCase):
rv = yield self.node.run_instance(instance_id)
rv = yield self.node.describe_instances()
logging.info("Running instances: %s", rv)
self.assertEqual(rv[instance_id].name, instance_id)
rv = yield self.node.terminate_instance(instance_id)
rv = yield self.node.describe_instances()
logging.info("After terminating instances: %s", rv)
self.assertEqual(rv, {})
@defer.inlineCallbacks

View File

@@ -31,6 +31,7 @@ FLAGS = flags.FLAGS
class UserTestCase(test.BaseTestCase):
flush_db = False
def setUp(self):
super(UserTestCase, self).setUp()
self.flags(fake_libvirt=True,
@@ -96,6 +97,7 @@ class UserTestCase(test.BaseTestCase):
def test_010_can_list_users(self):
users = self.users.get_users()
logging.warn(users)
self.assertTrue(filter(lambda u: u.id == 'test1', users))
def test_101_can_add_user_role(self):