rubick/doc/source/openstack_architecture_model.rst
Oleg Gelbukh 3f07db5be4 YAML formatted model description in docs
Add YAML formatted description of current model structure to
documentation

Change-Id: I82d543974169231fb0b7f34993eb97954996789b
2014-05-26 14:20:35 +00:00

2.6 KiB

Architecture Data Model

Overview

We want to introduce unified data structure which contains all information necessary to inspect, analyze, describe and visualize OpenStack architecture.

Architecture data model serves multiple actual and potential use cases.

Diagnostics

Architecture data model provides necessary data for the configuration analysis and diagnostics tool (Rubick).

Deployment

Arhictecture data model must include all information necessary to deployment systems (e.g. Fuel or TripleO). We will implement simple conversion tools which will allow to configure these deployment systems and effectively support 'portable' clouds.

Benchmarking

This model could be reused by Rally project to compare benchmarking results for different architectures. Definitions of architectures must be comparable and portable, which is exactly what architecture model aimed to solve.

Upgrade

Upgrade system could potentially utilize the model just in the way the Deployment systems do. In addition, existing clouds could be inspected and described for subsequent upgrade using this model.

Tech Support

The model suits as base for questionaire to assess existing installations for support contract pricing purposes.

Hardening

The model could be used to perform automated/guided hardening of OpenStack architecture and configuration. This is achieved through use of 'best practice' rulesets for the inspection of cloud.

Expert system

The model could be used as a part of production/reactive rules system capable of automated reporting and handling of operational errors, based on combination of base status of the cloud, logging messages and notifications.

Data Format

This section proposes data model format which allows to describe an OpenStack installation. The model includes data regarding physical infrastructure, logical topology of services and mapping between the two.

Current model of OpenStack architecture used in Rubick is defined in module rubick/model.py. This module contains following classes in hierarchy below:

OpenStack:
hosts:
  • Host: hostname1 components: - Service: NovaApiComponent config: - key: value - ... - Service: KeystoneComponent config: - key: value - ... - ... filesystem: - resource1: FileResource - resource2: DirectoryResource - ...
  • Host: hostname2 components: - ... filesystem: - ...
  • ...