Jump to: navigation, search

Difference between revisions of "User:Denis M."

(Trove Database Instance Log Operations)
 
(Request Parameters:)
Line 42: Line 42:
 
::    Required: No
 
::    Required: No
 
:
 
:
 +
 
=== Response Elements ===
 
=== Response Elements ===
 
:
 
:

Revision as of 13:49, 17 December 2013

Mission

Provide specific API interface to end-user which would allow to manipulate with database log files.

Design

Log manipulations are designed to let user perform log investigations. Since Trove is PaaS - level project, it's user cannot interact with compute instance directly, only with database through given API (database operations). That is we

API Schema

DownloadDBLogFile request parameters and DBLog Model

Description
Downloads current database log file.

Request Parameters:

  • Instance ID or Name
The customer-assigned name of the DB instance that contains the log files you want to list.
Constraints:
Must contain from 1 to 63 alphanumeric characters or hyphens or UUID
Type: String
Required: Yes
  • LogFileName
The name of the log file to be downloaded.
Type: String
Required: Yes
  • Marker
The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords (defined via Trove conf).
Type: String
Required: No
  • NumberOfLines
The number of lines remaining to be downloaded.
Type: Integer
Required: No

Response Elements

The following elements are returned in a structure named DBLog.
LogFileData
Log file entry.
Type: String
Errors
DBInstanceNotFound
DBInstanceIdentifier does not refer to an existing DB instance.
HTTP Status Code: 404

DBLog Database Model

  • ID
UUID
Type: String
  • DBInstanceID
UUID of DBInstance.
Type: String
  • Location
URL. Storage location
Type: String
  • CreateAt
A POSIX timestamp when the last log entry was created.
Type: String
  • LogFileName
The name of the log file for the specified DB instance.
Type: String
  • Size
The size, in bytes, of the log file for the specified DB instance.
Type: Long
  • DeletedAt:
A POSIX timestamp when the log entry was deleted.
Type: String
  • Deleted:
If record deleted then True
Type: Boolean


Server-side configuration

Trove taskmanager and api services would require next conf values:
  1. log_file_storage_dir per datastore (could be retrieved from database configuration at guest side).
  2. pagination limit.

Guest-side configuration

Same as server side, guest side requires several configuration values:
  1. naming convention: uuid+daytime.log
  2. manifest convention: *.log or *tar.bz2 or *tar.gz
  3. Storage Strategy: Swift
  4. Container: logs_files