~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/api/openstack/compute/contrib/admin_actions.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2012-11-23 09:04:58 UTC
  • mfrom: (1.1.66)
  • Revision ID: package-import@ubuntu.com-20121123090458-91565o7aev1i1h71
Tags: 2013.1~g1-0ubuntu1
[ Adam Gandelman ]
* debian/control: Ensure novaclient is upgraded with nova,
  require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
* debian/patches/{ubuntu/*, rbd-security.patch}: Dropped, applied
  upstream.
* debian/control: Add python-testtools to Build-Depends.

[ Chuck Short ]
* New upstream version.
* Refreshed debian/patches/avoid_setuptools_git_dependency.patch.
* debian/rules: FTBFS if missing binaries.
* debian/nova-scheudler.install: Add missing rabbit-queues and
  nova-rpc-zmq-receiver.
* Remove nova-volume since it doesnt exist anymore, transition to cinder-*.
* debian/rules: install apport hook in the right place.
* debian/patches/ubuntu-show-tests.patch: Display test failures.
* debian/control: Add depends on genisoimage
* debian/control: Suggest guestmount.
* debian/control: Suggest websockify. (LP: #1076442)
* debian/nova.conf: Disable nova-volume service.
* debian/control: Depend on xen-system-* rather than the hypervisor.
* debian/control, debian/mans/nova-conductor.8, debian/nova-conductor.init,
  debian/nova-conductor.install, debian/nova-conductor.logrotate
  debian/nova-conductor.manpages, debian/nova-conductor.postrm
  debian/nova-conductor.upstart.in: Add nova-conductor service.
* debian/control: Add python-fixtures as a build deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
from nova import compute
25
25
from nova.compute import vm_states
26
26
from nova import exception
27
 
from nova import flags
28
27
from nova.openstack.common import log as logging
29
28
 
30
 
 
31
 
FLAGS = flags.FLAGS
32
29
LOG = logging.getLogger(__name__)
33
30
 
34
 
 
35
31
# States usable in resetState action
36
32
state_map = dict(active=vm_states.ACTIVE, error=vm_states.ERROR)
37
33
 
232
228
        except ValueError:
233
229
            msg = _("createBackup attribute 'rotation' must be an integer")
234
230
            raise exc.HTTPBadRequest(explanation=msg)
 
231
        if rotation < 0:
 
232
            msg = _("createBackup attribute 'rotation' must be greater "
 
233
                    "than or equal to zero")
 
234
            raise exc.HTTPBadRequest(explanation=msg)
235
235
 
236
236
        props = {}
237
237
        metadata = entity.get('metadata', {})
254
254
            common.raise_http_conflict_for_instance_invalid_state(state_error,
255
255
                    'createBackup')
256
256
 
257
 
        # build location of newly-created image entity
258
 
        image_id = str(image['id'])
259
 
        image_ref = os.path.join(req.application_url, 'images', image_id)
260
 
 
261
257
        resp = webob.Response(status_int=202)
262
 
        resp.headers['Location'] = image_ref
 
258
 
 
259
        # build location of newly-created image entity if rotation is not zero
 
260
        if rotation > 0:
 
261
            image_id = str(image['id'])
 
262
            image_ref = os.path.join(req.application_url, 'images', image_id)
 
263
            resp.headers['Location'] = image_ref
 
264
 
263
265
        return resp
264
266
 
265
267
    @wsgi.action('os-migrateLive')