[OpenStack-Infra] ARA 1.0 deployment plans
David Moreau Simard
dmsimard at redhat.com
Tue Jun 11 20:39:58 UTC 2019
Thanks for starting this thread Ian.
On Tue, Jun 11, 2019 at 4:09 AM Ian Wienand <iwienand at redhat.com> wrote:
> It seems ARA 1.0 has moved in some directions we're not handling right
> now. Playing with [1] I've got ARA generating and uploading it's
> database.
Patch looks good to me.
Thanks for playing with it :)
> Currently, Apache matches an ara-report/ directory on
> logs.openstack.org and sent to the ARA wsgi application which serves
> the response from the sqlite db in that directory [2].
Correct.
> If I'm understanding, we now need ara-web [3] to display the report
> page we all enjoy. However this web app currently only gets data from
> an ARA server instance that provides a REST interface with the info?
Correct.
> I'm not really seeing how this fits with the current middleware
> deployment? (unfortunately [4] or an analogue in the new release seems
> to have disappeared). Do we now host a separate ARA server on
> logs.openstack.org on some known port that knows how to turn
> /*/ara-report/ URL requests into access of the .sqlite db on disk and
> thus provide the REST interface?
The sqlite middleware doesn't have an equivalent in 1.0 right now.
Although it was first implemented as somewhat of a hack to address the
lack of scalability of HTML generation, I've gotten to like the design
principle of isolating a job's result in a single database.
It easy to scale and keeps latency to a minimum compared to a central
database server.
I'm convinced that implementing a similar approach for 1.0 would make
sense. I would happily accept any input here.
> And then somehow we host a ara-web instance that knows how to
> request from this ?
Right now the API server is defined by the configuration [1].
We would need to implement a more "dynamic" way of being able to
specify an API endpoint to query.
For example, we recently added support for ara-web to prompt a login
page if the API server requires authentication. The credentials are stored
locally and then used to authenticate queries against the API.
It might not be too much of a stretch to implement a way to store the
API endpoint locally like we do for credentials.
We wouldn't want the user(s) to type in the API endpoint every time, though.
There is a little thinking to do about how to glue the things together.
The combination of the rewrite rule, the wsgi middleware and the fact that
0.x was a monolithic app definitely made this easier.
> Given I can't see us wanting to do a bunch of puppet hacking to get
> new services on logs.openstack.org, but yet also it requiring fairly
> non-trivial effort to get the extant bits and pieces on that server
> migrated to an all-Ansible environment, I think we have to give some
> thought as to how we'll roll this out (plus add in containers,
> possible logs on swift, etc ... for extra complexity :)
>
> So does anyone have thoughts on a high-level view of how this might
> hang together?
For now I've created an etherpad [2] as a starting point to summarize
some of what has been written here as well as other points which are perhaps
more Zuul-specific.
[1]: https://github.com/ansible-community/ara-web/blob/master/public/config.json
[2]: https://etherpad.openstack.org/p/ara-1.0-in-zuul
David Moreau Simard
dmsimard = [irc, github, twitter]
More information about the OpenStack-Infra
mailing list