<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Denis+M.</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Denis+M."/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/Denis_M."/>
		<updated>2026-06-30T14:24:44Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=72128</id>
		<title>Meetings/TroveMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=72128"/>
				<updated>2015-01-21T08:57:25Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Jan 21st */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Team Meeting =&lt;br /&gt;
&lt;br /&gt;
We have weekly team meetings on Wednesdays at 18:00 UTC in #openstack-meeting-alt&lt;br /&gt;
&lt;br /&gt;
Want to add an agenda item? Please append your item to the upcoming weekly agenda while keeping in mind:&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Writing Clear Agenda Items ==&lt;br /&gt;
An agenda item should have a clearly defined objective.&lt;br /&gt;
 &lt;br /&gt;
* Good: Review #xxxxx has comments on foobar.py from multiple folks and there seems to be a lack of consensus on how to solve problem ‘y’. Let’s quickly rehash the merits of both approaches in 2-5 minutes and call for a vote. Goal: choose an approach and move forward on implementation.&lt;br /&gt;
* Bad: Discuss blueprint ‘xyz’&lt;br /&gt;
* Bad: Revisit blueprint ‘abc’ that we talked about last week to get answers on remaining disagreements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When referring to previous conversations or competing viewpoints, be sure to summarize them.&lt;br /&gt;
&lt;br /&gt;
== Agenda for Jan 21st ==&lt;br /&gt;
&lt;br /&gt;
* Review #131610 : Security concerns, continued from the previous meeting + general review&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=72074</id>
		<title>Meetings/TroveMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=72074"/>
				<updated>2015-01-20T17:44:14Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Jan 21st */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Team Meeting =&lt;br /&gt;
&lt;br /&gt;
We have weekly team meetings on Wednesdays at 18:00 UTC in #openstack-meeting-alt&lt;br /&gt;
&lt;br /&gt;
Want to add an agenda item? Please append your item to the upcoming weekly agenda while keeping in mind:&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Writing Clear Agenda Items ==&lt;br /&gt;
An agenda item should have a clearly defined objective.&lt;br /&gt;
 &lt;br /&gt;
* Good: Review #xxxxx has comments on foobar.py from multiple folks and there seems to be a lack of consensus on how to solve problem ‘y’. Let’s quickly rehash the merits of both approaches in 2-5 minutes and call for a vote. Goal: choose an approach and move forward on implementation.&lt;br /&gt;
* Bad: Discuss blueprint ‘xyz’&lt;br /&gt;
* Bad: Revisit blueprint ‘abc’ that we talked about last week to get answers on remaining disagreements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When referring to previous conversations or competing viewpoints, be sure to summarize them.&lt;br /&gt;
&lt;br /&gt;
== Agenda for Jan 21st ==&lt;br /&gt;
&lt;br /&gt;
* Review #131610 : Security concerns, continued from the previous meeting + general review&lt;br /&gt;
* gate-trove-tox-doc-publish-checkbuild still failing on multiple patchsets, what should we do?&lt;br /&gt;
** Question: Can we make it non-votable? Or raise concern about this problem that we've faced with for infra team?&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68094</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68094"/>
				<updated>2014-11-17T21:56:55Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Nov. 24 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nov 17 Meeting ==&lt;br /&gt;
* Add support for DB2 Express-C datastore (https://review.openstack.org/#/c/133856/) - Mariam John&lt;br /&gt;
* Add support for Apache CouchDB datastore (https://review.openstack.org/#/c/133849/) - Mariam John&lt;br /&gt;
[grapex]&lt;br /&gt;
* Example Snippet Generator - Tim Simpson&lt;br /&gt;
[Riddhi]&lt;br /&gt;
* Flavors per datastore - https://blueprints.launchpad.net/trove/+spec/associate-flavors-datastores&lt;br /&gt;
* sgotliv (Sergey Gotliv) and peterstac (Peter Stachowski) wanted to discuss the relevant API changes.&lt;br /&gt;
&lt;br /&gt;
== Nov. 24 Meeting ==&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68041</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68041"/>
				<updated>2014-11-17T17:28:26Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Nov. 24 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nov 17 Meeting ==&lt;br /&gt;
* Add support for DB2 Express-C datastore (https://review.openstack.org/#/c/133856/) - Mariam John&lt;br /&gt;
* Add support for Apache CouchDB datastore (https://review.openstack.org/#/c/133849/) - Mariam John&lt;br /&gt;
[grapex]&lt;br /&gt;
* Example Snippet Generator - Tim Simpson&lt;br /&gt;
[riddhi]&lt;br /&gt;
* Flavors per datastore - https://blueprints.launchpad.net/trove/+spec/associate-flavors-datastores&lt;br /&gt;
* sgotliv (Sergey Gotliv) and peterstac (Peter Stachowski) wanted to discuss the relevant API changes.&lt;br /&gt;
&lt;br /&gt;
== Nov. 24 Meeting ==&lt;br /&gt;
[denis_makogon]&lt;br /&gt;
* Clustering action improvements&lt;br /&gt;
** https://blueprints.launchpad.net/trove/+spec/deprecate-cluster-action&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68040</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=68040"/>
				<updated>2014-11-17T17:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Nov 17 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nov 17 Meeting ==&lt;br /&gt;
* Add support for DB2 Express-C datastore (https://review.openstack.org/#/c/133856/) - Mariam John&lt;br /&gt;
* Add support for Apache CouchDB datastore (https://review.openstack.org/#/c/133849/) - Mariam John&lt;br /&gt;
[grapex]&lt;br /&gt;
* Example Snippet Generator - Tim Simpson&lt;br /&gt;
[riddhi]&lt;br /&gt;
* Flavors per datastore - https://blueprints.launchpad.net/trove/+spec/associate-flavors-datastores&lt;br /&gt;
* sgotliv (Sergey Gotliv) and peterstac (Peter Stachowski) wanted to discuss the relevant API changes.&lt;br /&gt;
&lt;br /&gt;
== Nov. 24 Meeting ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=67971</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=67971"/>
				<updated>2014-11-17T11:13:32Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Weekly Trove Blueprint Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nov 17 Meeting CANCELED==&lt;br /&gt;
* Example Snippet Generator - Tim Simpson&lt;br /&gt;
* Add support for DB2 Express-C datastore (https://review.openstack.org/#/c/133856/) - Mariam John&lt;br /&gt;
* Add support for Apache CouchDB datastore (https://review.openstack.org/#/c/133849/) - Mariam John&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Nov. 24 Meeting ==&lt;br /&gt;
[denis_makogon]&lt;br /&gt;
* Clustering action improvements&lt;br /&gt;
** https://blueprints.launchpad.net/trove/+spec/deprecate-cluster-action&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=66812</id>
		<title>Meetings/TroveMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=66812"/>
				<updated>2014-10-27T20:10:12Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Team Meeting =&lt;br /&gt;
&lt;br /&gt;
We have weekly team meetings on Wednesdays at 18:00 UTC in #openstack-meeting-alt&lt;br /&gt;
&lt;br /&gt;
Want to add an agenda item? Please append your item to the upcoming weekly agenda while keeping in mind:&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Writing Clear Agenda Items ==&lt;br /&gt;
An agenda item should have a clearly defined objective.&lt;br /&gt;
 &lt;br /&gt;
* Good: Review #xxxxx has comments on foobar.py from multiple folks and there seems to be a lack of consensus on how to solve problem ‘y’. Let’s quickly rehash the merits of both approaches in 2-5 minutes and call for a vote. Goal: choose an approach and move forward on implementation.&lt;br /&gt;
* Bad: Discuss blueprint ‘xyz’&lt;br /&gt;
* Bad: Revisit blueprint ‘abc’ that we talked about last week to get answers on remaining disagreements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When referring to previous conversations or competing viewpoints, be sure to summarize them.&lt;br /&gt;
&lt;br /&gt;
== Agenda for Oct 22nd  ==&lt;br /&gt;
* [SlickNik] Discuss trove design summit sessions in the etherpad&lt;br /&gt;
** https://etherpad.openstack.org/p/kilo-trove-summit-topics&lt;br /&gt;
* [amcrn] Ask folks to review https://wiki.openstack.org/wiki/Bugs#Importance and (re-)categorize bugs accordingly.&lt;br /&gt;
* [amrith and AJaeger] AJaeger started working on https://review.openstack.org/#/c/129624/. This same issue was debated in https://review.openstack.org/#/c/104616/ and after some deliberation we eventually didn't take the change. My recollection is that this was discussed at the mid-cycle in Cambridge as part of the conversations that led to https://review.openstack.org/#/c/115778/ and we decided that we wouldn't take H301. Maybe that was a decision for the Juno cycle only; I don't recall. After speaking with AJaeger, I've put this on the agenda for this meeting because I would like to make sure that we're in favor of this change now before he spends much more time on it, and the attendant fixes to H302 and H304 which produce numerous failures.&lt;br /&gt;
* [robertmyers and schang] Discuss guestagent refactoring progress.&lt;br /&gt;
** https://review.openstack.org/#/c/119425/ passed and ready for review, but gate seems to be broken.&lt;br /&gt;
** Prepare for other guestagent merges. Discuss status of other in-flight commits.&lt;br /&gt;
== Agenda for Oct 29th ==&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** https://review.openstack.org/#/c/102838/ - During bug discussion (using report comments) was made unformal decision to mark all running backups as FAILED if instance is being deleted. But this checkin was marked with -2 from Auston (for more info see checkin comments). I'd like to discuss it and find suitable way for all of us.&lt;br /&gt;
** https://review.openstack.org/#/c/130519/ - As we are all know that incremental backup can silently be executed as full backup because there's no incremental strategy for given backup strategy. This fix aims to fix it. But Amrith keep voting with -1 because he thinks that fix can be shorter. More info you can find out checkin comments. My idea is to have common validation method that executes specific logic depending on operation type. So, i'd like to hear concrete feedback from other contributors and find suitable way to fix it.&lt;br /&gt;
** https://gist.github.com/denismakogon/15561df6dc5ddc60ba74 - We need to find proper way to handle cluster extension procedure using CLI. Also, as it was discussed, once clustering is merged we might proceed with changing existing python-troveclient framework (for more information see GIST).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove/2014/&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Weekly_Meeting_Agenda_History&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Note: BP Meetings now have their own wiki page at: https://wiki.openstack.org/wiki/Meetings/TroveBPMeeting&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=66721</id>
		<title>Meetings/TroveMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveMeeting&amp;diff=66721"/>
				<updated>2014-10-24T21:49:48Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Oct 22nd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Team Meeting =&lt;br /&gt;
&lt;br /&gt;
We have weekly team meetings on Wednesdays at 18:00 UTC in #openstack-meeting-alt&lt;br /&gt;
&lt;br /&gt;
Want to add an agenda item? Please append your item to the upcoming weekly agenda while keeping in mind:&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Writing Clear Agenda Items ==&lt;br /&gt;
An agenda item should have a clearly defined objective.&lt;br /&gt;
 &lt;br /&gt;
* Good: Review #xxxxx has comments on foobar.py from multiple folks and there seems to be a lack of consensus on how to solve problem ‘y’. Let’s quickly rehash the merits of both approaches in 2-5 minutes and call for a vote. Goal: choose an approach and move forward on implementation.&lt;br /&gt;
* Bad: Discuss blueprint ‘xyz’&lt;br /&gt;
* Bad: Revisit blueprint ‘abc’ that we talked about last week to get answers on remaining disagreements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When referring to previous conversations or competing viewpoints, be sure to summarize them.&lt;br /&gt;
&lt;br /&gt;
== Agenda for Oct 22nd  ==&lt;br /&gt;
* [SlickNik] Discuss trove design summit sessions in the etherpad&lt;br /&gt;
** https://etherpad.openstack.org/p/kilo-trove-summit-topics&lt;br /&gt;
* [amcrn] Ask folks to review https://wiki.openstack.org/wiki/Bugs#Importance and (re-)categorize bugs accordingly.&lt;br /&gt;
* [amrith and AJaeger] AJaeger started working on https://review.openstack.org/#/c/129624/. This same issue was debated in https://review.openstack.org/#/c/104616/ and after some deliberation we eventually didn't take the change. My recollection is that this was discussed at the mid-cycle in Cambridge as part of the conversations that led to https://review.openstack.org/#/c/115778/ and we decided that we wouldn't take H301. Maybe that was a decision for the Juno cycle only; I don't recall. After speaking with AJaeger, I've put this on the agenda for this meeting because I would like to make sure that we're in favor of this change now before he spends much more time on it, and the attendant fixes to H302 and H304 which produce numerous failures.&lt;br /&gt;
* [robertmyers and schang] Discuss guestagent refactoring progress.&lt;br /&gt;
** https://review.openstack.org/#/c/119425/ passed and ready for review, but gate seems to be broken.&lt;br /&gt;
** Prepare for other guestagent merges. Discuss status of other in-flight commits.&lt;br /&gt;
== Agenda for Oct 29th ==&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** https://review.openstack.org/#/c/102838/ - During bug discussion (using report comments) was made unformal decision to mark all running backups as FAILED if instance is being deleted. But this checkin was marked with -2 from Auston (for more info see checkin comments). I'd like to discuss it and find suitable way for all of us.&lt;br /&gt;
** https://review.openstack.org/#/c/130519/ - As we are all know that incremental backup can silently be executed as full backup because there's no incremental strategy for given backup strategy. This fix aims to fix it. But Amrith keep voting with -1 because he thinks that fix can be shorter. More info you can find out checkin comments. My idea is to have common validation method that executes specific logic depending on operation type. So, i'd like to hear concrete feedback from other contributors and find suitable way to fix it.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove/2014/&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Weekly_Meeting_Agenda_History&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt;Note: BP Meetings now have their own wiki page at: https://wiki.openstack.org/wiki/Meetings/TroveBPMeeting&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=66233</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=66233"/>
				<updated>2014-10-20T18:01:04Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Oct 20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agenda for Oct 20 ==&lt;br /&gt;
* [amrith] Handle oslo-incubator module graduation. Please note that this encompasses two blueprints one for oslo.concurrency which I had filed earlier and a second one for other modules that have already graduated. Four commits have been provided as an example of some of the kinds of changes being contemplated. Changes (similar) are ready for all of the other modules (except rpc which is being handled independently). Please review the following:&lt;br /&gt;
** https://review.openstack.org/#/c/123571/&lt;br /&gt;
** https://etherpad.openstack.org/p/trove-kilo-do-not-use-obsolete-oslo-modules&lt;br /&gt;
** https://review.openstack.org/#/c/129292/&lt;br /&gt;
** https://review.openstack.org/#/c/129294/&lt;br /&gt;
** https://review.openstack.org/#/c/129295/&lt;br /&gt;
** https://review.openstack.org/#/c/129378/&lt;br /&gt;
&lt;br /&gt;
* [denis_makogon] Cassandra clustering&lt;br /&gt;
** Please review https://review.openstack.org/#/c/122736/&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=65076</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=65076"/>
				<updated>2014-10-15T18:31:23Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Oct 20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agenda for Oct 20 ==&lt;br /&gt;
* [amrith] Handle oslo-incubator module graduation. Please review https://review.openstack.org/#/c/123571/. Please note that this encompasses two blueprints one for oslo.concurrency which I had filed earlier and a second one for other modules that have already graduated.&lt;br /&gt;
* [denis_makogon] Cassandra clustering&lt;br /&gt;
** Please review https://review.openstack.org/#/c/122736/&lt;br /&gt;
* [denis_makogon] Datastore log operations&lt;br /&gt;
** Please review https://review.openstack.org/#/c/124717/&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=63163</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=63163"/>
				<updated>2014-09-19T15:19:18Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Sep 22 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agenda for Sep 15 ==&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
** Clustering int-tests&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
&lt;br /&gt;
== Agenda for Sep 22 ==&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
** Oracle 12c support over Fedora 20&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/oracle-db-over-fedora-20&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=63162</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=63162"/>
				<updated>2014-09-19T15:17:13Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Agenda for Sep 15 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agenda for Sep 15 ==&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
** Clustering int-tests&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
&lt;br /&gt;
== Agenda for Sep 22 ==&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
** Oracle 12c support over Fedora 20&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/oracle-db-over-fedora-20&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63158</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63158"/>
				<updated>2014-09-19T14:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Extensions Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| ✔**         &lt;br /&gt;
| ✔&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63157</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63157"/>
				<updated>2014-09-19T14:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Extensions Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| ✔**         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63156</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63156"/>
				<updated>2014-09-19T14:32:23Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Extensions Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔**         &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63155</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63155"/>
				<updated>2014-09-19T14:31:33Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* API Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
| '''Couchbase'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| ✔**         &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63154</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63154"/>
				<updated>2014-09-19T14:30:34Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* API Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| ✔**         &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63153</id>
		<title>Trove/DatastoreCompatibilityMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/DatastoreCompatibilityMatrix&amp;diff=63153"/>
				<updated>2014-09-19T14:29:56Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* API Matrix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will detail which datastores have which functions, either core or extension form.&lt;br /&gt;
&lt;br /&gt;
== API Matrix ==&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
|-&lt;br /&gt;
| Launch                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Reboot                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Terminate                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔     &lt;br /&gt;
| ✔         &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Resize                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔          &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Backup                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Restore                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔       &lt;br /&gt;
|-&lt;br /&gt;
| Replication                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔              &lt;br /&gt;
|-&lt;br /&gt;
| Clustering&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| ✔&lt;br /&gt;
| ✔&lt;br /&gt;
| -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extensions Matrix ==&lt;br /&gt;
This covers items that are not considered part of the core api (yet). As more datastores start to use extensions, we can move them to core.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| '''Feature'''             &lt;br /&gt;
| '''MySQL''' &lt;br /&gt;
| '''Redis''' &lt;br /&gt;
| '''Cassandra''' &lt;br /&gt;
| '''MongoDB''' &lt;br /&gt;
| '''PostgreSQL'''&lt;br /&gt;
|-&lt;br /&gt;
| Users                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗         &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| ✔         &lt;br /&gt;
|-&lt;br /&gt;
| Schemas                    &lt;br /&gt;
| ✔                                  &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗            &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗           &lt;br /&gt;
| ✔*         &lt;br /&gt;
|-&lt;br /&gt;
| Root                 &lt;br /&gt;
| ✔          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗     &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗          &lt;br /&gt;
| style=&amp;quot;color: red&amp;quot; | ✗  &lt;br /&gt;
| ✔**         &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;* PostgreSQL supports has separate constructs for schemas and databases.&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;** PostgreSQL supports superusers but does not have a &amp;quot;root&amp;quot; user.&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=TroveBlueprint&amp;diff=62865</id>
		<title>TroveBlueprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=TroveBlueprint&amp;diff=62865"/>
				<updated>2014-09-17T09:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
Describe the purpose of the enhancement&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
* What is the driving force behind this change?  &lt;br /&gt;
* Does it allow for great flexibility? Stability? Security?&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
* Does this impact any configuration files? If so, which ones?&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
* Does this impact any existing tables?  If so, which ones?&lt;br /&gt;
* Are the changes forward and backward compatible? &lt;br /&gt;
* Be sure to include the expected migration process&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
* Does this change any API that an end-user has access to?&lt;br /&gt;
* Are there any exceptions in terms of consistency with other APIs?&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
* How the command will look like?&lt;br /&gt;
* Does it extends the already existed command interfaces ?&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
* Which HTTP methods added ?&lt;br /&gt;
* Which routes were added/modified/extended?&lt;br /&gt;
* How does the Request body look like?&lt;br /&gt;
* How does the Response object look like?&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
* Does this change any internal messages between API and Task Manager or Task Manager to Guest&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
* Method name.&lt;br /&gt;
* Method parameters.&lt;br /&gt;
* Message type (cast/call).&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
* Does this change behavior on the Guest Agent? If so, is it backwards compatible with API and Task Manager?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Datastore Configuration feature spec template =&lt;br /&gt;
*https://wiki.openstack.org/wiki/Trove/Configurations&lt;br /&gt;
&lt;br /&gt;
= Datastore Clustering feature spec template =&lt;br /&gt;
*https://wiki.openstack.org/wiki/Trove/Clusters-MongoDB&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62864</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62864"/>
				<updated>2014-09-17T09:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Weekly Trove Blueprint Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
Please submit RST specs as change requests to https://github.com/openstack/trove-specs  &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Agenda for Sep 15 ==&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
** Clustering int-tests&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62569</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62569"/>
				<updated>2014-09-15T12:34:49Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Justification/Benefits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
See more info about cluster deployment at http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
There are alot overcloud projects that are requesting for NoSQL backend. This is perfect place to propose Trove as deployment tool, but before that we need to cover customer use cases with NoSQL deployment.&lt;br /&gt;
From customer and maintainer point of view - Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL eco-system.&lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores,&lt;br /&gt;
it would be great value-add for project to allow deployment of CassandraDB clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
Also, there are several projects, from OpenStack ecosystem, such as Ceilometer and MagnetoDB that may work with Cassandra as well. See&lt;br /&gt;
&lt;br /&gt;
*https://blueprints.launchpad.net/ceilometer/+spec/support-magnetodb&lt;br /&gt;
*https://blueprints.launchpad.net/ceilometer/+spec/cassandra-driver&lt;br /&gt;
*https://github.com/stackforge/magnetodb/tree/master/magnetodb/storage/driver/cassandra&lt;br /&gt;
&lt;br /&gt;
See more info at http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62568</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62568"/>
				<updated>2014-09-15T12:23:22Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
See more info about cluster deployment at http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores,&lt;br /&gt;
it would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62567</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62567"/>
				<updated>2014-09-15T12:23:10Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more info about cluster deployment at http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores,&lt;br /&gt;
it would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62566</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62566"/>
				<updated>2014-09-15T12:22:32Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Impacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores,&lt;br /&gt;
it would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62213</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62213"/>
				<updated>2014-09-08T14:18:47Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Sep 8 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sep 1 Meeting Canceled==&lt;br /&gt;
* Labor Day, so most folks are out&lt;br /&gt;
&lt;br /&gt;
== Sep 8 Meeting ==&lt;br /&gt;
* [iartarisi] - SUSE support&lt;br /&gt;
** I created a blueprint to track the SUSE support in trove. We could discuss this and see what else is needed and how to proceed. https://blueprints.launchpad.net/trove/+spec/suse-support (also see the full specification link)&lt;br /&gt;
* [kevinconway] - SSL support&lt;br /&gt;
** https://wiki.openstack.org/wiki/Trove/TroveSSL&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
***This one was added to follow common rules for BPs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62212</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62212"/>
				<updated>2014-09-08T14:18:33Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Sep 8 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sep 1 Meeting Canceled==&lt;br /&gt;
* Labor Day, so most folks are out&lt;br /&gt;
&lt;br /&gt;
== Sep 8 Meeting ==&lt;br /&gt;
* [iartarisi] - SUSE support&lt;br /&gt;
** I created a blueprint to track the SUSE support in trove. We could discuss this and see what else is needed and how to proceed. https://blueprints.launchpad.net/trove/+spec/suse-support (also see the full specification link)&lt;br /&gt;
* [kevinconway] - SSL support&lt;br /&gt;
** https://wiki.openstack.org/wiki/Trove/TroveSSL&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
:This one was added to follow common rules for BPs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62211</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62211"/>
				<updated>2014-09-08T14:18:07Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Sep 8 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sep 1 Meeting Canceled==&lt;br /&gt;
* Labor Day, so most folks are out&lt;br /&gt;
&lt;br /&gt;
== Sep 8 Meeting ==&lt;br /&gt;
* [iartarisi] - SUSE support&lt;br /&gt;
** I created a blueprint to track the SUSE support in trove. We could discuss this and see what else is needed and how to proceed. https://blueprints.launchpad.net/trove/+spec/suse-support (also see the full specification link)&lt;br /&gt;
* [kevinconway] - SSL support&lt;br /&gt;
** https://wiki.openstack.org/wiki/Trove/TroveSSL&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
* [zhiyan] - OSProfiler integration&lt;br /&gt;
** https://review.openstack.org/#/c/103825/&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
:This one was added to follow common rules for BPs.&lt;br /&gt;
** https://blueprints.launchpad.net/trove/+spec/clustering-int-tests&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62204</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62204"/>
				<updated>2014-09-08T11:08:53Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Justification/Benefits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores,&lt;br /&gt;
it would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HOW-TO:&lt;br /&gt;
*setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62203</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62203"/>
				<updated>2014-09-08T11:08:13Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.modify_flavor.start|end|error&lt;br /&gt;
** instance.modify_volume.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: cluster notifications are emmited by taskmanager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'type': config_serv,&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; modify_flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; modify_volume.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62202</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62202"/>
				<updated>2014-09-08T11:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Impacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: cluster notifications are emmited by taskmanager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'type': config_serv,&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; modify_flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; modify_volume.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62201</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62201"/>
				<updated>2014-09-08T11:06:32Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: cluster notifications are emmited by taskmanager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'type': config_serv,&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62078</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62078"/>
				<updated>2014-09-04T15:56:42Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Sep 8 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sep 1 Meeting Canceled==&lt;br /&gt;
* Labor Day, so most folks are out&lt;br /&gt;
&lt;br /&gt;
== Sep 8 Meeting ==&lt;br /&gt;
* [iartarisi] - SUSE support&lt;br /&gt;
** I created a blueprint to track the SUSE support in trove. We could discuss this and see what else is needed and how to proceed. https://blueprints.launchpad.net/trove/+spec/suse-support (also see the full specification link)&lt;br /&gt;
* [kevinconway] - SSL support&lt;br /&gt;
** https://wiki.openstack.org/wiki/Trove/TroveSSL&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
** Cassandra clustering&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/cassandra-cluster&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62077</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62077"/>
				<updated>2014-09-04T15:55:39Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Cassandra clustering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores..&lt;br /&gt;
&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HOW-TO:&lt;br /&gt;
*setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
We need to add another one cluster task for adding node (existing &amp;quot;add shard&amp;quot; task might work but it would be nice to have consistent states for each datastore), for cassandra we  need to add:&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add node&amp;quot; cluster task&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62076</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62076"/>
				<updated>2014-09-04T15:48:03Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores..&lt;br /&gt;
&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HOW-TO:&lt;br /&gt;
*setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
*cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
*api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
*taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
*guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62075</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62075"/>
				<updated>2014-09-04T15:47:49Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Impacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores..&lt;br /&gt;
&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HOW-TO:&lt;br /&gt;
*setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
**api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62074</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62074"/>
				<updated>2014-09-04T15:46:58Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Justification/Benefits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
&lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores..&lt;br /&gt;
&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
HOW-TO setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
**api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62073</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62073"/>
				<updated>2014-09-04T15:46:47Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering feature development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores.&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
HOW-TO setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
**api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62072</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62072"/>
				<updated>2014-09-04T15:46:33Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores.&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
HOW-TO setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
**api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62071</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62071"/>
				<updated>2014-09-04T15:46:23Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Impacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores.&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
To implement cassandra clustering we need to add 3 new strategies:&lt;br /&gt;
*API strategy implementation&lt;br /&gt;
*Taskmanager implementation&lt;br /&gt;
*Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
HOW-TO setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support - Boolean&lt;br /&gt;
&lt;br /&gt;
**api_strategy - fully qualified class name of aAPI strategy implementation&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy - fully qualified class name of a Taskmanager implementation&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy - fully qualified class name of a Guestagent implementation&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62070</id>
		<title>Trove/cassandra-clustering</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/cassandra-clustering&amp;diff=62070"/>
				<updated>2014-09-04T15:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: Created page with &amp;quot;= Cassandra clustering =  == Description == This spec describes Cassandra clustering development.  See more info about Cassandra itself at http://cassandra.apache.org/ See mor...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Cassandra clustering =&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
This spec describes Cassandra clustering development.&lt;br /&gt;
&lt;br /&gt;
See more info about Cassandra itself at http://cassandra.apache.org/&lt;br /&gt;
See more info about Cassandra clusters at http://planetcassandra.org/blog/introduction-to-cassandra-clusters/&lt;br /&gt;
&lt;br /&gt;
== Justification/Benefits ==&lt;br /&gt;
Cassandra is the easiest to deploy-and-maintain datastore in the NoSQL world. &lt;br /&gt;
Since Trove provides framework that allows to implement clustering for certain datastores.&lt;br /&gt;
It would be &amp;quot;nice to have&amp;quot; such ability to deploy C* clusters through Trove.&lt;br /&gt;
&lt;br /&gt;
See more info at:&lt;br /&gt;
** http://www.enterprisetech.com/2014/03/20/google-makes-cassandra-nosql-scream-compute-engine/&lt;br /&gt;
&lt;br /&gt;
== Impacts ==&lt;br /&gt;
&lt;br /&gt;
HOW-TO setup cassandra cluster: http://pulasthisupun.blogspot.com/2013/12/setting-up-local-3-node-cassandra.html&lt;br /&gt;
&lt;br /&gt;
=== Configuration === &lt;br /&gt;
For Cassandra clustering we need to have next options:&lt;br /&gt;
&lt;br /&gt;
**cluster_support&lt;br /&gt;
&lt;br /&gt;
**api_strategy&lt;br /&gt;
&lt;br /&gt;
**taskmanager_strategy&lt;br /&gt;
&lt;br /&gt;
**guestagent_strategy&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== CLI interface====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== ReST Part ====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
==== RPC API description====&lt;br /&gt;
&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
=== Guest Agent ===&lt;br /&gt;
&lt;br /&gt;
According to base guestagent strategy we need to add next calls:&lt;br /&gt;
* Name:&lt;br /&gt;
** add_members&lt;br /&gt;
* Type:&lt;br /&gt;
**  call&lt;br /&gt;
* Payload:&lt;br /&gt;
** members&lt;br /&gt;
*** a list of instances to join the ring.&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62067</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=62067"/>
				<updated>2014-09-04T15:31:11Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Sep 8 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sep 1 Meeting Canceled==&lt;br /&gt;
* Labor Day, so most folks are out&lt;br /&gt;
&lt;br /&gt;
== Sep 8 Meeting ==&lt;br /&gt;
* [iartarisi] - SUSE support&lt;br /&gt;
** I created a blueprint to track the SUSE support in trove. We could discuss this and see what else is needed and how to proceed. https://blueprints.launchpad.net/trove/+spec/suse-support (also see the full specification link)&lt;br /&gt;
* [kevinconway] - SSL support&lt;br /&gt;
** https://wiki.openstack.org/wiki/Trove/TroveSSL&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove&amp;diff=62066</id>
		<title>Trove</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove&amp;diff=62066"/>
				<updated>2014-09-04T15:22:21Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Mission Statement =&lt;br /&gt;
The OpenStack Open Source Database as a Service Mission: To provide scalable and reliable Cloud Database as a Service provisioning functionality for both relational and non-relational database engines, and to continue to improve its fully-featured and extensible open source framework.&lt;br /&gt;
&lt;br /&gt;
= Description =&lt;br /&gt;
Trove is Database as a Service for OpenStack.  It's designed to run entirely on [[OpenStack]], with the goal of allowing users to quickly and easily utilize the features of a relational database without the burden of handling complex administrative tasks.  Cloud users and database administrators can provision and manage multiple database instances as needed. Initially, the service will focus on providing resource isolation at high performance while automating complex administrative tasks including deployment, configuration, patching, backups, restores, and monitoring.&lt;br /&gt;
&lt;br /&gt;
= Design =&lt;br /&gt;
Trove is designed to support a single-tenant database within a Nova instance.  There will be no restrictions on how Nova is configured, since Trove interacts with other [[OpenStack]] components purely through the API. More detailed Architecture info can be found [https://wiki.openstack.org/wiki/TroveArchitecture here]&lt;br /&gt;
&lt;br /&gt;
== trove-api ==&lt;br /&gt;
The '''trove-api''' service provides a RESTful API that supports JSON and XML to provision and manage Trove instances. &lt;br /&gt;
* A REST-ful component&lt;br /&gt;
* Entry point - Trove/bin/trove-api&lt;br /&gt;
* Uses a WSGI launcher configured by Trove/etc/trove/api-paste.ini&lt;br /&gt;
** Defines the pipeline of filters; tokenauth, ratelimit, etc.&lt;br /&gt;
** Defines the app_factory for the troveapp as trove.common.api:app_factory&lt;br /&gt;
* The API class (a wsgi Router) wires the REST paths to the appropriate Controllers&lt;br /&gt;
** Implementation of the Controllers are under the relevant module (versions/instance/flavor/limits), in the service.py module&lt;br /&gt;
* Controllers usually redirect implementation to a class in the models.py module&lt;br /&gt;
* At this point, an api module of another component (TaskManager, GuestAgent, etc.) is used to send the request onwards through RabbitMQ&lt;br /&gt;
&lt;br /&gt;
== trove-taskmanager ==&lt;br /&gt;
The '''trove-taskmanager''' service does the heavy lifting as far as provisioning instances, managing the lifecycle of instances, and performing operations on the Database instance.&lt;br /&gt;
* A service that listens on a RabbitMQ topic&lt;br /&gt;
* Entry point - Trove/bin/trove-taskmanager&lt;br /&gt;
* Runs as a RpcService configured by Trove/etc/trove/trove-taskmanager.conf.sample which defines trove.taskmanager.manager.Manager as the manager - basically this is the entry point for requests arriving through the queue&lt;br /&gt;
* As described above, requests for this component are pushed to MQ from another component using the TaskManager's api module using _cast() or _call() (sync/a-sync) and putting the method's name as a parameter&lt;br /&gt;
* Trove/openstack/common/rpc/dispatcher.py- RpcDispatcher.dispatch() invokes the proper method in the Manager by some equivalent to reflection&lt;br /&gt;
* The Manager then redirect the handling to an object from the models.py module. It loads an object from the relevant class with the context  and instance_id&lt;br /&gt;
* Actual handling is usually done in the models.py module&lt;br /&gt;
&lt;br /&gt;
== trove-guestagent ==&lt;br /&gt;
The '''guestagent''' is a service that runs within the guest instance, responsible for managing and performing operations on the Database itself.  The Guest Agent listens for RPC messages through the message bus and performs the requested operation.&lt;br /&gt;
* Similar to TaskManager in the sense of running as a service that listens on a RabbitMQ topic&lt;br /&gt;
* GuestAgent runs on every DB instance, and a dedicated MQ topic is used (identified as the instance's id)&lt;br /&gt;
* Entry point - Trove/bin/trove-guestagent&lt;br /&gt;
* Runs as a RpcService configured by Trove/etc/trove/trove-guestagent.conf.sample which defines trove.guestagent.manager.Manager as the manager - basically this is the entry point for requests arriving through the queue&lt;br /&gt;
* As described above, requests for this component are pushed to MQ from another component using the GuestAgent's api module using _cast() or _call() (sync/a-sync) and putting the method's name as a parameter&lt;br /&gt;
* Trove/openstack/common/rpc/dispatcher.py- RpcDispatcher.dispatch() invokes the proper method in the Manager by some equivalent to reflection&lt;br /&gt;
* The Manager then redirect the handling to an object (usually) from the dbaas.py module.&lt;br /&gt;
* Actual handling is usually done in the dbaas.py module&lt;br /&gt;
&lt;br /&gt;
== Source Code Repositories ==&lt;br /&gt;
* Trove Server (https://github.com/openstack/trove)&lt;br /&gt;
* Trove Integration (https://github.com/openstack/trove-integration)&lt;br /&gt;
* Trove Client (https://github.com/openstack/python-troveclient)&lt;br /&gt;
&lt;br /&gt;
= Installation and Deployment =&lt;br /&gt;
* How to install trove as part of devstack: [[trove/installation]]&lt;br /&gt;
* How to set up a testing environment and run redstack tests after installation: [[trove/integration-testing]]&lt;br /&gt;
* How to set up your Mac dev environment to debug: [[trove/dev-env]]&lt;br /&gt;
* Releasing python-troveclient [[trove/release-python-troveclient]]&lt;br /&gt;
&lt;br /&gt;
= Development =&lt;br /&gt;
* Quota Management is currently in development: [[trove/trove-quotas]]&lt;br /&gt;
* Security Groups is currently in design/development: [[trove/trove-security-groups]]&lt;br /&gt;
* Snapshot Design: [[trove/snapshot-design]]&lt;br /&gt;
* Versions and Types Design: [[trove/trove-versions-types]]&lt;br /&gt;
* Configuration Edits: [[Trove/Configurations]]&lt;br /&gt;
* Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
* Diagrams: [[trove/trove-diagrams]]&lt;br /&gt;
* Capabilities: [[trove/trove-capabilities]]&lt;br /&gt;
* Data Volume Snapshoting: [[trove/volume-data-snapshot-design]]&lt;br /&gt;
* MySQL Replication (v1) [[trove/Blueprints/Trove-v1-MySQL-Replication]]&lt;br /&gt;
* A proposal for Guest Agent controlling the data store [[trove/Blueprints/guest-agent-datastore-control-abstraction]]&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62065</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62065"/>
				<updated>2014-09-04T15:20:36Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: cluster notifications are emmited by taskmanager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62064</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62064"/>
				<updated>2014-09-04T15:13:08Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
Note: cluster notifications are emmited by taskmanager.&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62063</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62063"/>
				<updated>2014-09-04T15:12:12Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62062</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62062"/>
				<updated>2014-09-04T15:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Ceilometer integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
&lt;br /&gt;
      {&lt;br /&gt;
               &amp;quot;id&amp;quot;: cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: cluster.datastore_version.name,&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;cluster_size&amp;quot;: 3,&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
                              {&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'name': 'MyDB,&lt;br /&gt;
                                    'created_at': UTCDATE,&lt;br /&gt;
                                    'launched_at': UTCDATE,&lt;br /&gt;
                                    'instance_id': &amp;lt;UUID&amp;gt;,&lt;br /&gt;
                                    'volume_size': 1,&lt;br /&gt;
                                    'volume_id': &amp;lt;UUID&amp;gt;&lt;br /&gt;
                              },&lt;br /&gt;
                              ...&lt;br /&gt;
               ]&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62061</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62061"/>
				<updated>2014-09-04T15:07:47Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Notifications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
Note: clusters notification payload looks like:&lt;br /&gt;
 cluster_dict = {&lt;br /&gt;
               &amp;quot;id&amp;quot;: self.cluster.id,&lt;br /&gt;
               &amp;quot;name&amp;quot;: self.cluster.name,&lt;br /&gt;
               &amp;quot;task&amp;quot;: {&lt;br /&gt;
                              &amp;quot;id&amp;quot;: self.cluster.task_id,&lt;br /&gt;
                              &amp;quot;name&amp;quot;: self.cluster.task_name,&lt;br /&gt;
                              &amp;quot;description&amp;quot;: self.cluster.task_description&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;created&amp;quot;: self.cluster.created,&lt;br /&gt;
               &amp;quot;updated&amp;quot;: self.cluster.updated,&lt;br /&gt;
               &amp;quot;datastore&amp;quot;: {&lt;br /&gt;
                              &amp;quot;type&amp;quot;: self.cluster.datastore.name,&lt;br /&gt;
                              &amp;quot;version&amp;quot;: self.cluster.datastore_version.name&lt;br /&gt;
               },&lt;br /&gt;
               &amp;quot;instances&amp;quot;: [&lt;br /&gt;
&lt;br /&gt;
               ]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62059</id>
		<title>Trove/ceilometer integration</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Trove/ceilometer_integration&amp;diff=62059"/>
				<updated>2014-09-04T14:56:53Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Ceilometer integration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Ceilometer integration =&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
==== Use cases ====&lt;br /&gt;
&lt;br /&gt;
Use cases:&lt;br /&gt;
* get stats about instances/backups usage&lt;br /&gt;
* get notifications about instance status changes (eg. crash, resize, etc.)&lt;br /&gt;
* get notifications about backups status changes&lt;br /&gt;
&lt;br /&gt;
==== Notifications ====&lt;br /&gt;
Trove should emit notifications in for different events, such as:&lt;br /&gt;
&lt;br /&gt;
*Instance events:&lt;br /&gt;
** instance.create.start|end|error&lt;br /&gt;
** instance.delete.start|end|error&lt;br /&gt;
** instance.resize.start|end|error&lt;br /&gt;
** instance.migrate.start|end|error&lt;br /&gt;
** instance.reboot(restart?).start|end|error&lt;br /&gt;
&lt;br /&gt;
*Cluster events:&lt;br /&gt;
** cluster.create.start|end|error&lt;br /&gt;
** cluster.delete.start|end|error&lt;br /&gt;
** cluster.resize.start|end|error&lt;br /&gt;
&lt;br /&gt;
Noteː instance notification payload isn't changed.&lt;br /&gt;
&lt;br /&gt;
*Backup events:&lt;br /&gt;
** backup.create.start|end|error&lt;br /&gt;
** backup.delete.start|end|error&lt;br /&gt;
&lt;br /&gt;
Backup notifications are emitted by the next services:&lt;br /&gt;
* backup.create:&lt;br /&gt;
** trove-taskmanger emmits start|error&lt;br /&gt;
** trove-conductor emmits end|error&lt;br /&gt;
* backup-delete:&lt;br /&gt;
** trove-taskmanger emmits start|end|error&lt;br /&gt;
&lt;br /&gt;
Payload for backup eventsː&lt;br /&gt;
  {&lt;br /&gt;
        &amp;quot;created&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;,&lt;br /&gt;
        &amp;quot;description&amp;quot;: &amp;quot;My Backup&amp;quot;,&lt;br /&gt;
        &amp;quot;id&amp;quot;: &amp;quot;61f12fef-edb1-4561-8122-e7c00ef26a82&amp;quot;,&lt;br /&gt;
        &amp;quot;instance_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205576f&amp;quot;,&lt;br /&gt;
        &amp;quot;locationRef&amp;quot;: null,&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;snapshot&amp;quot;,&lt;br /&gt;
        &amp;quot;parent_id&amp;quot;: null,&lt;br /&gt;
        &amp;quot;size&amp;quot;: null,&lt;br /&gt;
        &amp;quot;status&amp;quot;: &amp;quot;NEW&amp;quot;,&lt;br /&gt;
        &amp;quot;updated&amp;quot;: &amp;quot;2014-02-13T21:47:16&amp;quot;&lt;br /&gt;
        &amp;quot;tenant_id&amp;quot;: &amp;quot;d4603f69-ec7e-4e9b-803f-600b9205276a&amp;quot;,&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Additional attribute of the payload is &amp;quot;exception&amp;quot; - string representation of raised exception. &amp;quot;exception&amp;quot; attribute appears only when error occures.&lt;br /&gt;
&lt;br /&gt;
Noteː size, status, locationRef, parent_id values may vairy (depends on notification type).&lt;br /&gt;
&lt;br /&gt;
=== Justification/Benefits ===&lt;br /&gt;
&lt;br /&gt;
==== Justification ====&lt;br /&gt;
Trove should emit events for resources as they are manipulated.  These events can be used to meter the service and possibly used to calculate bills. Notification Events: [[trove/trove-notifications]]&lt;br /&gt;
&lt;br /&gt;
==== Benefits ====&lt;br /&gt;
* Ability to integrate with Ceilometer&lt;br /&gt;
* Ability to integrate with billing systems in terms of Public cloud deployments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Impacts ===&lt;br /&gt;
&lt;br /&gt;
Existing notifications events are going to be changed:&lt;br /&gt;
* create -&amp;gt; instance.create.start|end|error&lt;br /&gt;
* delete -&amp;gt; instance.delete.start|end|error&lt;br /&gt;
* modify_flavor -&amp;gt; resize.flavor.start|end|error&lt;br /&gt;
* modify_volume -&amp;gt; resize.volume.start|end|error&lt;br /&gt;
&lt;br /&gt;
New notifications are going to be added:&lt;br /&gt;
* backup.create.start|end|error&lt;br /&gt;
** start and/or error notifications are going to be sent by taskmanager&lt;br /&gt;
** end and/or error notifications are going to be sent by conductor (because conductor is the only one place to verify that backup was created properly)&lt;br /&gt;
* backup.delete.start|end|error (all notifications are emited by taskmanager)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Public API ===&lt;br /&gt;
&lt;br /&gt;
==== New routes ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
==== Modifications to existing ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
=== Internal API ===&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-api to trove-taskamanger ====&lt;br /&gt;
&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
==== From trove-taskamanger to trove-guestagent ====&lt;br /&gt;
No changes&lt;br /&gt;
&lt;br /&gt;
= Ceilometer plugin =&lt;br /&gt;
&lt;br /&gt;
Ceilometer plugin should be implemented right after all notification modifications are merged into Trove codebase&lt;br /&gt;
Ceilometer blueprint https://blueprints.launchpad.net/ceilometer/+spec/trove-plugin&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=61195</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=61195"/>
				<updated>2014-08-25T16:27:07Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Aug 25 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aug 18 Meeting CANCELED ==&lt;br /&gt;
* Most trove folks traveling for Trove Day + Midcycle event in Cambridge, MA&lt;br /&gt;
&lt;br /&gt;
== Aug 25 Meeting ==&lt;br /&gt;
* [amrith]&lt;br /&gt;
** What do we do about SuSE? There are bugs coming in at a steady clip fixing little things that don't work in SuSE but in some cases, no test cases are being proposed nor is there a clear plan to get SuSE on the supported platform list. How do we want to proceed? I raise this question because I don't want to use the review process as the place to discuss on a patch-by-patch basis whether a certain code change should be considered or not; rather raise it and address it as a larger issue of how we get to a supported SuSE platform including testing on an ongoing basis, etc.,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=60882</id>
		<title>Meetings/TroveBPMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/TroveBPMeeting&amp;diff=60882"/>
				<updated>2014-08-19T14:39:23Z</updated>
		
		<summary type="html">&lt;p&gt;Denis M.: /* Aug 25 Meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Weekly Trove Blueprint Meeting =&lt;br /&gt;
For those interested, we have blueprint meetings in #openstack-trove weekly, Mondays at 18:00 UTC. &amp;lt;br /&amp;gt;&lt;br /&gt;
Feel free to add items in the agenda below if you want to bring a blueprint up for approval. &amp;lt;br /&amp;gt;&lt;br /&gt;
Please follow the BP template at https://wiki.openstack.org/wiki/TroveBlueprint &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Aug 18 Meeting CANCELED ==&lt;br /&gt;
* Most trove folks traveling for Trove Day + Midcycle event in Cambridge, MA&lt;br /&gt;
&lt;br /&gt;
== Aug 25 Meeting ==&lt;br /&gt;
* [denis_makogon]&lt;br /&gt;
** Ceilometer integration&lt;br /&gt;
*** https://blueprints.launchpad.net/trove/+spec/ceilometer-integration&lt;br /&gt;
&lt;br /&gt;
Meeting Agenda History: https://wiki.openstack.org/wiki/Trove/MeetingAgendaHistory#Trove_Blueprint_Meeting_Agenda_History&amp;lt;br/&amp;gt;&lt;br /&gt;
Meeting Chat Logs: http://eavesdrop.openstack.org/meetings/trove_bp_review/2014/&lt;/div&gt;</summary>
		<author><name>Denis M.</name></author>	</entry>

	</feed>