# License for the specific language governing permissions and limitations
# under the License.
-import eventlet
import json
from heat.openstack.common import log as logging
from heat.common import exception
from heat.engine import clients
from heat.engine import resource
+from heat.engine import scheduler
volume_backups = try_import('cinderclient.v1.volume_backups')
def _backup(self):
backup = self.cinder().backups.create(self.resource_id)
while backup.status == 'creating':
- eventlet.sleep(1)
+ yield
backup.get()
if backup.status != 'available':
raise exception.Error(backup.status)
vol = self.cinder().volumes.get(self.resource_id)
if backup:
- self._backup()
+ scheduler.TaskRunner(self._backup)()
vol.get()
if vol.status == 'in-use':
self.m.StubOutWithMock(self.fc.volumes, 'create_server_volume')
self.m.StubOutWithMock(self.fc.volumes, 'delete_server_volume')
self.m.StubOutWithMock(eventlet, 'sleep')
+ self.m.StubOutWithMock(scheduler.TaskRunner, '_sleep')
setup_dummy_db()
def create_volume(self, t, stack, resource_name):
# snapshot script
self.m.StubOutWithMock(self.cinder_fc.backups, 'create')
self.cinder_fc.backups.create('vol-123').AndReturn(fb)
- eventlet.sleep(1).AndReturn(None)
self.cinder_fc.volumes.get('vol-123').AndReturn(fv)
self.cinder_fc.volumes.delete('vol-123').AndReturn(None)
self.m.ReplayAll()
self.cinder_fc.volumes.get('vol-123').AndReturn(fv)
self.m.StubOutWithMock(self.cinder_fc.backups, 'create')
self.cinder_fc.backups.create('vol-123').AndReturn(fb)
- eventlet.sleep(1).AndReturn(None)
self.m.ReplayAll()
t = template_format.parse(volume_template)