The nova client already has the following flavor commands:
flavor-access-add Add flavor access for the given tenant.
flavor-access-list Print access information about the given flavor.
flavor-access-remove Remove flavor access for the given tenant.
flavor-create Create a new flavor
flavor-delete Delete a specific flavor
flavor-key Set or unset extra_spec for a flavor.
flavor-list Print a list of available 'flavors' (sizes of
flavor-show Show details about the given flavor.
This covers what nova-manage flavor was providing so let's deprecate the
legacy nova-manage subcommand and mark it for removal in the K release.
There is not a bug or blueprint for this. The flavor subcommand is
completely duplicated in nova client. It is accessing the database
directly and we want to move to using flavor objects which would go
through conductor. So this could be considered part of the objects
conversion for flavors.
For some other commands like service, db and host it makes sense to
leave those so you can access the database before the api service is
running, but that's not the case for flavors.
UpgradeImpact: nova-manage flavor command is deprecated, use nova client
Change-Id: I8709bc9af4e490142e44c6dc61fd0aaa3a392b68
As of commit 07ee9639 three years ago nova-manage.conf is no longer
used, so let's clean up the man page.
Closes-Bug: #1304580
Change-Id: Ie061733da4bd0337f510e17b6dd7ca5bae14b7de
Server group scheduler filters were added to the default set of
scheduler filters. Update the docs to reflect the updated defaults.
Change-Id: I614cf83e419c93038fc4ed7287ec743cedb4860e
Related-bug: #1303983
ServerGroupAffinityFilter was used instead of
ServerGroupAntiAffinityFilter in the filter description.
Change-Id: I16721db5a7dcf90e72047dd5ca5a4f55088c147d
The deprecated group filters do not work if both are enabled at the
same time. Add this in a note in the docs on the different scheduler
filters.
DocImpact
Related-bug: #1296913
Change-Id: Ic0e1b8b59c8a462e193dffb3b0f873d8aa35aa3c
Prior to Icehouse, there was a different type of handling of the
'group' scheduler hint that got lost in the completion of the server
groups API. This patch completes the code necessary to provide
backwards compatibility with the old behavior.
Previously, the policy for groups was simply based on what scheduler
filters you had enabled. You could have either the affinity or
anti-affinity filter enabled and that would be applied to all groups.
These filters now act on groups with a policy type of 'legacy'.
New filters have been added that can be enabled simultaneously and act
based on the policy set on the group via the server group API.
DocImpact
Change-Id: Ia65c151396415ca48725cb3c756f33efa01d2fe5
Closes-bug: #1296913
This bug and fix is not about deleting run_tests.sh.
The change to delete run_tests.sh has been abandoned.
Thus the documentation of run_tests.sh remains.
Change-Id: Ia0a883260affc56c148dbebc5e3a49acb36b067e
Closes-Bug: #1282393
Enhanced the discussion of tools/install_venv.py to say that it
installs the items listed in test-requirements.txt as well as
those listed in requirements.txt.
Re-wrapped the relevant paragraph.
Since the change to delete run_tests.sh and tools/install_venv.py
(https://review.openstack.org/#/c/76627/)
has been abandoned, the doc of install_venv.py should still be
accurate.
Change-Id: I5cfd9f179f40b2418129067d0940bfdbf47512cb
Closes-Bug: #1266671
This commit integrates functionality from the
`openstack.common.report` module into Nova.
This enables Nova services to receive SIGUSR1
and print a Guru Meditation Report to stderr.
The required modules were added to
'openstack-common.conf' as well.
Change-Id: I224a426dad084f0e738069207ffbffe7f7935a17
Implements: blueprint guru-meditation-report
I just set up an environment to run unit tests on Ubuntu and had to install a
couple of additional packages to make it work. Update the instructions to
reflect that.
Change-Id: I2ceb1b130111991fa1b34b4636b8ece115e54084
oslosphinx is now available as a replacement for oslo.sphinx that
won't conflict with oslo.config in virtual envs.
Change-Id: I7c116f816af895261e76af385ee3e9288e6fa70f
Closes-Bug: #1277168
All the bugs reference in nova man documents are incorrect.
Nova bugs are managed at launchpad, not the nova.openstack.org
Change-Id: Id5bbf09ad8ba079d4de959314123437031ded3ab
Allow fake computes to deploy images with hypervisor_type
defined and set to "fake" and by extension to be used in
multi hypervisor_type deployments.
Mixing fake and "real" computes on the same OpenStack
deployment allows to create many fake instances and some
working instances for testing applications on top of
OpenStack (ie: fake instances for stress tests, working
ones for functional tests).
Closes-bug: #1260771
Change-Id: Idc337c4a7ed024f236ca2b60d91e2c30f7d54536
The scheduler filter MetricsFilter filters out those hosts which don't
have the metrics data available as required by metric settings.
This is part of the blueprint utilization-aware-scheduling.
DocImpact: Added a new metrics filter.
Change-Id: Ib4a898774daf683c4496ef3e9953d23027f11ac0
Isolates hosts based on image properties and aggregate metadata
- If a host doesn't belong to any aggregate it can create instances
from all images.
- if a host belongs to an aggregate and if this aggregate defines
metadata that match with the image properties then the host
is a candidate to boot the instance.
DocImpact
Change-Id: I3b9325e2e103f3bb6eed66789ac2c82941e94397
Implements: blueprint aggregate-host-isolation-based-image-properties
This patch added 2 command line parameters which are used to
connect to an external debugger such as pycharm or eclipse.
This feature is used when you want to connect to a nova
service via a debugger running on a different host.
To use it you start the nova service with the following
command line parameters
--remote_debug-host <where the debugger is running>
--remote_debug-port <port> it's listening on>.
DocImpact
Closes-bug: #1251021
Change-Id: I6ede9bf0813eafbeb91d858c297d4c160aafceba
The weight system is being used by the scheduler and the cells code.
Currently this system is using the raw values instead of normalizing them.
This makes difficult to properly use multipliers for establishing the
relative importance between two wheighers (one big magnitude could
shade a smaller one). This change introduces weight normalization so
that:
- From an operator point of view we can prioritize the weighers that
we are applying. The only way to do this is being sure that all the
weighers will give a value in a known range, so that it is
not needed to artificially use a huge multiplier to prioritize a
weigher.
- From a weigher developer point of view, somebody willing to implement
one has to care about 1) returning a list of values, 2) setting the
minimum and maximum values where the weights can range, if they are
needed and they are significant for the weighing. For a weigher
developer there are two use cases:
Case 1: Use of a percentage instead of absolute values (for example, %
of free RAM). If we compare two nodes focusing on the percentage of free
ram, the maximum value for the weigher is 100. If we have two nodes one
with 2048 total/1024 free, and the second one 1024 total/512 free they
will get both the same weight, since they have the same % of free RAM
(that is, the 50%).
Case 2: Use of absolute values. In this case, the maximum of the weigher
will be the maximum of the values in the list (in the case above, 1024)
or the maximum value that the magnitude could take (in the case above,
2048). How this maximum is set, is a decision of the developer. He may
let the operator choose the behaviour of the weigher though.
- From the point of view of the scheduler we ensure that it is using
normalized values, and not leveraging the normalization mechanism to the
weighers.
Changes introduced this commit:
1) it introduces weight normalization so that we can apply multipliers
easily. All the weights for an object will be normalized between 0.0 and
1.0 before being sumed up, so that the final weight for a host will be:
weight = w1_multiplier * norm(w1) + w2_multiplier * norm(w2) + ...
2) weights.BaseWeigher has been changed into an ABC so that we enforce
that all weighers have the expected methods.
3) weights.BaseWeigher.weigh_objects() does no longer sum up the
computer weighs to the object, but it rather returns a list that will be
then normalized and added to the existing weight by BaseWeightHandler
4) Adapt the existing weighers to the above changes. Namely
- New 'offset_weight_multiplier' for the cell weigher
nova.cells.weights.weight_offset.WeightOffsetWeigher
- Changed the name of the existing multiplier methods.
5) unittests for all of the introduced changes.
Implements blueprint normalize-scheduler-weights
DocImpact: Now weights for an object are normalized before suming them
up. This means that each weigher will take a maximum value of 1. This
may have an impact for operators that are using more than one weigher
(currently there is only one weigher: RAMWeiger) and for operators using
cells (where we have several weighers). It is needed to review then the
multipliers used and adjust them properly in case they have been
modified.
Docimpact: There is a new configuration option 'offset_weight_multiplier'
in nova.cells.weights.weight_offset.WeightOffsetWeigher
Change-Id: I81bf90898d3cb81541f4390596823cc00106eb20
The new metrics weigher can compute the weight based on the compute
node host's metrics data. The to-be weighed metrics and their
weighing ratio are specified in the configuration file as the
followings:
metrics_weight_setting = name1=1.0,name2=-1.0
The final weight would be name1.value * 1.0 + name2.value * (-1.0).
This is part of the blueprint utilization-aware-scheduling.
DocImpact
Change-Id: Ib3e68505e6d4d8f6d67b54c5f00de3e1c172738c
unit_tests.rst is outdated and does not reflect the recent changes
in the run_tests.sh script. Fix required an update of the usage
output of run_tests.sh as well as changes to some references.
Nova now uses testrepository and flake8.
There were also changes to the examples shown in the section
"Running a subset of tests". All the updated examples were tested.
Removes white spaces at the of end 3 lines.
Change-Id: I3fa040d5682ad94d861cef2a64b19b4da947318b
Closes-Bug: #1219040
The list of jobs in this doc file was out of date and most of the links
didn't work anymore. Instead of trying to list out specifics which will
just get out of date again, include a generic pointer to where you can
find results (on code reviews).
Change-Id: Ief65281abae48bee6a679f76068e315227cf6991
Closes-bug: #1199577
I just set up a new dev environment on Fedora. Update the dev environment docs
to reflect the full list of packages I had to install.
Change-Id: Ifbdea54641094885fee08513f142593befcd465e
This patch allows to run 'isolated' and 'non isolated'
images on isolated hosts by adding a flag
'restrict_isolated_hosts_to_isolated_images'.
If the flag is set to True then 'non isolated' images
can't be run on isolated hosts (same behaviour as the
current filter) otherwise they can be run on isolated
hosts.
DocImpact
blueprint improve-isolatedhostsfilter
Change-Id: I8c092caf32c05be88a547a7e8cb0530cc4925080
Since commit 820f43fc (Change-Id
Ie3e7611347c334c359dea98d759345b97c66c9c1)
costs are no longer used, so all references to them have been removed.
Change-Id: I6e02bc47643be9f9dfe9d2e42b2335626bf039e7
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
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