Merge lp://qastaging/~anso/nova/burnin into lp://qastaging/~hudson-openstack/nova/trunk

Proposed by Todd Willey
Status: Merged
Approved by: Todd Willey
Approved revision: 478
Merged at revision: 511
Proposed branch: lp://qastaging/~anso/nova/burnin
Merge into: lp://qastaging/~hudson-openstack/nova/trunk
Diff against target: 446 lines (+244/-5)
10 files modified
bin/nova-manage (+49/-1)
nova/api/ec2/cloud.py (+39/-0)
nova/compute/api.py (+3/-1)
nova/db/api.py (+5/-0)
nova/db/sqlalchemy/api.py (+2/-0)
nova/db/sqlalchemy/models.py (+2/-0)
nova/scheduler/driver.py (+5/-0)
nova/scheduler/simple.py (+26/-0)
nova/tests/test_scheduler.py (+87/-3)
nova/tests/test_service.py (+26/-0)
To merge this branch: bzr merge lp://qastaging/~anso/nova/burnin
Reviewer Review Type Date Requested Status
Vish Ishaya (community) Approve
Devin Carlen (community) Approve
Review via email: mp+44425@code.qastaging.launchpad.net

Description of the change

Add burnin support. Services are now by default disabled, but can have instances and volumes run on them using availability_zone = nova:HOSTNAME. This lets the hardware be put through its paces without being put in the generally available pool of hardware. There is a 'service' subcommand for nova-manage where you can enable, disable, and list statuses of services.

To post a comment you must log in.
Revision history for this message
Vish Ishaya (vishvananda) wrote :

I think that we should provide a flag that defaults to True called auto_enable_services to key whether services should be enabled by default. That way we don't have to change the install and testing scripts to do a nova-manage service enable automatically. Defaulting to enabled=False is great for deployment but annoying for dev/testing. I'll add it real quick if it seems like a reasonable addition.

review: Needs Fixing
Revision history for this message
Vish Ishaya (vishvananda) wrote :

also this probably needs a trunk merge.

Revision history for this message
Todd Willey (xtoddx) wrote :

Merged to trunk and disabled now defaults to false, to avoid confusion and make testing and setup easier.

Revision history for this message
Devin Carlen (devcamcar) wrote :

lgtm

review: Approve
Revision history for this message
Vish Ishaya (vishvananda) wrote :

lgtm

review: Approve
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

The attempt to merge lp:~anso/nova/burnin into lp:nova failed. Below is the output from the failed tests.

nova/api/ec2/cloud.py:216:80: E501 line too long (80 characters)
            hsvcs = [service for service in services if service['host'] == host]
                                                                               ^
    Limit all lines to a maximum of 79 characters.

    There are still many devices around that are limited to 80 character
    lines; plus, limiting windows to 80 characters makes it possible to have
    several windows side-by-side. The default wrapping on such devices looks
    ugly. Therefore, please limit all lines to a maximum of 79 characters.
    For flowing long blocks of text (docstrings or comments), limiting the
    length to 72 characters is recommended.
nova/tests/test_scheduler.py:238:15: E222 multiple spaces after operator
        host = self.scheduler.driver.schedule_run_instance(self.context,
              ^
    Avoid extraneous whitespace in the following situations:

    - More than one space around an assignment (or other) operator to
      align it with another.

    Okay: a = 12 + 3
    E221: a = 4 + 5
    E222: a = 4 + 5
    E223: a = 4 + 5
    E224: a = 4 + 5
nova/tests/test_service.py:100:1: E302 expected 2 blank lines, found 1
class ServiceTestCase(test.TestCase):
^
    Separate top-level function and class definitions with two blank lines.

    Method definitions inside a class are separated by a single blank line.

    Extra blank lines may be used (sparingly) to separate groups of related
    functions. Blank lines may be omitted between a bunch of related
    one-liners (e.g. a set of dummy implementations).

    Use blank lines in functions, sparingly, to indicate logical sections.

    Okay: def a():\n pass\n\n\ndef b():\n pass
    Okay: def a():\n pass\n\n\n# Foo\n# Bar\n\ndef b():\n pass

    E301: class Foo:\n b = 0\n def bar():\n pass
    E302: def a():\n pass\n\ndef b(n):\n pass
    E303: def a():\n pass\n\n\n\ndef b(n):\n pass
    E303: def a():\n\n\n\n pass
    E304: @decorator\n\ndef a():\n pass

lp://qastaging/~anso/nova/burnin updated
477. By Todd Willey

Merge trunk.

478. By Todd Willey

pep8 fixes

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.