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

« back to all changes in this revision

Viewing changes to nova/scheduler/filters/core_filter.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:
15
15
#    License for the specific language governing permissions and limitations
16
16
#    under the License.
17
17
 
18
 
from nova import flags
19
18
from nova.openstack.common import cfg
20
19
from nova.openstack.common import log as logging
21
20
from nova.scheduler import filters
27
26
        default=16.0,
28
27
        help='Virtual CPU to Physical CPU allocation ratio')
29
28
 
30
 
FLAGS = flags.FLAGS
31
 
FLAGS.register_opt(cpu_allocation_ratio_opt)
 
29
CONF = cfg.CONF
 
30
CONF.register_opt(cpu_allocation_ratio_opt)
32
31
 
33
32
 
34
33
class CoreFilter(filters.BaseHostFilter):
37
36
    def host_passes(self, host_state, filter_properties):
38
37
        """Return True if host has sufficient CPU cores."""
39
38
        instance_type = filter_properties.get('instance_type')
40
 
        if host_state.topic != 'compute' or not instance_type:
 
39
        if not instance_type:
41
40
            return True
42
41
 
43
42
        if not host_state.vcpus_total:
46
45
            return True
47
46
 
48
47
        instance_vcpus = instance_type['vcpus']
49
 
        vcpus_total = host_state.vcpus_total * FLAGS.cpu_allocation_ratio
 
48
        vcpus_total = host_state.vcpus_total * CONF.cpu_allocation_ratio
50
49
 
51
50
        # Only provide a VCPU limit to compute if the virt driver is reporting
52
51
        # an accurate count of installed VCPUs. (XenServer driver does not)