[doc] Fix proposal document, add service architecture diag
This commit is contained in:
parent
c2ca071eb8
commit
988f580df6
@ -1,50 +0,0 @@
|
|||||||
=======================
|
|
||||||
ARCHITECTURE DATA MODEL
|
|
||||||
=======================
|
|
||||||
|
|
||||||
Overview
|
|
||||||
--------
|
|
||||||
|
|
||||||
We want to introduce unified data structure which contains all information
|
|
||||||
necessary to inspect, analyze, describe and visualize OpenStack architecture.
|
|
||||||
|
|
||||||
This Architecture data model could be consumed and processed by configuration
|
|
||||||
analysis and diagnostics tool (**Dark Knight**) and by architecture visualizer
|
|
||||||
(**Stencil**).
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
This model could be reused by Rally project to compare benchmarking results for
|
|
||||||
different architectures.
|
|
||||||
|
|
||||||
The model can be used to inspect existing clouds for subsequent upgrade.
|
|
||||||
|
|
||||||
The model suits as base for questionaire to assess existing installations for
|
|
||||||
support contract pricing purposes.
|
|
||||||
|
|
||||||
The model could be used to perform automated/guided hardening of OpenStack
|
|
||||||
architecture and configuration.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
Architecture data model could be serialized as JSON or YaML document of the
|
|
||||||
following format::
|
|
||||||
|
|
||||||
openstack
|
|
||||||
nodes
|
|
||||||
node1
|
|
||||||
-param1: value
|
|
||||||
-param2: value
|
|
||||||
services
|
|
||||||
nova
|
|
||||||
configuration
|
|
||||||
-param1: value
|
|
||||||
-param2: value
|
|
@ -5,7 +5,7 @@ Project Name
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
**Official:** OpenStack Diagnostics
|
**Official:** OpenStack Diagnostics
|
||||||
**Codename:** Dark Knight
|
**Codename:** Rubick
|
||||||
|
|
||||||
Overview
|
Overview
|
||||||
--------
|
--------
|
||||||
@ -13,30 +13,36 @@ Overview
|
|||||||
OpenStack cloud operators usually rely on deploymnet tools to configure all the
|
OpenStack cloud operators usually rely on deploymnet tools to configure all the
|
||||||
platform components correctly and efficiently upfront. However, after initial
|
platform components correctly and efficiently upfront. However, after initial
|
||||||
deployment platform configurations and operational conditions start to change.
|
deployment platform configurations and operational conditions start to change.
|
||||||
We propose a project that allows to analyze OpenStack architecture and diagnose
|
These changes could break consistency and integration of cloud platform and its
|
||||||
existing and potential problems using flexible set of rules.
|
components.
|
||||||
|
|
||||||
Mission
|
Mission
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Diagnostics project mission is to **provide OpenStack cloud operators with
|
Diagnostics' mission is to **provide OpenStack cloud operators with tools which
|
||||||
flexible way to inspect, analyze and diagnose architecture of the cloud and
|
minimize time and effort needed to identify and fix errors in operations
|
||||||
configuration of components of the platform**.
|
maintenance phase of cloud life cycle.**
|
||||||
|
|
||||||
User Stories
|
User Stories
|
||||||
------------
|
------------
|
||||||
|
|
||||||
As a **cloud operator**, I want to be able to automatically extract
|
- As a **cloud operator**, I want to make sure that my OpenStack architecture
|
||||||
configuration parameters from all OpenStack components to verify their
|
and configuration is sane and consistent across all platform components and
|
||||||
correctness, consistency and integrity.
|
services.
|
||||||
As a **cloud architect**, I want to make sure that my OpenStack architecture and
|
- As a **cloud architect**, I want to make sure that my OpenStack architecture
|
||||||
configuration are compliant to 'best practices'.
|
and configuration are compliant to best practices.
|
||||||
As a **cloud operator**, I want automatic diagnostics tool which can tell me
|
- As a **cloud architect**, I need a knowledge base of sanity checks and best
|
||||||
what problems does my OpenStack architecture and/or configuration have or might
|
practices for troubleshooting my OpenStack cloud which I can reuse and update
|
||||||
potentially have (e.g. at scale or if some component or node failed).
|
with my own checks and rules.
|
||||||
As a **cloud operator**, I want to be able to define rules used to inspect and
|
- As a **cloud operator**, I want to be able to automatically extract
|
||||||
verify configuration of OpenStack components and store them to use for
|
configuration parameters from all OpenStack components to verify their
|
||||||
verification of future configuration changes.
|
correctness, consistency and integrity.
|
||||||
|
- As a **cloud operator**, I want automatic diagnostics tool which can inspect
|
||||||
|
configuration of my OpenStack cloud and report if it is sane and/or compliant
|
||||||
|
toc community-defined best practices.
|
||||||
|
- As a **cloud operator**, I want to be able to define rules used to inspect
|
||||||
|
and verify configuration of OpenStack components and store them to use for
|
||||||
|
verification of future configuration changes.
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
@ -48,11 +54,11 @@ Scope
|
|||||||
|
|
||||||
As an MVP1, we create a service that includes:
|
As an MVP1, we create a service that includes:
|
||||||
|
|
||||||
1. Rules engine with grammatic analysis capabilities
|
1. Rules engine with grammatic analysis capabilities
|
||||||
1. Extensible implementation of rules
|
1. Extensible implementation of rules
|
||||||
1. REST API for running inspections
|
1. REST API for running inspections
|
||||||
1. Storage back-end implementation for OpenStack platform architecture and
|
1. Storage back-end implementation for OpenStack platform architecture and
|
||||||
configuration data
|
configuration data
|
||||||
|
|
||||||
Assumptions
|
Assumptions
|
||||||
-----------
|
-----------
|
||||||
|
BIN
doc/images/service_architecture.png
Normal file
BIN
doc/images/service_architecture.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
34
doc/images/src/service_architecture.txt
Normal file
34
doc/images/src/service_architecture.txt
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
frame "Rubick" {
|
||||||
|
[Rubick API]
|
||||||
|
[Rule engine]
|
||||||
|
[Config data\nextractor]
|
||||||
|
[Heat metadata\n plugin]
|
||||||
|
[Metadata\nplugin 1]
|
||||||
|
[...]
|
||||||
|
[Metadata\nplugin N]
|
||||||
|
[Config data\nstore]
|
||||||
|
() "env.json"
|
||||||
|
}
|
||||||
|
|
||||||
|
frame "Heat" {
|
||||||
|
[Heat API]
|
||||||
|
[Templated\nconfig data]
|
||||||
|
}
|
||||||
|
|
||||||
|
() HOT
|
||||||
|
|
||||||
|
[Rubick API] -- env.json
|
||||||
|
[Config data\nstore] -- env.json
|
||||||
|
[Heat API] --> HOT
|
||||||
|
HOT --> [Heat metadata\n plugin]
|
||||||
|
[Config data\nextractor] -up- env.json
|
||||||
|
[Rule engine] -- env.json
|
||||||
|
[Templated\nconfig data] --> [Heat API]
|
||||||
|
[Config data\nextractor] -- [Heat metadata\n plugin]
|
||||||
|
[Config data\nextractor] -- [Metadata\nplugin 1]
|
||||||
|
[Config data\nextractor] -- [...]
|
||||||
|
[Config data\nextractor] -- [Metadata\nplugin N]
|
||||||
|
|
||||||
|
@enduml
|
@ -27,16 +27,26 @@ community-driven projects aimed to increase reliablility of cloud and
|
|||||||
resilience which allows to support the SLA at reasonably high level (think your
|
resilience which allows to support the SLA at reasonably high level (think your
|
||||||
favourite number of nines).
|
favourite number of nines).
|
||||||
|
|
||||||
|
Maintenance stages
|
||||||
|
|
||||||
|
Where the product is applicable?
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Proposal Summary
|
Proposal Summary
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
With this proposal we want to introduce a project aimed to enhance and simplify
|
With this proposal we want to introduce a project aimed to enhance and simplify
|
||||||
operatinal maintenance of OpenStack cloud. Project provides service which uses
|
operatinal maintenance of OpenStack cloud. Project provides service which uses
|
||||||
rule-based engine (```lettuce```) to inspect configurations of OpenStack
|
rule-based engine to inspect configurations of OpenStack
|
||||||
platform and find all kinds of architecture- and configuration-level glitches
|
platform and find all kinds of architecture- and configuration-level glitches
|
||||||
and inconsistencies.
|
and inconsistencies.
|
||||||
|
|
||||||
|
*# describe motivation behind rules
|
||||||
|
# describe rules reuse
|
||||||
|
# desribe rule-based inspection
|
||||||
|
# example rule
|
||||||
|
# mandatory rules vs. best-practice rules*
|
||||||
|
|
||||||
This engine will provide hints and best practices to increase reliability and
|
This engine will provide hints and best practices to increase reliability and
|
||||||
operational resilience of the cloud.
|
operational resilience of the cloud.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user