Guru Meditation Reports (GMR) code in oslo.reports was recently updated
to expect SIGUSR2 as opposed to SIGUSR1, because it is reserved by
Apache 'mod_wsgi' for its own use.
Signal was changed and merged in change:
I9d3b6079ba2cca41fe4723723a6f80b2c3c0b9c0
Change-Id: Id58dd3c32b095f4c6b14caf650d36f2fc7dfb12c
Fix the example command for running a unit test.
(Colon versus period.)
Fix box formatting for tox commands. (Need extra
newline after double colon.)
Fix a typo in the same section.
Fix broken ostestr doc link.
Remove testr and flake8 links that don't go anywhere.
Change-Id: I243e4f0639ef4a87e8950e0428b7556919094b0e
This patch proposes a thorough update to the development doc
for the volume migration. Several improvements to volume
migration have been made during the last development cycle
and this patch attempts to document the current state.
Change-Id: Ibe233d82a0694b29ecdf4abce4af735b34821c3f
Partial-implements: blueprint migration-improvement
The first pass at setting up config entries for
replication targets was a hacky custom string parser
with its own unique syntax.
A better option is to use oslo.cfg's MultiOpt in conjunction
with Dict types so we can eliminate quite a bit of custom
parsing and most importantly use a standard syntax for conf
entries to make things easy for admins and reduce the
probability of syntax errors and mistakes in config setttings.
Change-Id: Ie300c1f1db548d258906eebbcea8265583086468
Closes-Bug: #1504696
One thing that may be needed by some back ends
that are implementing replication is some sort
of back end device identifier.
For managed back ends this shouldn't be an issue
but for unmanaged, it's handy to have some sort
of identifier string.
This patch just adds that to the response examples
in the volume.manager code as well as adds an update
to the dev docs to point it out.
Change-Id: Ic113d905e65c756439425b03035179e65ce0b39e
Add new documentation with steps how to deploy Cinder API under Apache.
Implements: blueprint non-eventlet-wsgi-app
Change-Id: I25335991206a2563d266baac6730d130890777db
This adds a scaled back replication implementation
that leaves the bulk of the work up to the driver.
We just provide basic admin API methods to do things
like enable/disable and fail-over. Set up and
specification of replication targets for a specific
back end are now intended to be part of the cinder.conf
in the driver section itself.
Replication targets are configured via the cinder.conf
file in their associated driver section. See the devref
doc included in this commit for details on the format.
The next step in configuration is to create a volume-type
with replication info in the extra-specs.
extra-specs = replication=enable, volume_backend_name=foo
This instructs the driver to utilize replication, default is
up to the driver but would suggest single way rep and in the case
of multiple targets, driver could choose or have a default.
If the back end doesn't report replication=enabled in it's stats
updates the scheduler will fail to place the volume due to invalid
host, or no hosts available.
Vendors can easily modify extra-specs or their own config settings
to modify this behavior, any vendor-unique adaptation can be
provided through the use of scoped keys. Suggested examples
will be published in docs.
See doc/source/devref/replication.rst for more info
Implements BP: replication-v2
DocImpact
Change-Id: I406390e4d5f3c9947df1c4f2de68821e0fd7f75b
Simple update for our painfully out of date devref docs.
Just a short refresh on unit_tests, there's a lot that could
and probably should be added there, but this change just gets
rid of the obsolete references to Nose and adds info regarding
tox and how to use it.
Change-Id: Ib1ff174ee9ccb8ecb258558d77202062204dfec3
Remove URLs from jenkins.rst which is no longer exist
and fix incorrect URLs.
Change-Id: I7418dbe35518987de96fa31bcedb85a5d92cdc2e
Closes-Bug: #1480012
Cinder doesn't support EC2 API and doesn't contain cinder.api.ec2
module.
Also references to cinder.api.openstack.auth and cinder.api.cloud were
removed too.
Change-Id: I30f71cf541d93d3ab68780328e2dea6ebd326b63
The Guru Meditation Reports has graduated from oslo-incubator, Cinder
should switch to use oslo.reports to keep the code base clean.
NOTE: this should be merged after the requirements has been synchronized.
Change-Id: Ic91a0c5eed09ecdec93e707e901f4bcc55980f72
Closes-Bug: 1469575
This commit integrates functionality from the
`openstack.common.report` module into Cinder.
This enables Cinder services to receive SIGUSR1
and print a Guru Meditation Report to stderr.
The required modules were added to
'openstack-common.conf' as well.
It is essentially a copy from implementation of
nova side.
Change-Id: I5bbdc0f97db9b0ebd7b48e50ab7869e2ca33aead
Implements: blueprint guru-meditation-report
Replace URLs for workflow documentation to appropriate parts of the
OpenStack Project Infrastructure Manual.
Change-Id: I1e0c546a72c75193e8c742c02dc189d178a0312c
The packages listed for Linux distros are updated to meet the
prerequisites to run the unit tests.
Change-Id: Iedd9e4d04d7700d418ddb07881ac76ad758466cb
Closes-bug: #1367670
Removing mention of adding your name and email to Author files in
Cinder dev doc.
Change-Id: I5b723dd9ff1153096852a4c1c6a7b59bf0d04d3c
Closes-Bug: #1309581
This patch removes the implementation of ChanceScheduler and SimpleScheduler
as previous changes have made sure they are internally replaced by
FilterScheduler.
The "max_gigabytes" config option is deprecated and will leave it like that
for one more release before we can remove it.
DocImpact: "ChanceScheduler and SimpleScheduler have been deprecated and
their implementation have been removed from Cinder."
Implement bp: deprecate-chance-and-simple-schedulers
Change-Id: Ifb1cb25e3bb4cdf26fa3283336b83fce5c97141e
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: I7cd33f95b7baa22dbd4abb6e391ee59876998f59
This is a first pass in getting information out of the wiki and into the
dev docs, so changes can be reviewed properly as discussed at the Havana
summit.
Change-Id: I75e71b3e5df69e6b507ee64d330a9ec2455266c5
Corrects some rst formatting to eliminate warnings in
the documenation build.
Change-Id: I4026a1c8e7fae1928ca50d80aa1b5440faf754da
Signed-off-by: Doug Hellmann <doug.hellmann@dreamhost.com>
Replace FLAGS with cfg.CONF
Rename modules fake_flags to conf_fixture, test_flags to test_conf, declare_flags to declare_conf, runtime_flags to runtime_conf
Renamed cinder.flags, because exactly the same was done in the glance and nova
Fixes: bug #1182037
Change-Id: I3424d0a401b3ef7a3254d3e913263554361a52ff
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: Ifb2735151dc8c7f89ec01d237226669f7051ffa8
Fixes: bug #1179008
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 cinder
modules are imported since some modules attempt to translate strings
at import time (e.g. in cinder.flags). This is broken and inefficient,
but fixing it involves adding something like sphinx's l_() function and
would be very invaisve.
Change-Id: I86562b3a65d371673bb21f7179eecc7602bc0775
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')
n無効な syslog ファシリティ
>>> gettext.install('cinder', unicode=1, localedir='/opt/stack/nova/cinder/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 Cinder, we have taken a shortcut to avoid having to call it
explicitly from each script and instead call it from cinder/__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 cinder code (indeed, if we wanted
to support this, Cinder 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
cinder.openstack and this in turn causes gettext.install('cinder') 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.
However, there's a bit of an annoying detail here - by default,
nosetests starts in the current directly and tries to import all modules
it finds to look for tests. Without the _() builtin installed, importing
some modules like cinder.flags will fail.
Since it only ever makes sense to load tests from the cinder/tests dir,
we can ask nose to do that by using the --tests argument via setup.cfg.
Note, this means that if you previously did this:
$> tox -- cinder.tests.foo cinder.tests.bar
then you must now do this:
$> tox -- --tests cinder.tests.foo,cinder.tests.bar
Change-Id: If4125d6bcbde63df95de129ac5c83b4a6d6f130a
Dev env setup doc hasn't been updated in a while and
needed the addition of the mysql and psql packages.
Tested this on a clean install and it looks like
the addition of these two pkgs should get us up to
date.
Change-Id: I66011478064bd8fb85bfaf56e8b14232226e0efc
Way back when Cinder was inagurated as a separate project, the docs
directory from Nova was used as a seed for the one in the Cinder repo
This patch is simply cleaning out images and files which have no
relation to Cinder at all, and are at best extremely outdated when
applied to Nova.
Aside from the deletions which are mainly images, and files related
to the configuration of CloudPipe, there is one modification to
conf.py which simply removes a reference to a vmware doc that no
longer exists.
Change-Id: I2140035f98bd332f25d7dd7569993bcd960a869e
This code does not work, and is slowly being replaced by
alternative XenServer specific drivers.
Fixes LP bug #1077011
Change-Id: I1af92ecdbb49a57a0ff4c05a70d77bcb69958cb2
Sync up with changes made in Nova, this adds information
about line continuation (PEP8), OpenStack capitalization,
and commit messages.
Change-Id: Id6637307411bcc7a3637ac514c4ec34e26481e0d
* Quick pass at implementing the basics for cinder dev docs
* Remove the N/A compute related stuff
* Clean up the architecture a bit to only show cinder related
* Remove various modules form TOC's that aren't applicable
Change-Id: I0089c388524c9def7494658e836f4ed03a61f5b5