| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The oslo.messaging library takes the existing RPC code from oslo and
wraps it in a sane API with well defined semantics around which we can
make a commitment to retain compatibility in future.
The patch is large, but the changes can be summarized as:
* oslo.messaging>=1.3.0a4 is required; a proper 1.3.0 release will be
pushed before the icehouse release candidates.
* The new rpc module has init() and cleanup() methods which manage the
global oslo.messaging transport state. The TRANSPORT and NOTIFIER
globals are conceptually similar to the current RPCIMPL global,
except we're free to create and use alternate Transport objects
in e.g. the cells code.
* The rpc.get_{client,server,notifier}() methods are just helpers
which wrap the global messaging state, specifiy serializers and
specify the use of the eventlet executor.
* In oslo.messaging, a request context is expected to be a dict so
we add a RequestContextSerializer which can serialize to and from
dicts using RequestContext.{to,from}_dict()
* The allowed_rpc_exception_modules configuration option is replaced
by an allowed_remote_exmods get_transport() parameter. This is not
something that users ever need to configure, but it is something
each project using oslo.messaging needs to be able to customize.
* The nova.rpcclient module is removed; it was only a helper class
to allow us split a lot of the more tedious changes out of this
patch.
* Finalizing the port from RpcProxy to RPCClient is straightforward.
We put the default topic, version and namespace into a Target and
contstruct the client using that.
* Porting endpoint classes (like ComputeManager) just involves setting
a target attribute on the class.
* The @client_exceptions() decorator has been renamed to
@expected_exceptions since it's used on the server side to designate
exceptions we expect the decorated method to raise.
* We maintain a global NOTIFIER object and create specializations of
it with specific publisher IDs in order to avoid notification driver
loading overhead.
* rpc.py contains transport aliases for backwards compatibility
purposes. setup.cfg also contains notification driver aliases for
backwards compat.
* The messaging options are moved about in nova.conf.sample because
the options are advertised via a oslo.config.opts entry point and
picked up by the generator.
* We use messaging.ConfFixture in tests to override oslo.messaging
config options, rather than making assumptions about the options
registered by the library.
The porting of cells code is particularly tricky:
* messaging.TransportURL parse() and str() replaces the
[un]parse_transport_url() methods. Note the complication that an
oslo.messaging transport URL can actually have multiple hosts in
order to support message broker clustering. Also the complication
of transport aliases in rpc.get_transport_url().
* proxy_rpc_to_manager() is fairly nasty. Right now, we're proxying
the on-the-wire message format over this call, but you can't supply
such messages to oslo.messaging's cast()/call() methods. Rather than
change the inter-cell RPC API to suit oslo.messaging, we instead
just unpack the topic, server, method and args from the message on
the remote side.
cells_api.RPCClientCellsProxy is a mock RPCClient implementation
which allows us to wrap up a RPC in the message format currently
used for inter-cell RPCs.
* Similarly, proxy_rpc_to_manager uses the on-the-wire format for
exception serialization, but this format is an implementation detail
of oslo.messaging's transport drivers. So, we need to duplicate the
exception serialization code in cells.messaging. We may find a way
to reconcile this in future - for example a ExceptionSerializer
class might work, but with the current format it might be difficult
for the deserializer to generically detect a serialized exception.
* CellsRPCDriver.start_servers() and InterCellRPCAPI._get_client()
need close review, but they're pretty straightforward ports of code
to listen on some specialized topics and connect to a remote cell
using its transport URL.
blueprint: oslo-messaging
Change-Id: Ib613e6300f2c215be90f924afbd223a3da053a69
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Moves the suspend/resume server functionality out of admin_actions into
its own extension. This part of the blueprint v3-admin-actions-split
allows more selective enablement of features contained in the admin
actions extension.
Note that XML api samples are no longer generated because
bp remove-v3-xml-api has been approved.
Partially implements bp v3-admin-actions-split
DocImpact: Adds os-suspend-server extension and moves suspend/resume
functionality out of os-admin-actions into this new extension
Change-Id: Ie2ad1c6085d65fee397d6ad5b5c9f3bd8e82ad3c
|
|\ \ \
| |/ /
| | /
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Moves the pause/unpause server functionality out of admin_actions into
its own extension. This part of the blueprint v3-api-admin-actions-split
allows more selective enablement of features contained in the admin
actions extension.
Note that XML api samples are no longer generated because
bp remove-v3-xml-api has been approved.
Partially implements bp v3-api-admin-actions-split
DocImpact: Adds os-pause-server extension and moves pause/unpause
functionality out of os-admin-actions into this new extension
Change-Id: Ib9cce57e2ff1270a82b9d7e39b23ec6b532b9e77
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for the 'icehouse-compat' value for the compute
configuration option in the [upgrade_levels] configuration option group.
This option is set during a live upgrade from havana to icehouse to
ensure that compute messages are sent that both havana and icehouse
understand.
This is added to stable/havana in this change id:
If09bd38c9d8c3beb5b95107c497699dec47aa3ef
DocImpact
Change-Id: Ic6656457afced20bff2f23c03493e72a96a00fb9
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Moves the lock/unlock server functionality out of admin_actions into
its own extension. This part of the larger
blueprint v3-api-admin-actions-split allows more selective enablement of
features contained in the admin actions extension.
Some setup work is done in the tests directory with an
admin_only_action_common.py file. This allows tests which are
split out from test_admin_actions (as their corresponding features
are separated from the admin_actions extension) can continue to
share code.
Note that XML api samples are no longer generated because
bp remove-v3-xml-api has been approved.
Partially implements bp v3-api-admin-actions-split
DocImpact: Adds os-lock-server extension and moves lock/unlock
functionality out of os-admin-actions into this new extension
Change-Id: Ie4b6e856c2f5c33de5575aa8666e0b2784b58d05
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Patch adds a module for manipulating dmcrypt devices.
Implements: blueprint encrypt-ephemeral-storage
Change-Id: I308b9f26c382b332c02f13aa1d5f0a830e9ef277
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update the default value of the worker configuration options to be
equal to the number of CPUs on the system. This is the most common
value that should be used to get ideal performance from nova-conductor
or nova-api.
The following options are updated in this change:
[default]
ec2_workers=
osapi_compute_workers=
metadata_workers=
[conductor]
workers=
DocImpact
UpgradeImpact
Change-Id: Id8009b5fd37cef03ca66cb5bf44211039ac895ba
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
During long stress runs the WMI query that is looking for
the iSCSI device number can incorrectly return no data.
If the query is retried the appropriate data can then be
obtained.
This commit adds a retry loop, calling
basevolumeutils.get_device_number_for_target to avoid this situation.
It also handles the case where the devices list returned in
get_device_number_for_target is empty. The retry loop is
implemented with new mounted_disk_query_retry_count and
mounted_disk_query_retry_interval configuration options.
Unit tests have been added to check the good and bad paths for
get_mounted_disk_from_lun.
DocImpact
Closes-bug: 1247901
Change-Id: I082c4b1694efcd20cce65293cd330b7a0cf7d470
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We've had a number of gating failures resulting from
attach failures. Looking through past gate logs it
seems we've had a pretty wide variance in how long it
takes the actual iscsi attach and mount to complete
before being available in dev/disk-by-id.
This patch simply bumps the retry count from 3 to 5,
the result will be going from a max of 14 seconds to wait
for attach to 55 seconds total before failing.
Change-Id: Ib46da71c964da977471cc6635adc5d92ff3beb9c
Closes-Bug: 1270608
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following configurations are not used.
o host_state_interval=120
This configuration was added in the following commit.
commit 6e6b4ad411cae3918cd2b54152c52fe3932dd723
Author: Gary Kotton <gkotton@vmware.com>
Date: Wed Dec 4 05:36:21 2013 -0800
Image cache: move all of the variables to a common place
But it can not be seen to be using to me.
o lvm_snapshot_size=1000
This configuration was renamed from 'libvirt_lvm_snapshot_size'
in the following commit.
commit 25a7de2054ba6ae5eb318c86fe165f4302fbfff8
Author: Michael Still <mikal@stillhq.com>
Date: Wed Nov 6 15:25:05 2013 +1100
Move flags in libvirt's imagebackend to the libvirt group
'libvirt_lvm_snapshot_size' was removed in the following commit.
commit 8c985874c7885f31871204d3f83ce547fefc5fb6
Author: Vladan Popovic <vpopovic@redhat.com>
Date: Thu Oct 17 07:41:20 2013 -0400
Remove unnecessary steps for cold snapshots
Change-Id: Ic2b45a3330769ab7c3c5a92ea38bd9d0f9ef519a
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We want to pick up change 55cd46af to avoid thousands of blank lines in
the nova logs, so sync log.py over to nova.
This includes the following changes:
55cd46a remove extra newlines that eventlet seems to add
d292f7d Add error type to unhandled exception log message
0228b81 Logging excepthook: print exception info if debug=True
71208fe Fix spelling errors in comments
8b2b0b7 Use hacking import_exceptions for gettextutils._
6d0a6c3 Correct invalid docstrings
fe18bfa Remove keystone from default_log_levels default
27b21bc Unify different names between Python2/3 with six.moves
12bcdb7 Remove vim header
a6f40ac Don't log to stdout when log_dir is set
Note that change 13eb01c "Adding domain to context and log" was
intentionally ommitted since it requires context.py to be synced and
changes nova.conf.sample, but nova uses it's own context module so we
don't want that change pulled in here.
Change-Id: Iebfdf484b9fcac5dbb689c4f7ec4f43a082a50c9
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These were initially noted during import into the manuals at
https://review.openstack.org/67502
Fixes include rework of text, missing or extra spaces, wrong
capitalization and no sentence style capitalization.
A hacking check has been added that tests that all config options
start with a capital letter.
Change-Id: I0a1c333bbb3a812932d3972a7403f94da0bff341
Co-Authored-By: Daniel Berrange <berrange@redhat.com>
Co-Authored-By: Diane Fleming <diane.fleming@rackspace.com>
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Option 'fake_network' is used by nova/network/linux_net.py but not
imported from nova/network/manager.py. Both use it, but manager imports
linux_net (via nova/network/api.py + nova/network/floating_ips.py) so it
makes more sense to define the option in linux_net and import_opt in
manager.
Precise example import chain:
bin/nova-manage
nova/cmd/manage.py: import_opt('flat_network_bridge', 'nova.network.manager')
nova/network/manager.py: from nova.network import api as network_api
-- At this point, manager has started to import but not yet called
register_opts
nova/network/api.py: from nova.network import floating_ips
nova/nova/network/floating_ips.py: import_opt('public_interface', 'nova.network.linux_net')
nova/nova/network/linux_net.py: import_opt('fake_network', 'nova.network.manager')
-- BANG! Manager hasn't registered the option we want to import
Change-Id: I66f021b34aef650dca148a58203c249f6aa0e83e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Seeing a "/usr/local/bin/nova-rootwrap: Unauthorized command" error
in the logs when "blockdev --flushbufs" is executed because of the
existing blockdev in compute.filters. We need to merge both into a
single RegExpFilter
Change-Id: Ic323ff00e5c23786a6e376e67a4ad08f92708aef
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Although the user_data extension does not create a resource
or controller extension and only implements server.create and
server.create.deserialize entry points it does need to be listed as
a nova.api.v3.extension entry point as the whitelist check
operates on that entry point.
This does not add any runtime overhead and allows user_data to be
specified in the whitelist.
Also adds missing discoverable policy for the user data extension
Partially implements blueprint nova-v3-api
Change-Id: Ia8ac2fa150ab2fe9c1848c5a7ddc416952adf0e4
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change provides the ability to set finer permission rules around
the host aggregate APIs. Prior to this change, all operations assumed
that the same permissions were necessary. However, it's very possible
that an OpenStack administrator may want to have varying sets of
permissions for operations across the standard CRUD operations. This
change is only applicable to the v3 APIs as v2 APIs should remain
backwards compatible.
Also included is a change to fake_policy.py (since the file was
updated anyway) to make the base aggregate policy require the
'admin_api' rule (i.e., to be consistent with the policy.json file).
Also added the corresponding API test cases.
DocImpact v3 host aggregate APIs require action-level policies
Implements: blueprint aggregate-api-policy
Change-Id: I8a88824bbb41807fad849ad15af4411d3a3dca6e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Recent version of python-keystoneclient introduces new option,
include_service_catalog, so nova.conf.sample should be updated.
Closes-bug: #1268614
Change-Id: I8f5f76770b8af8002f6a296594303224ec37846c
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, after detaching from a volume, the iSCSI device
remains attached on the compute node until all LUNs for a given
IQN are detached -- causing issues when LUNs are reused for
different volumes. This change will delete the device(s)
associated with the detached volume so LUNs can be reused.
Fixes bug 1112483
Change-Id: Icae3ec4d1ee2036fbba7b9eb5c03a1c86014fcc0
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Sync from oslo-incubator with the following patches about the config
generator:
7c18261 Temporary workaround for config generator
4b3e32b Sort the output of config/generator.py by group name
806272e Improve error reporting on import failures
6cd1c33 Clean up extra modules code
3d077a3 Print the deprecated group/name for each option
aec6d94 config.generator: allow extra modules importing
ddc4f0d Fix error when no custom config file matches *.conf.sample
d4bf84d Allow generate_sample MODULEPATH to be set in env
UpgradeImpact
DocImpact, the default values in keystone_authtoken config group are
changed.
Change-Id: If7181e14db2e43e42255bb6221d0543c13c4e5a6
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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 removes disk-config extension for v3 api, and also
remove related tests. And remove resize extension point for
servers core because there isn't any extension using it anymore
and there isn't good way to test resize extension point.
Implements bp api-v3-remove-disk-config
DocImpact
Change-Id: I894ae6f4e0d6c9f956a71e8e061ccb3fa1b039d8
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This moves vcpu_pin_set config from the libvirt driver into a place that
can be shared between drivers, nova.virt.cpu
At the same time, the utility function that converts the configuration
value into a list of integers has also been moved into nova.virt.cpu
This new code is then used in the XenAPI driver to apply a CPU mask that
implements the currently configured value for vcpu_pin_set
The main use case for this setting is to ensure all guest VMs are not
using the physical CPUs that Dom0 are configured to use.
DocImpact
Completes blueprint xenapi-vcpu-pin-set
Change-Id: I9d53d93db0c5f2a11ad685d3fc335f0cd6b1f79b
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Configuration options were grouped into [vmware]. So we don't need
point out that these options are used only for vmwareapi.VMwareESXDriver
or vmwareapi.VMwareVCDriver. This patch also corrects docstring for
vCenter related classes.
Change-Id: I77d95250ce1351bad60664ec7313d8e18d76332a
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
NBD device once used seem to run into intermittent trouble when
used with mount repeatedly. Adding code to explicitly flush the
device buffers using 'blockdev --flushbufs'.
Closes-Bug: #973413
Partial-Bug: #1254890
Change-Id: I2b7053b9a069d6e82f6f6baf9ad480efa4388d91
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The ratelimit middleware isn't really useful. That is pointed out
by https://review.openstack.org/#/c/34821/. And it didn't get any
object from mail-list:
http://lists.openstack.org/pipermail/openstack-dev/2013-November/020291.html
This patch remove ratelimit middleware and limits extension. The config option
'api_rate_limit' is only valid in v2 api. The pipeline factory for v3 api won't
check that option anymore. For compatibility, if user is still using old
'api-paste.init', pipeline factory will ignore to load ratelimit middleware, and
print warning message to user for notice ratelimit is deprecated in v3 api.
Closes-bug: 1255471
DocImpact
Change-Id: Ifeae0504e11089f95e4d8af58bcb7372dca87f81
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
In addition to this it creates a base ImageCacheManager class.
This moves common image cache config from the libvirt driver into
a place that can be shared between drivers, nova.virt.imagecache
The libvirt specific image caching variables are untouched.
The other image cache fields that were in the nova.compute.manager
have also been moved to the common place.
These common configuration can be used by the
blueprint multiple-image-cache-handlers and the
blueprint vmware-image-cache-management.
DocImpact
The following configuration variables are now in the DEFAULT
section:
image_cache_manager_interval
image_cache_subdirectory_name
remove_unused_base_images
remove_unused_original_minimum_age_seconds
Change-Id: I92080f20c3d21ec348aff7d0a9795e773bcc2649
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By default, or with a secs of 0, ovs−vsctl waits forever for a response
from the database. This option limits runtime to approximately 120 seconds.
If the timeout expires, ovs−vsctl will exit with a SIGALRM signal. (A
timeout would normally happen only if the database cannot be contacted,
or if the system is overloaded.)
The user can update the timeout by setting the ovs_vsctl_timeout
configuration variable.
DocImpact
Closes-bug: 1229018
Change-Id: Ica64ae98fb6162d2119021972127a82417d5ee7a
|