Exemplo n.º 1
0
    def test__perform_upload(self):
        producer = self.mox.CreateMock(vdi_through_dev.TarGzProducer)
        consumer = self.mox.CreateMock(glance.UpdateGlanceImage)
        pool = self.mox.CreateMock(eventlet.GreenPool)
        store = vdi_through_dev.UploadToGlanceAsRawTgz('context', 'session',
                                                       'instance', 'id',
                                                       ['vdi0', 'vdi1'])
        self.mox.StubOutWithMock(store, '_create_pipe')
        self.mox.StubOutWithMock(store, '_get_virtual_size')
        self.mox.StubOutWithMock(producer, 'get_metadata')
        self.mox.StubOutWithMock(vdi_through_dev, 'TarGzProducer')
        self.mox.StubOutWithMock(glance, 'UpdateGlanceImage')
        self.mox.StubOutWithMock(vdi_through_dev, 'eventlet')

        producer.get_metadata().AndReturn('metadata')
        store._get_virtual_size().AndReturn('324')
        store._create_pipe().AndReturn(('readfile', 'writefile'))
        vdi_through_dev.TarGzProducer('devpath', 'writefile', '324',
                                      'disk.raw').AndReturn(producer)
        glance.UpdateGlanceImage('context', 'id', 'metadata',
                                 'readfile').AndReturn(consumer)
        vdi_through_dev.eventlet.GreenPool().AndReturn(pool)
        pool.spawn(producer.start)
        pool.spawn(consumer.start)
        pool.waitall()

        self.mox.ReplayAll()

        store._perform_upload('devpath')
Exemplo n.º 2
0
    def test_start(self, mock_glance_image_service):
        consumer = glance.UpdateGlanceImage('context', 'id', 'metadata',
                                            'stream')

        with mock.patch.object(glance, 'get_remote_image_service') as a_mock:
            a_mock.return_value = (mock_glance_image_service, 'image_id')

            consumer.start()
            mock_glance_image_service.update.assert_called_with(
                'context', 'image_id', 'metadata', 'stream', purge_props=False)
Exemplo n.º 3
0
 def _perform_upload(self, devpath):
     readfile, writefile = self._create_pipe()
     size = self._get_virtual_size()
     producer = TarGzProducer(devpath, writefile, size, 'disk.raw')
     consumer = glance.UpdateGlanceImage(self.context, self.image_id,
                                         producer.get_metadata(), readfile)
     pool = eventlet.GreenPool()
     pool.spawn(producer.start)
     pool.spawn(consumer.start)
     pool.waitall()
Exemplo n.º 4
0
    def test_start(self):
        consumer = glance.UpdateGlanceImage(
            'context', 'id', 'metadata', 'stream')
        image_service = self.mox.CreateMock(glance.GlanceImageService)

        self.mox.StubOutWithMock(glance, 'get_remote_image_service')

        glance.get_remote_image_service(
            'context', 'id').AndReturn((image_service, 'image_id'))
        image_service.update(
            'context', 'image_id', 'metadata', 'stream', purge_props=False)

        self.mox.ReplayAll()

        consumer.start()