67 Commits

Author SHA1 Message Date
Davanum Srinivas
97892e656a Merge remote-tracking branch 'origin/feature/zmq' into merge-branch
Change-Id: If189d03131efc02045955508cef06fdd2ed590ee
2015-09-15 11:07:44 -04:00
Takashi NATSUME
4d0ab45200 Fix typos in a document and a comment
reciever => receiver
explict => explicit

Change-Id: I777ca463cefa222d8c5251ce29a898f46119b122
2015-09-01 16:46:15 +09:00
Doug Hellmann
0c65ef51c4 Add config options to the documentation
Add the directive to include the configuration options to the library
documentation.

Depends-On: I549c8db98bf548dd0a7e8869a57301fa4096f78c
(feature change in oslo.config)
Depends-On: I89e3e4fd41ed4c989c2dd4c9cd1d7b7e806fa15a
(global requirements change to update oslo.config version)

Change-Id: Ibec7071027fc33374a73abc30f8f672380bae6ea
2015-08-25 17:53:05 +00:00
Doug Hellmann
1b390c34b0 add plugin documentation for executors and notifiers
Document the plugins available for executors and notifiers.

Fix the formatting in the aioeventlet executor so the docstring renders
properly.

Change-Id: I7709b65f5aa68fab3822b4de11640309aa07b1d7
2015-07-20 18:30:00 +00:00
Doug Royal
76ec03c8f9 fix typo
Change-Id: I8a935ffc795b7233e2e83ae0680786d34dfd6ec0
2015-06-25 17:44:28 -05:00
Doug Hellmann
0a8c5145d4 Add drivers to the documentation
Use stevedore.sphinxext to populate a new page listing all available
drivers.

Add docstrings to the driver classes, including references to more
extensive documentation if it is available.

Depends-on: I1a24f9326b4e54174d9dc0ae366315fe29c3ac1b
Depends-on: Ie715f98fe0d3cba8b2f4f6235e7c2b6f79be7ea0

Change-Id: Ief0aa05e6deba0126d63faf13497d0fe0539e08d
2015-06-03 11:40:57 +00:00
Mehdi Abaakouk
65fecf2866 Remove outdated release notes
Oslo.messaging have an outdated release in the code tree.
but now the release note is published on the mailing.

This change removes it.

Change-Id: I0a3401b7c9bc8230169e75727e45a99e6c3c780f
2015-05-13 11:19:45 +02:00
Davanum Srinivas
d214770b2b Document notification_driver possible values
Add list of drivers to help and FAQ.

Closes-Bug: #1440480
Change-Id: Ia0ea4693f88aa7550e55e7fb63111065ad9b6c3b
2015-04-06 10:12:08 -04:00
Li Ma
5f875c0f15 ZeroMQ deployment guide
This guide introduces the basic scenario of zeromq
driver and how to correctly deploy zeromq driver
for OpenStack.

Change-Id: I23eeafc5863b44bfbeb89ce3571a4e79b4b01d01
Closes-Bug: #1382325
2015-03-17 19:44:17 -07:00
Doug Hellmann
097fb235b2 Add FAQ entry for notifier configuration
Create a new FAQ page and add a few entries related to configuring the
notifier.

Change-Id: Ibfd78b40fe65d20315ad563694dcb7c48641812c
Closes-Bug: #1422774
2015-02-17 10:21:30 -05:00
Doug Hellmann
bf4ab5a9e4 Treat sphinx warnings as errors
Closes-Bug: #1287415

Change-Id: I43f406a8608724ac55c9ae6aea847d75594ba6f6
2015-01-29 14:24:55 -05:00
Doug Hellmann
e55a83e832 Move files out of the namespace package
Move the public API out of oslo.messaging to oslo_messaging. Retain
the ability to import from the old namespace package for backwards
compatibility for this release cycle.

bp/drop-namespace-packages

Co-authored-by: Mehdi Abaakouk <mehdi.abaakouk@enovance.com>
Change-Id: Ia562010c152a214f1c0fed767c82022c7c2c52e7
2015-01-12 12:50:41 -05:00
Joshua Harlow
372bc4947e Add a thread + futures executor based executor
The concurrent.futures module is one of the ways
that async activities can be done in the future,
so we should try to work on getting to that future
by using more futures. To enable this (as well as
to enable getting off eventlet), add a thread pool
based executor which will process incoming messages
using the pool.

Also begins adding according docs as well for the
different types of executors that are available.

Change-Id: I1482fd70abbf69f4e2994597c5e95d91fecb815e
2014-12-18 23:49:53 -08:00
Mehdi Abaakouk
d3e6ea1788 Warns user if thread monkeypatch is not done
This change warns the user that it does have monkeypatched the
oslo.messaging library correclty.

Change-Id: Ice80ffc6cbc39919eac4bc0809992daea51b5922
Closes-bug: #1288878
2014-12-10 15:59:59 +01:00
Jenkins
a7f3ecb360 Merge "Touch up grammar in warning messages" 2014-12-05 09:58:33 +00:00
Jenkins
1834167b4f Merge "Warn user if needed when the process is forked" 2014-12-04 21:47:03 +00:00
Doug Hellmann
66db2b310d Touch up grammar in warning messages
Change-Id: I556e6e646417be3732a7c31987ec964f9808f079
2014-12-04 16:04:37 -05:00
Jenkins
b631f46c7f Merge "Renamed PublishErrorsHandler" 2014-11-27 22:03:54 +00:00
Mehdi Abaakouk
eb21f6b263 Warn user if needed when the process is forked
This change warns the library consumer when the process if forked and
we can't be sure that the library work as expected.

This also add some documentation about forking oslo.messaging Transport
object.

Change-Id: I2938421775aa72866adac198d70214856d45e165
Related-bug: #1330199
2014-11-27 16:29:20 +01:00
Ilya Pekelny
e15cd36cd5 Renamed PublishErrorsHandler
For greater clarity, that the class is related to logging, PublishErrorsHandler
renamed to LoggingErrorNotificationHandler. Included an alias from the
old name to the new class for backwards-compatibility.

Change-Id: Iae8e26901bab6d5aa7532add31b49a4345b067fe
Closes-Bug: #1287420
2014-11-27 16:04:07 +02:00
Jenkins
dc51213f12 Merge "Add documentation explaining how to use the AMQP 1.0 driver" 2014-09-28 04:38:06 +00:00
Andreas Jaeger
f57a4ab337 Stop using intersphinx
Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This causes docs jobs to fail because we error out on warnings.

Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
2014-09-12 22:48:38 +02:00
Kenneth Giusti
bc0033a9c0 Add documentation explaining how to use the AMQP 1.0 driver
Change-Id: I076ccff2b34be3ecf07cdcd0bb9753997c1e3218
Closes-Bug: #1367910
2014-09-12 12:01:35 -04:00
Davanum Srinivas
214fa5e312 Add contributing page to docs
Change-Id: I23d5220f3c3b58a92d51307637ce0424c023d80e
2014-09-08 20:38:07 -04:00
Jenkins
22c8bfddee Merge "Add missing docs for list_opts()" 2014-08-12 19:49:58 +00:00
Jenkins
ee23b54178 Merge "Add release notes for 1.4.0.0a4" 2014-07-25 16:10:19 +00:00
Mark McLoughlin
bea9723859 Add release notes for 1.4.0.0a4
Change-Id: Id2a6ae2616db33025dcbfa4fb0b76e38cba6292f
2014-07-25 15:12:37 +01:00
Mark McLoughlin
d020cb814a Add release notes for stable/icehouse 1.3.1 release
1.3.1 is a bugfix release from the stable/icehouse branch.

Change-Id: I1ec24b0aaccb67e4f3043d481cec13d82dec3c0d
2014-07-25 15:04:47 +01:00
Mark McLoughlin
e718789a98 Add release notes for 1.4.0.0a2/a3
Change-Id: I9e2a229ffa5bd9b604118d12d54e2f7809b9d49a
2014-07-08 17:32:28 +01:00
Jenkins
270e9cb00c Merge "Remove duplicate docs for MessageHandlingServer" 2014-07-01 09:57:37 +00:00
Mark McLoughlin
89ed1295b5 Add release notes for 1.4.0.0a1
Change-Id: Iaf4ee85100533746ec8b6faa7983a17261eb5392
2014-06-26 10:34:25 +01:00
Mark McLoughlin
32d5129b37 Remove duplicate docs for MessageHandlingServer
We're currently including these docs under the RPC server and
notification listener sections causing sphinx to have a minor panic
attack.

  WARNING: duplicate object description of oslo.messaging.MessageHandlingServer

Change-Id: I76a4d9a7f55f7b65bcdd2bdb814904dc55bd1068
2014-06-26 06:53:20 +01:00
Mark McLoughlin
5fbb55b385 Add missing docs for list_opts()
Seems I forgot to check this in as part of commit 0eb5a6f.

Change-Id: I4e3128f726873998fb9c1cde78864e06e225e5bd
2014-06-26 06:53:08 +01:00
Mark McLoughlin
b114ccc39a Add release notes for 1.3.0
Also add some missing thanks from 1.3.0a9.

Change-Id: I665e875e4353e8006d13ab3b19ea4e0597a13ae1
2014-03-31 21:34:35 +01:00
Jenkins
2a08832c72 Merge "Add release notes up to 1.3.0a9" 2014-03-28 15:34:49 +00:00
Lance Bragstad
5985a8c717 Build log_handler documentation
When log_handler.py was added to oslo.messaging changes weren't made to
publish the documentation. This patch ensures the docs for log_handler
are built.

Change-Id: Ibf60f648ad07875fb4c61427e601b6b268a95f53
Closes-Bug: 1286984
2014-03-06 02:17:36 +00:00
Mark McLoughlin
00e8f61fbe Add release notes up to 1.3.0a9
Change-Id: I978a483e8b121731f838d54e60651c80471793cb
2014-03-04 11:26:36 -08:00
Jenkins
15bfa35e0c Merge "Implements notification listener and dispatcher" 2014-02-17 16:33:42 +00:00
Mehdi Abaakouk
9f58e2c3fe Implements notification listener and dispatcher
This patch allows to quickly create a listener to receive
notification messages.

Example of the api:

class Endpoint(object):
    def warn(self, ctxt, publisher_id, event_type, payload):
        do_something(payload)

target = messaging.Target(topic='notifications', exchange='cinder')
listener = notify.get_notification_listener(transport, [target],
                                            [Endpoint()],
                                            executor,
                                            serializer)

Implements blueprint notification-subscriber-server

Change-Id: I434bc487c382a2048670df726d9bebd640150bb9
2014-02-14 16:06:26 +01:00
Dirk Mueller
de6d92fb92 Switch over to oslosphinx
Having the sphinx theme in the same namespace package
as the production code has been causing issues with
devstack installations. The solution settled on was
to rename oslo.sphinx to oslosphinx because oslo.sphinx
is not a "production" library.

See the linked bug report for more background details.

Closes-Bug: #1277168
Change-Id: I220b8901cef36499e91b92719f1e8e5461a95e92
2014-02-14 10:09:13 +00:00
Jenkins
f81cde600b Merge "Expose an entry point to list all config options" 2014-01-28 06:17:56 +00:00
Mark McLoughlin
0eb5a6f6c7 Expose an entry point to list all config options
Register a oslo.messaging entry point in the oslo.config.opts namespace
which, when called, returns a list of the configuration options which
may be registered by the library at runtime.

The idea here is that the sample config file generator can query this
and include the returned options in the sample config file of any
applications which use the library.

Some sample code for fetching available options:

  import pkg_resources

  for ep in pkg_resources.iter_entry_points('oslo.config.opts'):
      if ep.name == "oslo.messaging":
          list_opts = ep.load()
          for g, opts in list_opts():
              opts.sort(key=lambda x: x.name)
              print "[%s]" % g
              for o in opts:
                  print "%s = %s" % (o.name, o.default)
              print

Related-Bug: #1241566
Change-Id: Ic28351258652d2ea38974e2f4d1aa6b1d3dd7192
2014-01-27 11:24:52 +00:00
Mark McLoughlin
fff225538c Add release notes for 1.3.0a3
Change-Id: If97e1d695e498aac41aabbc1cea7cb9336b3b725
2014-01-17 12:38:51 +00:00
Mark McLoughlin
2937692464 Add release notes for 1.3.0a2
Change-Id: If4cf83d605801047053530ca5c7970e30132b4b0
2013-12-03 23:18:42 +00:00
Julien Danjou
f9ab2e105f Implement a log handler using notifier
Change-Id: Iccac043d46a733e965b3310bbbe9c7d6c07a46ac
Blueprint: logging-and-notification
2013-11-29 16:15:09 +01:00
Mark McLoughlin
a2f99ad35e Remove ConfFixture from toplevel public API
There's no need to make the fixtures, testtools, etc. libraries a
runtime requirement, so let's move it from the toplevel oslo.messaging
API so you need to explicitly import it.

Change-Id: I9e2f32a898d78489f2d8d9c218c81f35cda14e34
2013-08-17 17:49:23 +01:00
Jenkins
f95c5bb6ed Merge "Add a unit testing configuration fixture" 2013-08-13 14:02:29 +00:00
Mark McLoughlin
fbe3192d9a Add a unit testing configuration fixture
The configuration options registered by oslo.messaging should not be
directly relied upon by users of the library, since those config option
names could change in future.

Add an API which allows API users to override specific configuration
options e.g.

    self.messaging_conf = self.useFixture(messaging.ConfFixture(cfg.CONF))
    self.messaging_conf.transport_driver = 'fake'

Change-Id: If0d837e1b86e3b04237fde522551cfb81505a543
2013-08-13 13:52:42 +01:00
Mark McLoughlin
c846cf35b8 Add a TransportURL class to the public API
Nova's cells/rpc_driver.py has some code which allows user of the REST
API to update elements of a cell's transport URL (say, the host name of
the message broker) stored in the database. To achieve this, it has
a parse_transport_url() method which breaks the URL into its constituent
parts and an unparse_transport_url() which re-forms it again after
updating some of its parts.

This is all fine and, since it's fairly specialized, it wouldn't be a
big deal to leave this code in Nova for now ... except the unparse
method looks at CONF.rpc_backend to know what scheme to use in the
returned URL if now backend was specified.

oslo.messaging registers the rpc_backend option, but the ability to
reference any option registered by the library should not be relied upon
by users of the library. Imagine, for instance, if we renamed the option
in future (with backwards compat for old configurations), then this
would mean API breakage.

So, long story short - an API along these lines makes some sense, but
especially since not having it would mean we'd need to add some way to
query the name of the transport driver.

In this commit, we add a simple new TransportURL class:

  >>> url = messaging.TransportURL.parse(cfg.CONF, 'foo:///')
  >>> str(url), url
  ('foo:///', <TransportURL transport='foo'>)
  >>> url.hosts.append(messaging.TransportHost(hostname='localhost'))
  >>> str(url), url
  ('foo://localhost/', <TransportURL transport='foo', hosts=[<TransportHost hostname='localhost'>]>)
  >>> url.transport = None
  >>> str(url), url
  ('kombu://localhost/', <TransportURL transport='kombu', hosts=[<TransportHost hostname='localhost'>]>)
  >>> cfg.CONF.set_override('rpc_backend', 'bar')
  >>> str(url), url
  ('bar://localhost/', <TransportURL transport='bar', hosts=[<TransportHost hostname='localhost'>]>)

The TransportURL.parse() method equates to parse_transport_url() and
TransportURL.__str__() equates to unparse_transport().

The transport drivers are also updated to take a TransportURL as a
required argument, which simplifies the handling of transport URLs in
the drivers.

Change-Id: Ic04173476329858e4a2c2d2707e9d4aeb212d127
2013-08-12 23:30:43 +01:00
Jenkins
f3b30fde49 Merge "Add thread-local store of request context" 2013-08-12 09:23:42 +00:00