Yocto Web Hob Design 0.0 — Archived: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
=== User Stories / Requirements ===
=== User Stories / Requirements ===
==== Image Builder ====


As an experienced image builder<br/>
As an experienced image builder<br/>
I want to add my own layers<br/>
I want to add my own layers<br/>
so that I can create heavily customised images to suit my project.<br/>
so that I can create heavily customised images to suit my project.<br/>


As an image builder<br/>
As an image builder<br/>
Line 10: Line 12:
so that I don't need to worry about customisation.<br/>
so that I don't need to worry about customisation.<br/>


(Projects)<br/>
''(Projects)''<br/>
As an image builder<br/>
As an image builder<br/>
I want to save my image configurations<br/>
I want to save my image configurations<br/>
Line 38: Line 40:
I want to download my img files<br/>
I want to download my img files<br/>
so that I can deploy them and/or store them locally.<br/>
so that I can deploy them and/or store them locally.<br/>
(Projects)<br/>
As a team member<br/>
I want to share my images and configurations with other team members<br/>
so that we can better collaborate.<br/>
As a team member<br/>
I want to be able to share packages with other team members<br/>
so they don't need to build them again.<br/>
As an engineer<br/>
I want to be able to create package groups by selecting packages individually<br/>
so other team members don't have to.<br/>


As an image builder<br/>
As an image builder<br/>
Line 76: Line 65:
so that I don't have to run them immediately.<br/>
so that I don't have to run them immediately.<br/>


(Running Parallel Builds)<br/>
''(Running Parallel Builds)''<br/>
As an image builder<br/>
As an image builder<br/>
I want to be able to run or schedule more than one build to run in parallel<br/>
I want to be able to run or schedule more than one build to run in parallel<br/>
Line 89: Line 78:
so that I don't need to be a Linux wizard to customise my image.<br/>
so that I don't need to be a Linux wizard to customise my image.<br/>


(2 modes (stop at 1st error)<br/>
''(2 modes (stop at 1st error)''<br/>
As an image builder<br/>
As an image builder<br/>
I want to be able to choose whether or not to continue when an error occurs<br/>
I want to be able to choose whether or not to continue when an error occurs<br/>
so I can get as much of the build done as possible ( - k )<br/>
so I can get as much of the build done as possible ( - k )<br/>
As a project manager<br/>
I want to archive a finished projects<br/>
so that work can be preserved and recovered with minimum storage needs.<br/>


As an image builder<br/>
As an image builder<br/>
Line 105: Line 90:
I want to see the history of my builds<br/>
I want to see the history of my builds<br/>
so that I have access to any output I've created in the past - history is classified per project.<br/>
so that I have access to any output I've created in the past - history is classified per project.<br/>
As an image builder<br/>
I want to name my images for the same configuration<br/>
so that I can easily identify them (do not use naming for config changes).<br/>
As an image builder<br/>
I want to have multiple configurations within each project<br/>
so I can have similar settings for different target machines for the same project.<br/>
==== Team Member ====
''(Projects)''<br/>
As a team member<br/>
I want to share my images and configurations with other team members<br/>
so that we can better collaborate.<br/>
As a team member<br/>
I want to be able to share packages with other team members<br/>
so they don't need to build them again.<br/>
==== Engineer ====
As an engineer<br/>
I want to be able to create package groups by selecting packages individually<br/>
so other team members don't have to.<br/>
==== Project Manager ====
As a project manager<br/>
I want to archive a finished projects<br/>
so that work can be preserved and recovered with minimum storage needs.<br/>
==== Sysadmin ====


As a sysadmin<br/>
As a sysadmin<br/>
I want to be able to control how much of the available server resources each user can use<br/>
I want to be able to control how much of the available server resources each user can use<br/>
so that there is fair sharing.<br/>
so that there is fair sharing.<br/>
==== Architect ====


As an architect<br/>
As an architect<br/>
Line 117: Line 138:
I want to create Webhob users and give them access to projects<br/>
I want to create Webhob users and give them access to projects<br/>
so that I can manage my resources.<br/>
so that I can manage my resources.<br/>
As an image builder<br/>
I want to name my images for the same configuration<br/>
so that I can easily identify them (do not use naming for config changes).<br/>
As an image builder<br/>
I want to have multiple configurations within each project<br/>
so I can have similar settings for different target machines for the same project.<br/>

Revision as of 12:24, 27 April 2012

User Stories / Requirements

Image Builder

As an experienced image builder
I want to add my own layers
so that I can create heavily customised images to suit my project.

As an image builder
I want to quickly create an image from default options
so that I don't need to worry about customisation.

(Projects)
As an image builder
I want to save my image configurations
so that I can reuse them at a later stage.

As an image builder
I want to be able to run a qemu* image after the build
so that I can tell that it works.

As an image builder
I want to be able to write images to removable media easily
so that I can test the image on the real hardware (this can be hard to do manually).

As an image builder
I want to be able to add things (functionality)
so that I can customise my image to my needs.

As an image builder
I want to see the relationships between the recipes/packages
so that I can better refine the contents of my image.

As an image builder
I want to be able to see the status of the build in real time
so that I know what the progress is at any time.

As an image builder
I want to download my img files
so that I can deploy them and/or store them locally.

As an image builder
I want to be able to view the result of a build that has completed
in case it ran overnight (log).

As an image builder
if a build fails I want to see the build log with the error clearly highlighted and any relevant info
so I can figure out what went wrong.

As an image builder
I want to be bale to send failure output (logs, other relevant info) to a 3rd party
in case I can not fix the problem myself.

As an image builder
I want to be able to go back after a build completes and edit selections / config
in case I forgot something.

As an image builder
I want to be able to get notifications (email?) when a build completes
so I know when that happens what the result was briefly.

As an image builder
I want to be able to schedule builds
so that I don't have to run them immediately.

(Running Parallel Builds)
As an image builder
I want to be able to run or schedule more than one build to run in parallel
in order to save time and make maximum use of resources.

As an image builder
I want to see understandable explanations of machines
so that I can make the right decisions.

As an image builder
I want to see recipe and package descriptions in terms of functionality
so that I don't need to be a Linux wizard to customise my image.

(2 modes (stop at 1st error)
As an image builder
I want to be able to choose whether or not to continue when an error occurs
so I can get as much of the build done as possible ( - k )

As an image builder
I want to select existing config options (except server side ones)
so that I have control over the output of the building process.

As an image builder
I want to see the history of my builds
so that I have access to any output I've created in the past - history is classified per project.

As an image builder
I want to name my images for the same configuration
so that I can easily identify them (do not use naming for config changes).

As an image builder
I want to have multiple configurations within each project
so I can have similar settings for different target machines for the same project.

Team Member

(Projects)
As a team member
I want to share my images and configurations with other team members
so that we can better collaborate.

As a team member
I want to be able to share packages with other team members
so they don't need to build them again.

Engineer

As an engineer
I want to be able to create package groups by selecting packages individually
so other team members don't have to.


Project Manager

As a project manager
I want to archive a finished projects
so that work can be preserved and recovered with minimum storage needs.

Sysadmin

As a sysadmin
I want to be able to control how much of the available server resources each user can use
so that there is fair sharing.

Architect

As an architect
I want to be able to control the level of customisation available to team members
so that I have control over the project.

As an architect
I want to create Webhob users and give them access to projects
so that I can manage my resources.