Workflow for pre-deployment container prepare

Registered by Steve Baker

Before deploying or updating a containerised overcloud the following workflow tasks are required:
- introspect the registry to discover the versioned tag from the stable tag
- if a local registry (undercloud or other) is serving the images to overcloud nodes, copy the required images to the local registry
- update the plan with image parameters for the required registry and tags
- return the list of images to the caller

This workflow will be invoked by the UI or by a new CLI command which will replace the following CLI commands:
  overcloud container image tag discover
  overcloud container image prepare
  overcloud container image upload

This blueprint will be considered done when the UI and CLI can invoke the workflow to perform any required image preperation.

Blueprint information

Status:
Complete
Approver:
None
Priority:
High
Drafter:
Steve Baker
Direction:
Approved
Assignee:
Steve Baker
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-rc2
Started by
Steve Baker
Completed by
Alex Schultz

Related branches

Sprints

Whiteboard

[2018-07-25] FFE Requested http://lists.openstack.org/pipermail/openstack-dev/2018-July/132500.html
[2017-12-08] Moving out to Rocky. Please request FFE if this is needed for Queens.

Gerrit topic: https://review.openstack.org/#q,topic:bug/1722632,n,z

Addressed by: https://review.openstack.org/514473
    Autodetect insecure registry in container image prepare

Addressed by: https://review.openstack.org/516452
    Autodetect insecure registry in container image prepare

Gerrit topic: https://review.openstack.org/#q,topic:bp/container-prepare-workflow,n,z

Addressed by: https://review.openstack.org/526576
    WIP move more prepare logic into kolla_builder

Addressed by: https://review.openstack.org/526579
    WIP move more prepare logic into kolla_builder

Addressed by: https://review.openstack.org/526580
    WIP prepare action extra arguments

Addressed by: https://review.openstack.org/528616
    Use push_destination as the registry host in env file

Addressed by: https://review.openstack.org/528945
    Use skopeo for tag discover

Addressed by: https://review.openstack.org/529215
    WIP Discover every tag on prepare

Gerrit topic: https://review.openstack.org/#q,topic:bug/1738669,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1738668,n,z

Addressed by: https://review.openstack.org/531274
    Skip unnecessary image uploads

Addressed by: https://review.openstack.org/534980
    WIP Define workflow interface for image prepare/upload

Gerrit topic: https://review.openstack.org/#q,topic:bp/containerized-undercloud,n,z

Addressed by: https://review.openstack.org/545196
    Include a default for tag_from_label

Gerrit topic: https://review.openstack.org/#q,topic:bp/can,n,z

Addressed by: https://review.openstack.org/553104
    WIP document workflow driven container prepare

Addressed by: https://review.openstack.org/554707
    Document functions for container prepare

Addressed by: https://review.openstack.org/554708
    Represent image prepare defaults in new heat param format

Addressed by: https://review.openstack.org/554738
    Move build_service_filter to kolla_builder from tripleoclient

Addressed by: https://review.openstack.org/554739
    WIP Perform multiple container image prepares and merge result

Addressed by: https://review.openstack.org/555051
    Use the build_service_filter from kolla_builder

Addressed by: https://review.openstack.org/557519
    Break out function get_undercloud_registry

Addressed by: https://review.openstack.org/557520
    WIP repurpose action container_images_prepare

Addressed by: https://review.openstack.org/558969
    Add the docker group to the mistral user

Addressed by: https://review.openstack.org/558971
    Switch to concurrent.futures for container prepare/upload

Addressed by: https://review.openstack.org/558972
    WIP Action to perform container image prepare

Gerrit topic: https://review.openstack.org/#q,topic:bp/containerized-undercloud2,n,z

Addressed by: https://review.openstack.org/561497
    Add the docker group to the mistral user

Addressed by: https://review.openstack.org/562460
    Refactor functions out of ProcessTemplateAction

Addressed by: https://review.openstack.org/566768
    Add the undercloud mistral user to the docker group

Addressed by: https://review.openstack.org/566769
    Expose parameter MistralDockerGroup

Addressed by: https://review.openstack.org/566770
    Add the undercloud mistral user to the docker group

Gerrit topic: https://review.openstack.org/#q,topic:bp/bp,n,z

Addressed by: https://review.openstack.org/566207
    Implement image customization during upload

Addressed by: https://review.openstack.org/566209
    Prepare call, add --modify-role and --modify-vars

Addressed by: https://review.openstack.org/567413
    Cleanup dead code, build_service_filter mocking

Addressed by: https://review.openstack.org/567427
    WIP - Implement TripleoImagePrepare command

Addressed by: https://review.openstack.org/568396
    Move BUILD_ID setting logic out of template

Addressed by: https://review.openstack.org/528621
    Run "overcloud container image prepare" only once

Addressed by: https://review.openstack.org/568403
    WIP Use "openstack tripleo container image prepare"

Addressed by: https://review.openstack.org/568701
    Disable repo centos-qemu-ev

Addressed by: https://review.openstack.org/569528
    Revert "Run "overcloud container image prepare" only once"

Gerrit topic: https://review.openstack.org/#q,topic:container-prepare-workflow,n,z

Addressed by: https://review.openstack.org/569672
    Revert "Revert "Run "overcloud container image prepare" only once""

Addressed by: https://review.openstack.org/569682
    Use a dedicated prepare command for container-check

Addressed by: https://review.openstack.org/569688
    Add an "includes" prepare filter to match "excludes"

Addressed by: https://review.openstack.org/569696
    WIP Use role tripleo-modify-image to update containers

Addressed by: https://review.openstack.org/569699
    Add --include argument to old prepare command

Addressed by: https://review.openstack.org/570300
    Add a dry-run behaviour to image image_uploader

Addressed by: https://review.openstack.org/570623
    Do prepare with dry_run=True where appropriate

Addressed by: https://review.openstack.org/570697
    Test target image exists before modifying

Addressed by: https://review.openstack.org/571581
    Run image prepare after registry install

Addressed by: https://review.openstack.org/571628
    Use correct modify_append_tag key

Addressed by: https://review.openstack.org/571613
    Use the in-built image prepare for undercloud install

Addressed by: https://review.openstack.org/571631
    WIP Use role tripleo-modify-image to update containers

Addressed by: https://review.openstack.org/573062
    Don't return image tags during dry_run=True

Addressed by: https://review.openstack.org/573476
    Switch to workflow driven image prepare

Addressed by: https://review.openstack.org/574485
    Use correct modify_append_tag key (again)

Addressed by: https://review.openstack.org/574905
    Allow a containerized mistral-executor to access docker

Addressed by: https://review.openstack.org/575492
    update the gating repo name in container updates

Addressed by: https://review.openstack.org/575495
    ensure the updates workflow checks container changes

Addressed by: https://review.openstack.org/575583
    Use user and group instead of ensure_resource

Addressed by: https://review.openstack.org/576008
    Add openshift images to ContainerImagePrepare parameter

Addressed by: https://review.openstack.org/577946
    Use ACL instead of docker group for mistral

Addressed by: https://review.openstack.org/578233
    Add different upload cleanup behaviours

Addressed by: https://review.openstack.org/578251
    Add --cleanup argument for image uploads

Addressed by: https://review.openstack.org/578264
    Include docker package in mistral-executor image

Addressed by: https://review.openstack.org/578278
    Undercloud specific volumes for mistral-executor container

Addressed by: https://review.openstack.org/578620
    Implement group_add

Addressed by: https://review.openstack.org/579018
    WIP add docker group to mistral-executor container

Addressed by: https://review.openstack.org/579054
    Create docker group and find gid in tripleo deploy

Addressed by: https://review.openstack.org/581917
    Do undercloud container prepare in external_deploy_tasks

Addressed by: https://review.openstack.org/581918
    Break out image prepare into its own "service"

Addressed by: https://review.openstack.org/581919
    WIP Always enable prepare service for docker clouds

Gerrit topic: https://review.openstack.org/#q,topic:bp/container-prepare-workflow2,n,z

Addressed by: https://review.openstack.org/585839
    WIP Revert "Action to perform container image prepare"

Addressed by: https://review.openstack.org/585913
    Revert "Revert "Action to perform container image prepare""

Addressed by: https://review.openstack.org/586417
    Add tripleoclient to mistral image

Addressed by: https://review.openstack.org/586418
    Add container_image_prepare_params to deployment workflow

Addressed by: https://review.openstack.org/587239
    Create script tripleo-container-image-prepare

Addressed by: https://review.openstack.org/588101
    Add sudoers entry for tripleo-container-image-prepare

Addressed by: https://review.openstack.org/596986
    Always enable image prepare service for docker clouds

Addressed by: https://review.openstack.org/597732
    Rocky: Switch to workflow driven image prepare

Addressed by: https://review.openstack.org/598574
    Switch featuresets to workflow driven image prepare

Addressed by: https://review.openstack.org/599462
    Document container prepare workflow

Addressed by: https://review.openstack.org/601277
    Hook openshift deployment with image prepare

Addressed by: https://review.openstack.org/609275
    Hook openshift deployment with image prepare

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.