Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

COSMOS Design 275881

Resource Handler to check for the relational database Postgres

This is the design document for bugzilla 275881.

Change History

Name: Date: Revised Sections:
Josh Hester May 18, 2009
  • Initial version

Workload Estimation

Rough workload estimate in person weeks
Process Sizing Names of people doing the work
Design 1 Josh Hester
Code 1 Josh Hester
Test 1 Josh Hester
Documentation 0
Build and infrastructure 0
Code review, etc.* 1
TOTAL 4

'* - includes other committer work (e.g. check-in, contribution tracking)

Purpose

This resource handler will be used to discover an instance of a postgres server on a machine in order to satisfy its requirement in an SDD.

Requirements

  • The PostgresHandler must implement the IResourceHandler from the org.eclipse.cosmos.me.sdd.cr bundle.
    • The IResourceHandler class is an interface that the runtime uses to load and run bundles dynamically. The IResourceHandler uses the CIM QName as defined by the component.xml data for the implemented handler as the way the ResourceHandler will discover and run the bundle.
  • This handler will look for postgres on the current machine only
  • This handler will be able to identify postgres and its version on both Windows and Linux
  • Based on the current CIM profile, the PostgresHandler will recognize the following types as defined in the CIM_DatabaseSystem schema:
    • CIM_DatabaseSystem.Name
    • CIM_DatabaseSystem.Status
    • Version
    • Port

Design details

  • This handler will attempt to determine the OS it is running on. If it is on windows, it will check the windows registry for the key that Postgres uses to identify itself, if it's not found it will look to the default directory it is installed under. If it is linux, it will look for postgres in the /opt and /usr/local directories, following the same pattern as the installed products handler, COSMOS_Design_275731

Impacts of this enhancement

  • The SDD runtime will be able to resolve a deployment descriptor that defines a relational database of postgres.

Open Issues/Questions

Back to the top