summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorBrian Lamar <brian.lamar@rackspace.com>2011-08-25 17:27:10 -0400
committerBrian Lamar <brian.lamar@rackspace.com>2011-08-25 17:27:10 -0400
commitc316782f8879ef321c4545b04bc9d24e11bb4ee6 (patch)
tree630a30f29d9ed643db10bbfa3be929475b588127 /nova
parentae1ac682673648f2a2f364eabd525985f3d16a9d (diff)
review feedback
Diffstat (limited to 'nova')
-rw-r--r--nova/api/ec2/cloud.py3
-rw-r--r--nova/api/openstack/common.py7
-rw-r--r--nova/compute/manager.py12
-rw-r--r--nova/compute/task_states.py21
-rw-r--r--nova/compute/vm_states.py9
-rw-r--r--nova/db/sqlalchemy/api.py40
6 files changed, 31 insertions, 61 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index ac247a0ef..fe44191c8 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -92,7 +92,6 @@ _STATE_DESCRIPTION_MAP = {
vm_states.STOPPED: 'stopped',
vm_states.MIGRATING: 'migrate',
vm_states.RESIZING: 'resize',
- vm_states.VERIFY_RESIZE: 'verify_resize',
vm_states.PAUSED: 'pause',
vm_states.SUSPENDED: 'suspend',
vm_states.RESCUED: 'rescue',
@@ -101,7 +100,7 @@ _STATE_DESCRIPTION_MAP = {
def state_description_from_vm_state(vm_state):
"""Map the vm state to the server status string"""
- return _STATE_DESCRIPTION_MAP[vm_state]
+ return _STATE_DESCRIPTION_MAP.get(vm_state, vm_state)
# TODO(yamahata): hypervisor dependent default device name
diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py
index bdbae0271..d743a66ef 100644
--- a/nova/api/openstack/common.py
+++ b/nova/api/openstack/common.py
@@ -43,8 +43,8 @@ _STATE_MAP = {
vm_states.ACTIVE: {
'default': 'ACTIVE',
task_states.REBOOTING: 'REBOOT',
- task_states.HARD_REBOOTING: 'HARD_REBOOT',
- task_states.PASSWORD: 'PASSWORD',
+ task_states.UPDATING_PASSWORD: 'PASSWORD',
+ task_states.RESIZE_VERIFY: 'VERIFY_RESIZE',
},
vm_states.BUILDING: {
'default': 'BUILD',
@@ -61,9 +61,6 @@ _STATE_MAP = {
vm_states.RESIZING: {
'default': 'RESIZE',
},
- vm_states.VERIFY_RESIZE: {
- 'default': 'VERIFY_RESIZE',
- },
vm_states.PAUSED: {
'default': 'PAUSED',
},
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index a3ced1279..b4c6abae0 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -415,7 +415,7 @@ class ComputeManager(manager.SchedulerDependentManager):
self._instance_update(context,
instance_id,
vm_state=vm_states.BUILDING,
- task_state=task_states.SPAWN)
+ task_state=task_states.SPAWNING)
# TODO(vish) check to make sure the availability zone matches
try:
@@ -557,7 +557,7 @@ class ComputeManager(manager.SchedulerDependentManager):
self._instance_update(context,
instance_id,
vm_state=vm_states.REBUILDING,
- task_state=task_states.SPAWN)
+ task_state=task_states.SPAWNING)
# pull in new password here since the original password isn't in the db
instance_ref.admin_pass = kwargs.get('new_pass',
@@ -629,9 +629,9 @@ class ComputeManager(manager.SchedulerDependentManager):
None if rotation shouldn't be used (as in the case of snapshots)
"""
if image_type == "snapshot":
- task_state = task_states.SNAPSHOTTING
+ task_state = task_states.IMAGE_SNAPSHOT
elif image_type == "backup":
- task_state = task_states.BACKING_UP
+ task_state = task_states.IMAGE_BACKUP
else:
raise Exception(_('Image type not recognized %s') % image_type)
@@ -1027,8 +1027,8 @@ class ComputeManager(manager.SchedulerDependentManager):
self._instance_update(context,
instance_id,
- vm_state=vm_states.VERIFY_RESIZE,
- task_state=None)
+ vm_state=vm_states.ACTIVE,
+ task_state=task_states.RESIZE_VERIFY)
self.db.migration_update(context, migration_id,
{'status': 'finished', })
diff --git a/nova/compute/task_states.py b/nova/compute/task_states.py
index 5f78495ea..e3315a542 100644
--- a/nova/compute/task_states.py
+++ b/nova/compute/task_states.py
@@ -15,16 +15,25 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""Possible task states for instances"""
+"""Possible task states for instances.
+
+Compute instance task states represent what is happening to the instance at the
+current moment. These tasks can be generic, such as 'spawning', or specific,
+such as 'block_device_mapping'. These task states allow for a better view into
+what an instance is doing and should be displayed to users/administrators as
+necessary.
+
+"""
SCHEDULING = 'scheduling'
BLOCK_DEVICE_MAPPING = 'block_device_mapping'
NETWORKING = 'networking'
-SPAWN = 'spawn'
+SPAWNING = 'spawning'
+
+IMAGE_SNAPSHOT = 'image_snapshot'
+IMAGE_BACKUP = 'image_backup'
-SNAPSHOTTING = 'snapshotting'
-BACKING_UP = 'backing_up'
-PASSWORD = 'password'
+UPDATING_PASSWORD = 'updating_password'
RESIZE_PREP = 'resize_prep'
RESIZE_MIGRATING = 'resize_migrating'
@@ -32,11 +41,11 @@ RESIZE_MIGRATED = 'resize_migrated'
RESIZE_FINISH = 'resize_finish'
RESIZE_REVERTING = 'resize_reverting'
RESIZE_CONFIRMING = 'resize_confirming'
+RESIZE_VERIFY = 'resize_verify'
REBUILDING = 'rebuilding'
REBOOTING = 'rebooting'
-HARD_REBOOTING = 'hard_rebooting'
PAUSING = 'pausing'
UNPAUSING = 'unpausing'
SUSPENDING = 'suspending'
diff --git a/nova/compute/vm_states.py b/nova/compute/vm_states.py
index 560e6d688..6f16c1f09 100644
--- a/nova/compute/vm_states.py
+++ b/nova/compute/vm_states.py
@@ -15,7 +15,13 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""Possible vm states for instances"""
+"""Possible vm states for instances.
+
+Compute instance vm states represent the state of an instance as it pertains to
+a user or administrator. When combined with task states (task_states.py), a
+better picture can be formed regarding the instance's health.
+
+"""
ACTIVE = 'active'
BUILDING = 'building'
@@ -29,6 +35,5 @@ STOPPED = 'stopped'
MIGRATING = 'migrating'
RESIZING = 'resizing'
-VERIFY_RESIZE = 'verify_resize'
ERROR = 'error'
diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py
index 08fc81759..7b78e286d 100644
--- a/nova/db/sqlalchemy/api.py
+++ b/nova/db/sqlalchemy/api.py
@@ -1484,46 +1484,6 @@ def instance_get_floating_address(context, instance_id):
return fixed_ip_refs[0].floating_ips[0]['address']
-@require_admin_context
-def instance_set_power_state(context, instance_id, power_state):
- session = get_session()
- partial = session.query(models.Instance)
-
- if utils.is_uuid_like(instance_id):
- result = partial.filter_by(uuid=instance_id)
- else:
- result = partial.filter_by(id=instance_id)
-
- result.update({'power_state': power_state})
-
-
-@require_admin_context
-def instance_set_vm_state(context, instance_id, vm_state):
- # vm_state = running, halted, suspended, paused
- session = get_session()
- partial = session.query(models.Instance)
-
- if utils.is_uuid_like(instance_id):
- result = partial.filter_by(uuid=instance_id)
- else:
- result = partial.filter_by(id=instance_id)
-
- result.update({'vm_state': vm_state})
-
-
-def instance_set_task_state(context, instance_id, task_state):
- # task_state = running, halted, suspended, paused
- session = get_session()
- partial = session.query(models.Instance)
-
- if utils.is_uuid_like(instance_id):
- result = partial.filter_by(uuid=instance_id)
- else:
- result = partial.filter_by(id=instance_id)
-
- result.update({'task_state': task_state})
-
-
@require_context
def instance_update(context, instance_id, values):
session = get_session()