Jump to: navigation, search

Difference between revisions of "TripleO/TuskarIcehouseRequirements"

(added Tests section)
(Creation)
Line 10: Line 10:
 
== Nodes ==
 
== Nodes ==
 
   
 
   
==== Creation ====
+
==== Registration ====
 
* Manual registration
 
* Manual registration
 
** ''hardware specs from Ironic based on mac address (*)''
 
** ''hardware specs from Ironic based on mac address (*)''
** ''IP auto populated from Neutron (**)''
+
** ''IPMI address auto populated from Neutron (**)''
 
** ''Auto-discovery during undercloud install process (*)''
 
** ''Auto-discovery during undercloud install process (*)''
  

Revision as of 20:22, 9 December 2013

Overview

This document lists known requirements for the Icehouse release, as well as requirements that may not make it into Icehouse, but which will affect our design. The relevant mailing list discussion can be found here.

All requirements here are assumed to be targeted for Icehouse, except where otherwise marked:

  • * Maybe Icehouse, dependency on other features being developed in the Icehouse timeframe
  • ** After Icehouse

Nodes

Registration

  • Manual registration
    • hardware specs from Ironic based on mac address (*)
    • IPMI address auto populated from Neutron (**)
    • Auto-discovery during undercloud install process (*)

Monitoring

  • assignment, availability, status
  • capacity, historical statistics (*)

Management node

  • where undercloud is installed
  • created as part of undercloud install process
    • allow creation of additional management nodes through UI (**)

Resource nodes

  • can be allocated by nova-scheduler as one (and only one) of four node types
    • compute
    • controller
      • each controller node will run all openstack services
        • allow each node to run a specified service (**)
        • breakdown by workload (percentage of cpu used per node) (*)
    • object storage
    • block storage
  • Resource class - allows for further categorization of a node type
    • each node type specifies a single default resource class
      • allow multiple resource classes per node type (*)
    • Node profile for a resource class (*)
      • acts as an optional filter for nodes that can be allocated to that class (*)
  • once allocated, can be unallocated
  • searchable by status, name, cpu, memory, and all attributes from ironic
  • nodes can be viewed by node types
    • additional 'group by' with status, hardware specification

Unallocated nodes

  • list
  • unregister

Archived nodes (**)

  • Will be separate openstack service (**)

Deployments

General

  • only a single deployment allowed
    • allow multiple deployments (**)

Node distribution

  • deployment can specifiy a node distribution across node types
    • node distribution can be updated after creation

Deployment configuration

  • deployment configuration, used for initial creation only
    • defaulted, with no option to change
    • allow modification (**)

Deployment Action

  • Heat template generated on the fly
    • hardcoded images
      • allow image selection (**)
    • pre-created template fragments for each node type
    • node type distribution affects generated template
  • nova scheduler allocates nodes
    • nova scheduler filters based on resource class and node profile information (*)
  • Deployment action can create or update
  • status indicator to determine overall state of deployment
    • status indicator for nodes as well
    • status includes 'time left' (**)

Other

  • review distribution map (**)
  • notification when a deployment is ready to go or whenever something changes

Networks (**)

Images (**)

Logs (**)

Tests

  • comprehensive unit test coverage
  • integration tests (through Tempest)