From 988f580df67bf74d3832e884d2ddb5263905e874 Mon Sep 17 00:00:00 2001 From: Oleg Gelbukh Date: Wed, 16 Oct 2013 11:59:40 +0000 Subject: [PATCH] [doc] Fix proposal document, add service architecture diag --- doc/architecture_model.rst | 50 ------------------------ doc/configuration_validator.rst | 50 +++++++++++++----------- doc/images/service_architecture.png | Bin 0 -> 22046 bytes doc/images/src/service_architecture.txt | 34 ++++++++++++++++ doc/openstack_integration.rst | 12 +++++- 5 files changed, 73 insertions(+), 73 deletions(-) delete mode 100644 doc/architecture_model.rst create mode 100644 doc/images/service_architecture.png create mode 100644 doc/images/src/service_architecture.txt diff --git a/doc/architecture_model.rst b/doc/architecture_model.rst deleted file mode 100644 index 079e968..0000000 --- a/doc/architecture_model.rst +++ /dev/null @@ -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 diff --git a/doc/configuration_validator.rst b/doc/configuration_validator.rst index f7a81ed..5608b40 100644 --- a/doc/configuration_validator.rst +++ b/doc/configuration_validator.rst @@ -5,7 +5,7 @@ Project Name ------------ **Official:** OpenStack Diagnostics -**Codename:** Dark Knight +**Codename:** Rubick Overview -------- @@ -13,30 +13,36 @@ Overview OpenStack cloud operators usually rely on deploymnet tools to configure all the platform components correctly and efficiently upfront. However, after initial deployment platform configurations and operational conditions start to change. -We propose a project that allows to analyze OpenStack architecture and diagnose -existing and potential problems using flexible set of rules. +These changes could break consistency and integration of cloud platform and its +components. Mission --------- -Diagnostics project mission is to **provide OpenStack cloud operators with -flexible way to inspect, analyze and diagnose architecture of the cloud and -configuration of components of the platform**. +Diagnostics' mission is to **provide OpenStack cloud operators with tools which +minimize time and effort needed to identify and fix errors in operations +maintenance phase of cloud life cycle.** User Stories ------------ -As a **cloud operator**, I want to be able to automatically extract -configuration parameters from all OpenStack components to verify their -correctness, consistency and integrity. -As a **cloud architect**, I want to make sure that my OpenStack architecture and -configuration are compliant to 'best practices'. -As a **cloud operator**, I want automatic diagnostics tool which can tell me -what problems does my OpenStack architecture and/or configuration have or might -potentially have (e.g. at scale or if some component or node failed). -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. + - As a **cloud operator**, I want to make sure that my OpenStack architecture + and configuration is sane and consistent across all platform components and + services. + - As a **cloud architect**, I want to make sure that my OpenStack architecture + and configuration are compliant to best practices. + - As a **cloud architect**, I need a knowledge base of sanity checks and best + practices for troubleshooting my OpenStack cloud which I can reuse and update + with my own checks and rules. + - As a **cloud operator**, I want to be able to automatically extract + configuration parameters from all OpenStack components to verify their + 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 ------------ @@ -48,11 +54,11 @@ Scope As an MVP1, we create a service that includes: -1. Rules engine with grammatic analysis capabilities -1. Extensible implementation of rules -1. REST API for running inspections -1. Storage back-end implementation for OpenStack platform architecture and - configuration data + 1. Rules engine with grammatic analysis capabilities + 1. Extensible implementation of rules + 1. REST API for running inspections + 1. Storage back-end implementation for OpenStack platform architecture and + configuration data Assumptions ----------- diff --git a/doc/images/service_architecture.png b/doc/images/service_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..db850dd6653371f2901d8d738a53de63a6debc64 GIT binary patch literal 22046 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 Y*VDN?EsjX8Re|5m?M}9gt^3dX0YmWTGXMYp literal 0 HcmV?d00001 diff --git a/doc/images/src/service_architecture.txt b/doc/images/src/service_architecture.txt new file mode 100644 index 0000000..19bbe00 --- /dev/null +++ b/doc/images/src/service_architecture.txt @@ -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 diff --git a/doc/openstack_integration.rst b/doc/openstack_integration.rst index 41c421b..780c9b2 100644 --- a/doc/openstack_integration.rst +++ b/doc/openstack_integration.rst @@ -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 favourite number of nines). +Maintenance stages + +Where the product is applicable? + ---------------- Proposal Summary ---------------- With this proposal we want to introduce a project aimed to enhance and simplify 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 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 operational resilience of the cloud.