Adopt EntryWrapper.create()

Recently pypowervm added the ability to invoke Adapter.create() directly
from an EntryWrapper.  This change set takes advantage of this addition.

Change-Id: Ic4e7c1f44e4952af0874354715acce20e9651a99
This commit is contained in:
Eric Fried 2015-05-07 10:51:00 -05:00
parent 18b9b079a1
commit 5396a62853
2 changed files with 12 additions and 17 deletions

View File

@ -51,16 +51,16 @@ class FakeAdapterResponse(object):
class TestVM(test.TestCase):
def setUp(self):
super(TestVM, self).setUp()
lpar_http = pvmhttp.load_pvm_resp(LPAR_HTTPRESP_FILE)
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
lpar_http = pvmhttp.load_pvm_resp(LPAR_HTTPRESP_FILE, adapter=self.apt)
self.assertNotEqual(lpar_http, None,
"Could not load %s " %
LPAR_HTTPRESP_FILE)
self.resp = lpar_http.response
self.pypvm = self.useFixture(fx.PyPowerVM())
self.apt = self.pypvm.apt
def test_uuid_cache(self):
cache = vm.UUIDCache(self.apt)
cache.add('n1', '123')
@ -223,10 +223,9 @@ class TestVM(test.TestCase):
self.assertEqual(vm._build_attrs(instance, flavor), test_attrs)
@mock.patch('nova_powervm.virt.powervm.vm.UUIDCache')
@mock.patch('pypowervm.wrappers.entry_wrapper.EntryWrapper.wrap')
@mock.patch('pypowervm.utils.lpar_builder.DefaultStandardize')
@mock.patch('pypowervm.utils.lpar_builder.LPARBuilder')
def test_crt_lpar(self, mock_bldr, mock_stdz, mock_entrywrap, mock_cache):
@mock.patch('pypowervm.utils.lpar_builder.LPARBuilder.build')
def test_crt_lpar(self, mock_bld, mock_stdz, mock_cache):
instance = objects.Instance(**powervm.TEST_INSTANCE)
flavor = instance.get_flavor()
flavor.extra_specs = {'powervm:dedicated_proc': 'true'}
@ -234,6 +233,9 @@ class TestVM(test.TestCase):
host_wrapper = mock.Mock()
singleton = mock.Mock()
mock_cache.get_cache.return_value = singleton
lparw = pvm_lpar.LPAR.wrap(self.resp.feed.entries[0])
mock_bld.return_value = lparw
self.apt.create.return_value = lparw.entry
vm.crt_lpar(self.apt, host_wrapper, instance, flavor)
self.assertTrue(self.apt.create.called)
singleton.add.assert_called_with(instance.name, mock.ANY)

View File

@ -337,10 +337,8 @@ def _crt_lpar_builder(adapter, host_wrapper, instance, flavor):
"""
attrs = _build_attrs(instance, flavor)
stdz = lpar_bldr.DefaultStandardize(
host_wrapper, proc_units_factor=CONF.proc_units_factor)
return lpar_bldr.LPARBuilder(adapter, attrs, stdz)
@ -354,14 +352,9 @@ def crt_lpar(adapter, host_wrapper, instance, flavor):
:returns: The LPAR response from the API.
"""
lpar = _crt_lpar_builder(adapter, host_wrapper, instance, flavor).build()
resp = adapter.create(
lpar.element, pvm_ms.System.schema_type, root_id=host_wrapper.uuid,
child_type=pvm_lpar.LPAR.schema_type)
lpar_w = pvm_lpar.LPAR.wrap(resp)
lpar_w = _crt_lpar_builder(
adapter, host_wrapper, instance, flavor).build().create(
parent_type=pvm_ms.System, parent_uuid=host_wrapper.uuid)
# Add the uuid to the cache.
UUIDCache.get_cache().add(instance.name, lpar_w.uuid)