Jump to: navigation, search

Difference between revisions of "Trove/guest agent communication"

(Created page with "== Guest agent communication == There are the following issues with the guest agents communication method. # Heatbeats are directly written to the infrastructure database # M...")
 
Line 4: Line 4:
 
# Heatbeats are directly written to the infrastructure database
 
# Heatbeats are directly written to the infrastructure database
 
# Mutiple heatbeats used when one will do.  There is no need to send a heartbeat saying the agent is up and one for the database state.  We know the agent is up if it is reporting the database status.  
 
# Mutiple heatbeats used when one will do.  There is no need to send a heartbeat saying the agent is up and one for the database state.  We know the agent is up if it is reporting the database status.  
# Uses the same transport as  
+
# Uses the same transport as the rest of the infrstrucuture
  
  
Line 10: Line 10:
 
==== Remove guest agent from writing heartbeats directly to infra database ====
 
==== Remove guest agent from writing heartbeats directly to infra database ====
  
Remove heartbeats being written to the database directly via guest agent.
+
Remove heartbeats being written to the database directly via guest agent.  This would solve a huge security issue along with cutting down on connection load to the infra db.
  
 
Kenneth Wilke proposed this blueprint https://blueprints.launchpad.net/trove/+spec/taskmanager-statusupdate
 
Kenneth Wilke proposed this blueprint https://blueprints.launchpad.net/trove/+spec/taskmanager-statusupdate
  
 
It was decided in the weekly meeting to not extend taskmanager to handle this but write another manager called trove-conductor that would handle heartbeat updates to the infra database.
 
It was decided in the weekly meeting to not extend taskmanager to handle this but write another manager called trove-conductor that would handle heartbeat updates to the infra database.
 +
http://eavesdrop.openstack.org/meetings/trove/2013/trove.2013-08-07-20.00.html
 +
 +
http://eavesdrop.openstack.org/meetings/trove/2013/trove.2013-08-07-20.00.log.html
 +
 +
Regardless of transport used the message should always be in json
 +
 +
    {
 +
        "heartbeat": [
 +
            { "agentstatus":"online" , "mysqlstatus":"running" }
 +
        ]
 +
    }

Revision as of 17:41, 8 August 2013

Guest agent communication

There are the following issues with the guest agents communication method.

  1. Heatbeats are directly written to the infrastructure database
  2. Mutiple heatbeats used when one will do. There is no need to send a heartbeat saying the agent is up and one for the database state. We know the agent is up if it is reporting the database status.
  3. Uses the same transport as the rest of the infrstrucuture


Phase 1

Remove guest agent from writing heartbeats directly to infra database

Remove heartbeats being written to the database directly via guest agent. This would solve a huge security issue along with cutting down on connection load to the infra db.

Kenneth Wilke proposed this blueprint https://blueprints.launchpad.net/trove/+spec/taskmanager-statusupdate

It was decided in the weekly meeting to not extend taskmanager to handle this but write another manager called trove-conductor that would handle heartbeat updates to the infra database. http://eavesdrop.openstack.org/meetings/trove/2013/trove.2013-08-07-20.00.html

http://eavesdrop.openstack.org/meetings/trove/2013/trove.2013-08-07-20.00.log.html

Regardless of transport used the message should always be in json

   {
       "heartbeat": [
           { "agentstatus":"online" , "mysqlstatus":"running" }
       ]
   }