Greetings,
A few weeks ago I spent some time looking into a bug [1] that came up back when we had the test day. The bug showed a "database locked" error when sqlite was used. In short, using sqlite with nova is not a reliable combination. I'd like to get some consensus on a good way to address that.
Some options ...
1) Update the docs to strongly recommend switching to MySQL as a part of the setup process.
2) Don't even bother having the packages set up for sqlite at all. Switch to mysql by default.
I'd like to take path #2 here. It seems like a bad idea to provide a default configuration that we know will fail at times.
If we do take this path, what's the best way to go about it? We can have nova set up to use MySQL and point it at localhost with some default credentials. Should we do more? Provide a trivial script for creating the nova database and user? Have an optional openstack-nova-db package that pulls in MySQL and automatically creates the db?
I don't want to try to make things too smart and then end up causing pain for administrators.
Thoughts?
Thanks,
[1] https://bugzilla.redhat.com/show_bug.cgi?id=735012
On Thu, Nov 17, 2011 at 3:22 PM, Russell Bryant rbryant@redhat.com wrote:
If we do take this path, what's the best way to go about it? We can have nova set up to use MySQL and point it at localhost with some default credentials. Should we do more? Provide a trivial script for creating the nova database and user? Have an optional openstack-nova-db package that pulls in MySQL and automatically creates the db?
I would go with the "provide a trivial script" route. You don't know what the systems administrator might want to do with regards to database usernames and passwords.
-- Jared Smith Fedora Project Leader
Hey,
On Thu, 2011-11-17 at 15:22 -0500, Russell Bryant wrote:
Greetings,
A few weeks ago I spent some time looking into a bug [1] that came up back when we had the test day. The bug showed a "database locked" error when sqlite was used. In short, using sqlite with nova is not a reliable combination. I'd like to get some consensus on a good way to address that.
For reference, the bug triggering this discussion is:
https://bugzilla.redhat.com/735012
Some options ...
- Update the docs to strongly recommend switching to MySQL as a part of
the setup process.
- Don't even bother having the packages set up for sqlite at all.
Switch to mysql by default.
I'd like to take path #2 here. It seems like a bad idea to provide a default configuration that we know will fail at times.
Yeah, if sqlite is such a lost cause, then we should drop it.
If we do remove the auto-sqlite-setup thing in %post, people who do try to use sqlite will hit the following problems:
- You can use an sqlite URI like sqlite:////nova.sqlite, but if you then run 'nova manage db sync' the DB will be created in the current dir rather than /var/lib/nova. The nova services all run with /var/lib/nova as their cwd
- 'nova-manage db sync' will create the DB owned by the current user. You need to chown it to the nova user
So, the "create nova.sqlite in %post" thing was about trying to eliminate those hurdles.
If we do take this path, what's the best way to go about it? We can have nova set up to use MySQL and point it at localhost with some default credentials. Should we do more? Provide a trivial script for creating the nova database and user? Have an optional openstack-nova-db package that pulls in MySQL and automatically creates the db?
I don't want to try to make things too smart and then end up causing pain for administrators.
I'd go with simply making mysql://nova:nova@localhost/nova the default for the sql_connection flag
Potentially also include a simple script for changing the MySQL root password, deleting anonymous accounts, creating the nova DB and the nova user as described here:
https://fedoraproject.org/wiki/Getting_started_with_OpenStack_Nova#Using_MyS...
I'd also look into what the Ubuntu packages do:
http://bazaar.launchpad.net/~openstack-ubuntu-packagers/nova/ubuntu/files/he...
At a first glance, it looks like they use sqlite by default and don't any particular help for people to use MySQL e.g.
http://bazaar.launchpad.net/~openstack-ubuntu-packagers/nova/ubuntu/view/hea...
if ! grep -q sql_connection /etc/nova/nova.conf then su -c 'nova-manage db sync' nova fi
Cheers, Mark.
On 11/18/2011 03:41 AM, Mark McLoughlin wrote:
Hey,
On Thu, 2011-11-17 at 15:22 -0500, Russell Bryant wrote:
Greetings,
A few weeks ago I spent some time looking into a bug [1] that came up back when we had the test day. The bug showed a "database locked" error when sqlite was used. In short, using sqlite with nova is not a reliable combination. I'd like to get some consensus on a good way to address that.
For reference, the bug triggering this discussion is:
Thanks for the feedback, Mark. I finally got back to this today and posted a first pass at proposed changes to the bug linked above.
On Wed, 2011-11-23 at 17:34 -0500, Russell Bryant wrote:
On 11/18/2011 03:41 AM, Mark McLoughlin wrote:
Hey,
On Thu, 2011-11-17 at 15:22 -0500, Russell Bryant wrote:
Greetings,
A few weeks ago I spent some time looking into a bug [1] that came up back when we had the test day. The bug showed a "database locked" error when sqlite was used. In short, using sqlite with nova is not a reliable combination. I'd like to get some consensus on a good way to address that.
For reference, the bug triggering this discussion is:
Thanks for the feedback, Mark. I finally got back to this today and posted a first pass at proposed changes to the bug linked above.
Awesome! I just tried out the openstack-nova-db-setup script and it works great.
Cheers, Mark.