Skip to content

Conductor_Deployable_Template_Stories

movitto edited this page Jan 15, 2013 · 3 revisions

Conductor Deployable And Template Stories

User stories around template upload, image build/push from template, deployable creation, etc.

Upload a template

  • As a pool owner, given I have an Image Factory image template, I want to upload my template into Conductor so that I can build it and launch it. Steps:
    • From a Conductor UI screen, I can upload an image template.
    • When I upload the image template, Conductor creates an Image object for the template using the Image Factory, after which I can see a reference to the Image in a list. I can also see references to any other Images in the system.
    • ... after which I can see a reference to the Image in a list. I can also see references to any other Images in the system that I have permission to see.
    • If I run “aeolus-image list,” I should see the Image I have uploaded, plus any other images in the system.
    • ... plus any other images I have uploaded in the past or any others I have permission to see.

Create a deployable for an image

  • As a catalog owner, given I can see a list of Images in the Conductor UI, I should be able to automatically create a deployable that references one of the images. Steps:
    • Browse to list of images
    • Click button that says “Make Deployable”
    • Name the deployable
    • Specify a catalog from a list of catalogs in which I have permission to add deployables
    • Specify a hardware profile for the deployable
  • I should now see the deployable I made in the catalog I made it for.

Check and build images for a deployable

  • As a user in the Catalog Owner role for the catalog, given I can see a list of deployables in a catalog, I should be able to check each deployable to see if the required images are:
    • In the system at all
    • Built for any of the provider accounts that back the environment containing pool the catalog is attached to
  • If so, I can launch the deployable. Steps:
    • Browse to list of deployables in catalog
    • Click button that says “Check images”
    • View a tree showing the image referenced in the deployable. Flag images that are not in the warehouse at all - they will need to be modified to include valid image UUIDs. For each image that is in the warehouse, show the provider accounts that back the pool. For each account, show whether the required provider image in the deployable is present. If there is no image for a particular provider, show a button to build that image.
    • If I click the build button, the “build” task should go into an async alerts area where I can check the progress of the build independently of other tasks I am doing in the UI.

Check and build images outside a deployable

  • As a user with image management privileges, given I can see a list of images I have uploaded, I should be able to see which provider accounts I have built the image for. But I should only be able to see provider accounts that back a pool that I have permission to see.
  • If I want to build an image for a provider account, I should be able to click a “build” button next to the provider account to build for that account
  • If I click the build button, the “build” task should go into an async alerts area where I can check the progress of the build independently of other tasks I am doing in the UI.

Import images

  • As a user with image management privileges, given that there are images available to the provider accounts that back a pool, I should be able to import those images so that I can reference them in a deployable. Steps:
    • From the image listing described above, select “Import images”
    • See a form that will accept 1-5 Image URIs
    • Paste in 1-5 URIs, click “import.”
    • The images should now appear in the “Images listing”.
    • The new images should be flagged as non-buildable, because we imported them directly from a provider with no build instructions metadata.

Managing deployable permissions

  • As a Catalog owner for a catalog I can manage the list of catalog owners that have permission to add/edit deployables
  • From the Catalog tab on the pool UI, select "Manage Catalog users"
  • See the catalog main page on the Admin tab, showing the first UI tab - the deployables list
  • Click the ‘Users’ tab
  • See the permissions UI which lets the owner add/remove users as is done for pool users.

Misc. implementation notes

  • Target images are hidden in the UI. If a user wants to push to a provider and we haven’t built for that target yet, the controller/model will figure it out and do the right thing.

  • If there are multple builds , we should show only the latest in the summary list of images, but provide a way to expand to show prior builds

  • When when creating a new build we should default the choice to automatically push to the same providers currently pushed to- to avoid suddenly losing support for a provider - but the admin should be able to un-select in case we’re deliberately removing support for a provider in an updated build.

Clone this wiki locally