diff options
| author | Ed Leafe <ed@leafe.com> | 2010-12-31 05:37:30 -0600 |
|---|---|---|
| committer | Ed Leafe <ed@leafe.com> | 2010-12-31 05:37:30 -0600 |
| commit | b50433d77207c542ee63b7858eb465bb51ba56ea (patch) | |
| tree | 605205a7fc615e7294dec62dfd360f23d28ab88d /nova/compute | |
| parent | d531e873b97a8ff92d1534811f702e89a8cf60a7 (diff) | |
| download | nova-b50433d77207c542ee63b7858eb465bb51ba56ea.tar.gz nova-b50433d77207c542ee63b7858eb465bb51ba56ea.tar.xz nova-b50433d77207c542ee63b7858eb465bb51ba56ea.zip | |
Before merge with xenstore-plugin code
Diffstat (limited to 'nova/compute')
| -rw-r--r-- | nova/compute/manager.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/nova/compute/manager.py b/nova/compute/manager.py index c46587adc..4d8c5e1a5 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -36,6 +36,7 @@ terminating it. import datetime import logging +import string from nova import exception from nova import flags @@ -239,15 +240,21 @@ class ComputeManager(manager.Manager): power_state.RUNNING) logging.debug('instance %s: resetting root password', - instance_ref['name']) - self.db.instance_set_state(context, - instance_id, - power_state.NOSTATE, - 'resetting_password') + instance_ref['name']) + self.db.instance_set_state(context, instance_id, + power_state.NOSTATE, 'resetting_password') #### TODO: (dabo) not sure how we will implement this yet. - self.driver.reset_root_password(instance_ref) + new_pass = self._generate_password(12) + self.driver.reset_root_password(instance_ref, new_pass) self._update_state(context, instance_id) + def _generate_password(self, length=20): + """Generate a random sequence of letters and digits + to be used as a password. + """ + chrs = string.letters + string.digits + return "".join([random.choice(chrs) for i in xrange(length)]) + @exception.wrap_exception def rescue_instance(self, context, instance_id): """Rescue an instance on this server.""" |
