Commit Graph

152 Commits

Author SHA1 Message Date
Alvaro Lopez Garcia 87d60617c7 Removed scheduler doc costs section
Since commit 820f43fc (Change-Id
Ie3e7611347c334c359dea98d759345b97c66c9c1)
costs are no longer used, so all references to them have been removed.

Change-Id: I6e02bc47643be9f9dfe9d2e42b2335626bf039e7
2013-07-31 13:13:17 +02:00
Alvaro Lopez Garcia 0646d3b088 Fix formatting on scheduler documentation
Change-Id: Ifac98bbd9931d9bf75f73d4263aa77867cf52522
2013-07-31 13:13:17 +02:00
Tom Fifield 166c669fe0 Update references with new Mailing List location
Yesterday, openstack@lists.launchpad.org was migrated with
all users to openstack@list.openstack.org.

This patch updates references to the old mailing list with the
new, to ensure that people encountering them don't accidentally
try and join the old list!

Change-Id: I76242f4f4f0c8c2418068ea709ab2f7aa4502fd5
2013-07-28 11:28:46 -07:00
Alex Gaynor cd9d8e45c6 Remove the monkey patching of _ into the builtins
Previous _ was monkey patched into builtins whenever
certain modules were imported. This removes that and
simply imports it when it is needed.

Change-Id: I0af2c6d8a230e94440d655d13cab9107ac20d13c
2013-07-26 07:31:17 -07:00
Jenkins 960b4f4245 Merge "Remove unused recreate-db options from run_test.sh" 2013-07-17 08:07:47 +00:00
Jenkins a572f60b4b Merge "Support scoped keys in aggregate extra specs filter" 2013-07-17 02:17:54 +00:00
Jay Lau 58e6bee529 Add a new GroupAffinityFilter
1) Add a new filter to schedule the instance on to host from a set
   of group hosts
2) Update filter_scheduler.rst to add the new GroupAffinityFilter
   filter description

Implements blueprint group-affinity-filter

DocImpact

Change-Id: Iba59764e692cd1d3bc80521ba5a4412f2bebb168
2013-07-16 17:31:35 -04:00
Russell Bryant fbedf60a43 Support scoped keys in aggregate extra specs filter
Update AggregateInstanceExtraSpecs to support scoped keys in flavor
extra_specs.  Otherwise, you can't use this filter in combination with
other filters that act on un-scoped extra specs, because they may
conflict.

This recently came up on the mailing list:

http://lists.openstack.org/pipermail/openstack-dev/2013-July/011421.html

Fix bug 1198290.

DocImpact - See updates to filter_scheduler.rst.

Change-Id: I03d1d3268c800dc6982ffa4b13f8b9489428b991
2013-07-16 12:02:09 -04:00
Joe Gordon 1d38a9241d Remove unused recreate-db options from run_test.sh
run_tests.sh had an option to delete tests.sqlite, but that file is not
used anymore so the run_test options don't do anything.

Change-Id: I1abb257579da34c9dd7698543d8297268276bbc5
2013-07-12 20:08:44 +01:00
Jenkins bbd681c2aa Merge "Fix formatting errors in documentation" 2013-07-12 16:30:41 +00:00
Jenkins 36b167e813 Merge "Remove doc references to distribute." 2013-07-12 01:39:05 +00:00
Doug Hellmann 42a02a1d73 Fix formatting errors in documentation
Fix a few rst formatting errors in the docs so
sphinx does not generate warnings.

Change-Id: I000d2ca3961678b47ead7a7885f3bc88ed7babc7
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
2013-07-06 13:18:11 -04:00
Monty Taylor f0a2770342 Remove doc references to distribute.
Change-Id: I9ea56b6d765fa7214e4bcc0dbca877b411171eea
2013-07-05 22:26:06 -04:00
Jenkins 758cf7cc81 Merge "Add AggregateRamFilter" 2013-06-28 17:52:50 +00:00
Qiu Yu c32a6d5ec3 Add AggregateCoreFilter
Implements blueprint per-aggregate-resource-ratio

* AggregateCoreFilter to support per-aggregate cpu_allocation_ratio
* Falls back to global setting if per-aggregate value not found

DocImpact

Change-Id: I9230f46e2490226f3c50d616aa173d4722095087
2013-06-21 22:09:29 +08:00
Qiu Yu f3a6de6a16 Add AggregateRamFilter
Implements blueprint per-aggregate-resource-ratio

* AggregateRamFilter to support per-aggregate ram_allocation_ratio
* Falls back to global setting if per-aggregate value not found

DocImpact

Change-Id: I93e069f0ac3f595d9a2a17119274c7bfbe8fca31
2013-06-21 21:58:21 +08:00
Joe Gordon b7fe4e206b Rename functions in nova.compute.flavors from instance_type
Second step in removing references to instance_types. Remove all
references to instance_type in nova.compute.flavors.
Also update compute devref to reflect changed name.
Partially implements bp flavor-instance-type-dedup

renamed:  nova/tests/test_instance_types.py -> test_flavors.py

Change-Id: I7413bf832c61d04ab90ec8b1370d3f01372c4172
2013-06-11 10:36:39 -07:00
Ruby Loo 5740920bb3 Rename requires files to standard names.
Rename tools/pip-requires to requirements.txt and tools/test-requires
to test-requirements.txt. These are standard files, and tools in the
general world are growing intelligence about them.

Change-Id: I68ece8406fb1d4e082a42db8e76e17b1aaa7e775
Fixes: bug #1179008
2013-05-22 20:12:08 +00:00
Boris Pavlovic 2dce8c92f6 Remove usage of locals() for formatting from nova.api.*
Using of locals() for formatting string is a nasty thing because:
1) It is not so clear as using explicit dicts
2) It could produce hidden errors during refactoring
3) Changing name of variable causes change in message
4) Creating a lot of unused variables

fixes bug 1171936
Change-Id: I293d7ebb875f65cce322d4938d1ae323f3aded8d
2013-05-18 00:04:17 +04:00
Mark McLoughlin 5e7ef210c0 Add NOVA_LOCALEDIR env variable
Part of fixing bug #995287

Syncs these two commits from oslo-incubator:

  Support overriding oslo localedir too
  Add a gettextutils.install() helper function

to get a new gettextutils.install() function which allows the default
localedir to be overwritten via an environment variable.

Note that gettextutils.install() must be called before any other nova
modules are imported since some modules attempt to translate strings
at import time (e.g. the 'message' attributes on classes in
nova.exception). This is broken and inefficient, but fixing it involves
adding something like spinx's l_() function and would be very invaisve.

Also, note that calling gettextutils.install() in nova.cmd.__init__
means that no program which uses a different translation domain should
ever import any of the modules under nova.cmd.

Change-Id: I86562b3a65d371673bb21f7179eecc7602bc0775
2013-04-10 10:24:27 +01:00
Joe Gordon 820f43fc61 Remove deprecated Grizzly code.
Now that Havana development has started remove code deprecated in Grizzly.

Change-Id: Ie3e7611347c334c359dea98d759345b97c66c9c1
2013-04-04 01:10:46 +00:00
Mark McLoughlin 9447e59b70 Remove gettext.install() from nova/__init__.py
The gettext.install() function installs a builtin _() function which
translates a string in the translation domain supplied to the install()
function. If gettext.install() is called multiple times, it's the last
call to the function which wins and the last supplied translation domain
which is used e.g.

 >>> import os
 >>> os.environ['LANG'] = 'ja.UTF-8'
 >>> import gettext
 >>> gettext.install('keystone', unicode=1, localedir='/opt/stack/keystone/keystone/locale')
 >>> print _('Invalid syslog facility')
 無効な syslog ファシリティ
 >>> gettext.install('nova', unicode=1, localedir='/opt/stack/nova/nova/locale')
 >>> print _('Invalid syslog facility')
 Invalid syslog facility

Usually this function is called early on in a toplevel script and we
assume that no other code will call it and override the installed _().
However, in Nova, we have taken a shortcut to avoid having to call it
explicitly from each script and instead call it from nova/__init__.py.

This shortcut would be perfectly fine if we were absolutely sure that
nova modules would never be imported from another program. It's probably
quite incorrect for a program to use nova code (indeed, if we wanted to
support this, Nova code shouldn't use the default _() function) but
nevertheless there are some corner cases where it happens. For example,
the keystoneclient auth_token middleware tries to import cfg from
nova.openstack.common and this in turn causes gettext.install('nova')
in other projects like glance or quantum.

To avoid any doubt here, let's just rip out the shortcut and always
call gettext.install() from the top-level script.

Change-Id: If4125d6bcbde63df95de129ac5c83b4a6d6f130a
2013-04-01 13:44:47 -04:00
Kurt Taylor d17f9ab13d Update OpenStack LLC to Foundation
Update all references of "LLC" to "Foundation".

Change-Id: I009e86784ef4dcf38882d64b0eff484576e04efe
2013-02-26 19:15:29 -05:00
Jenkins 8f209c622b Merge "Fix inaccuracies in the development environment doc." 2013-02-20 13:26:19 +00:00
Jenkins 3f40de459c Merge "Documentation cleanups for nova devref" 2013-02-20 13:24:24 +00:00
Belmiro Moreira f619da2405 Multi-tenancy isolation with aggregates
A new scheduler filter that allows the creation of instances from
specific tenants in selected aggregates.
With this filter is possible to isolate tenants in a specific set
of compute nodes (aggregates).

If a host is in an aggregate that has the metadata key
"filter_tenant_id" it can only create instances from that tenant(s).
A host can be in different aggregates.
If a host doesn't belong to an aggregate with the metadata key
"filter_tenant_id" it can create instances from all tenants.

Implements: blueprint multi-tenancy-aggregates
DocImpact

Change-Id: I119c809c54da9e9dc3ac506c02203d2d4422b06e
2013-02-19 21:41:18 -08:00
Tom Fifield e79811b855 Documentation cleanups for nova devref
This patch contains a number of cleanups of the nova devref,
mostly related to outdated content.

1) remove outdated todo items from network
=> these have been long covered in the manuals

2) remove outdated multinic docs and images
=> this is now better covered in:
http://docs.openstack.org/trunk/openstack-compute/admin/content
/using-multi-nics.html

3) remove outdated cloudpipe docs, confs and scripts
=> This is now better covered in:
http://docs.openstack.org/trunk/openstack-compute/admin/content/
cloudpipe-per-project-vpns.html

4) remove outdated networking docs
=> These were marked as 'legacy' more than 2 years ago

Change-Id: I9321335031b4581c603a6f31c613e1b620d468a6
2013-02-20 00:03:09 +11:00
annegentle 4faa62e77e Fix inaccuracies in the development environment doc.
Change-Id: If2b0884de54b75e40896cee9b4fb5eb805de2624
2013-02-11 09:29:48 -06:00
Gary Kotton 4cbf1f379c Support for scheduler hints for VM groups
This is part of the blueprint vm-ensembles. The patch introduces the
group as a scheduler hint.

The patch set adds group support for multi-VM deployment. This is achieved
as follows:
1. A new hint is added: group. This will contain the name and type for the
   group. At the moment only anti-affinity is supported. In the future
   we will add network proximity. It will be extended to <name>:<type>
2. In order to ensure that group policy will be honored for future VM
   deployments, the group is stored as system_metadata.
3. The anti affinity is implemented by a new filter called
   GroupAntiAffinityFilter.

DocImpact

Change-Id: I6ea2af5770b5ac4ff082b2a021d323ee38282205
2013-02-08 03:16:44 +00:00
Pádraig Brady f379db545c fix misspellings in logs, comments and tests
Flagged with: https://github.com/lyda/misspell-check
Run with: git ls-files | misspellings -f -

Fixes bug: 1100083
Change-Id: Icf1f844fea8ad0a1101d1dc64b9a126608e9536e
2013-01-21 23:14:13 +00:00
Matt Joyce 0651e60e4e correcting for proper use of the word 'an'.
Change-Id: Ib6180284d806a00c520df378e651fba947e2397a
2013-01-16 11:50:01 -08:00
Sunil Thaha 35217e5fd7 Updates prerequisite packages for fedora
Adds gcc, libxslt-devel (has dependency on libxml2-devel) and mysql-devel to
the list of prerequisites

Change-Id: I9c27868b30ef17d73adf8ad2e72b3d0e76fe76d1
2013-01-17 00:40:15 +10:00
Jenkins 0e17114aac Merge "Update command on devref doc" 2012-12-19 12:28:11 +00:00
Sulochan Acharya 694bcb7f7c Update command on devref doc
Update the apt-get command to build mysql dependency for ubuntu.
It currenly says apt-get install build-dep python-mysqldb
which should just be apt-get build-dep python-mysqldb

Change-Id: I541f7b80802a6b7191f2fe0338965ef425e7c2fd
2012-12-14 11:40:22 -06:00
Xiangyang Chu 461a966d75 Add the missing replacement text in devref doc.
Add AggregateInstanceExtraSpecsFilter's replacement text in
doc/source/devref/filter_scheduler.rst

Change-Id: I5b74c5f51eb85f79f79a2d2c556d6522d97f1497
2012-12-14 09:47:32 +08:00
Brian Elliott e937a53065 Add generic customization hooks via decorator.
Hooks add the ability to insert custom code around operations that
declare a named hook:

e.g.

@hooks.add_hooks('create_instance')
def create_instance(....):
   ....

The above hook allows Hook objects to be run 'pre' and 'post' the
execution of create_instance()

Hook objects are discovered via the setuptools entry point group
'nova.hooks'.

Change-Id: I3961df12ef415085de7459438967edacc34500c2
2012-11-30 20:47:53 +00:00
Yunhong, Jiang 8ce8e4b6c0 Enhance compute capability filter to check multi-level
Host state capabilities include multi-level information, like
cpu features are presented in capabilities:cpu_info:features, cpu
core number in capabilities:cpu_info:topology:cores.
    Multi-level capability check maybe helpful in some situation, like
user want to make sure host support SSE3 instructions or AES-NI, or
user want to make sure the host has >4 cores for SMP instance. Current
capability filter does not support these requirements.
    To support multi-level check, also add scope to capability filter,
so, now capability filter will handle no-scope extra_specs, or scope-format
as "capabilities:xxx:xxx" etc.

    Related to bp hw-feature-to-vm

Change-Id: Id714f99b4babbdb328b8e47f5a270be517b528d2
Signed-off-by: Yunhong, Jiang <yunhong.jiang@intel.com>
2012-11-14 18:10:08 +08:00
Joe Gordon 58373748ac Remove nova-volume scheduling support
Continuation of I0b540e54dbabd26901a7530035a38583bb521fda

* delete scheduler.simple
* modify scheduler.multi instead of delete to continue supporting
  I753e87fc8979fd0b62529974f00cf11fa55b3d63
* update scheduler.multi docstring
* scheduler.rpcapi bumped to 2.3
* change default scheduler to scheduler.filter_scheduler

DocImpact

part of bp delete-nova-volume

Change-Id: Ie9d9b46742b2d92cd1e9ffe982ef658907a1d411
2012-10-31 23:10:11 +00:00
Jenkins f3d2669280 Merge "Addtional 2 packages for dev environment on ubuntu" 2012-10-29 18:26:21 +00:00
Vishvananda Ishaya 7e2b93acc5 removes the nova-volume code from nova
This removes the majority of the nova-volume code from the codebase.
It updates relevent config options to default to cinder. It updates a
number of existing tests that were depending on code that was removed.

A few things still need to be removed:

 * volume/driver.py & volume/iscsi.py
   These files are used by the libvirt volume driver tests. These
   tests should be updated to mock the relevant calls.

 * scheduler/simple.py & scheduler/multi.py
   These files should no longer be necessary so they can be removed
   in a subsequent patch

 * exception.py cleanup
   Once the above files are removed there are a number of unused
   exceptions which can be removed

 * database calls and database tables
   The database calls have not been removed and the tables have not
   been dropped. This can be done in a separate migration

 * additional config options and nova.conf.sample
   There may be a few extra config options that can be removed and the
   conf sample can be regenerated

Implements bp delete-nova-volume

Change-Id: I0b540e54dbabd26901a7530035a38583bb521fda
2012-10-28 11:34:05 -07:00
Jolyon Brown 73f56fa819 Addtional 2 packages for dev environment on ubuntu
In file doc/source/devref/development.environment.rst added packages
build-dep and python-mysqldb which I have had to add on ubuntu 12.04
to enable the dev environment to be setup. Without these run_tests.sh
fails with error 'mysql_config not found' when setting up the virtual env.

Change-Id: I4af775386469deecf122a9e165457f241339b20b
2012-10-25 12:51:16 +01:00
Michael Still 0d4e6dbe6f Migrate to fileutils and lockutils.
Migrate nova to using openstack-common's file and lock utilities.
Resolves bug 1063230.

Change-Id: I1a4c87856bc08cd33b61d7098ed856baa4583654
2012-10-25 09:20:46 +11:00
Tom Fifield 43bc7d6996 Remove refs to ATAoE from nova docs
fixes bug 912108

Nova volumes' ATAoE is long gone. This patch merely removes the
remaining comments about it from the nova devref documentation.

Change-Id: Ic5586c0d596acae05cdee4ba9cb5ec453315b773
2012-09-23 14:12:42 +10:00
Jinwoo 'Joseph' Suh 611ee3b213 Added description of operators for extra_specs
There are several new operators added for extra_specs that are used
in compute capability filter and aggregate filter. These are
described in document in this patch. Fixed bug 1047036.

Change-Id: Id86c6672d7bda458ecb918f1900d6f8a9526ad41
2012-09-11 12:13:14 -04:00
Joe Gordon 847fb38c5b Add documentation for scheduler filters scope
Add documentation for bug 1039386

Fix other devref typos

Change-Id: Ife19ee5feb72dd75b91a03c4167d8f4e578a4a04
2012-09-10 11:01:15 -07:00
Tom Fifield 5f529511c6 Add two prereq pkgs to nova devref env guide
fixes bug 1024903

As noted in the bug report, without libxml2-dev and libxslt-dev
installed on ubuntu 12.04, the virtualenv creation will fail.

This fix simply adds the packages to the first
"Install the prerequisite packages." line

Change-Id: I588ce14f63fa75d54405562f83d202d05c8a05c6
2012-08-23 09:18:34 +10:00
Jenkins b090bdd088 Merge "Introduce ImagePropertiesFilter scheduler filter" 2012-08-22 07:02:45 +00:00
Jim Fehlig 5ea7db9b71 Introduce ImagePropertiesFilter scheduler filter
Commit d39137fa added functionality to the ComputeFilter to filter on
architecture, hypervisor_type, and vm_mode. The existing ArchFilter
already filtered on architecture. This patch merges the ComputeFilter
functionality introduced in d39137fa with the ArchFilter to create the
ImagePropertiesFilter.  The ImagePropertiesFilter uses image properties
specified in the request_spec to filter hosts.

This patch also adds the ImagePropertiesFilter to the list of default
filters specified by the scheduler_default_filters FLAG.

Fixes LP Bug #1037339

DocImpact

Change-Id: Ifa6fccf2db266b0fe3457d58fc81fdb50ffcbc0f
2012-08-17 22:25:54 -06:00
Joe Gordon b0392d3017 OpenStack capitalization added to HACKING.rst
Along with capitalization fixes to comments in code

Change-Id: I72ddc582001f80d954ca5a121903c689f40d08d1
2012-08-17 15:59:32 -05:00
Jim Fehlig 460ba0416e Update FilterScheduler doc
The FilterScheduler doc was overlooked when new filters were added
or existing filters were changed.  This change updates the doc with
information skimmed from the individual filters.

nova.conf.sample is updated as well with the current list of default
filters.

Change-Id: I48af75c472195ded89b34db76a22947614ffb99b
2012-08-17 10:41:33 -06:00