tripleo-common/releasenotes/notes
Emilien Macchi b047a20135 Support for Buildah in kolla_builder
Buildah and Podman will replace Docker.
This patch will be used by tripleoclient when running:

  $ openstack overcloud container image build --use-buildah

When using Buildah, the kolla_builder will, in that order:

1) Generate container templates but not actually build the images.
   The directories are generated by kolla-build and containers files
   like Dockerfiles and such.
2) Generate container dependencies and build a dictionary, later used by
   the new BuildahBuilder.

In this patch, we introduce a Class for builders. For now, we only have
BuildahBuilder but later we will refactor kolla_builder.

The BuildahBuilder has in charge of:

1) Build containers using "buildah bud". This command is used because
   Kolla uses Dockerfiles to build images. Each image build is logged in
   the directory that contains the Dockerfile.
   During the build, logging displays the container that is being built
   and also the buildah command that is used.

   The image layers that don't have childs are multi-threaded to
   accelerate the build. We don't go over 8 builds at the same time
   otherwise Buildah struggles with the locks too hard.
   We also setup a timeout of 30 minutes for the workers to report back.

   For example:

   base
    └─openstack-base
       ├─nova-base
       │  ├─nova-api
       │  └─nova-conductor
       └─neutron-base
          └─neutron-dhcp
    └─multipathd
    └─crond

    The builder will first build "base" then:
    - build openstack-base, multipathd and crond in same time.
    - build nova-base and neutron-base in same time
    - build nova-api, nova-conductor in same time
    - etc

2) Push containers to a Docker registry. We'll support more than Docker
   registries, but later.

Note: All commands are executed using processutils from oslo_concurrency
      which is pretty and rock solid.

Note2: kolla_builder will be refactored to use the new Builder class.
      This patch is an initial support for Buildah, improvements will come
      later.

Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Co-Authored-By: Christophe Fontaine <cfontain@redhat.com>

blueprint podman-support

Change-Id: Ieff41a5f84456530b4621218b01f3b546cd867bf
2019-02-14 13:34:51 +00:00
..
releasenotes/notes Make lb-mgmt-subnet a class B subnet 2018-05-17 07:37:29 +00:00
5.8.0-d1ca2298ba598431.yaml Add plan export action and workflow 2017-03-27 11:00:58 +02:00
accept-glance-image-id-6e8bf439d93b3fb5.yaml Accept glance image ID in addition to name 2017-10-24 15:22:03 -04:00
add-check-mode-support-for-hiera-f15fed971d4397f8.yaml Check mode support for hiera deployments 2018-10-03 18:25:54 +00:00
add-generation-of-barbican-simple-crypto-kek-507fd2f21cdcf21b.yaml Added ability to generate kek for barbican simple crypto backend 2017-12-07 22:58:10 +00:00
Add-rotate-fernet-keys-action-a1080bf5fb18413f.yaml Enable key rotation action and add release note 2017-06-19 12:11:16 +00:00
adds-ansible-actions-4da45efa8a98cade.yaml Adds ansible actions 2017-06-11 19:18:56 -04:00
adds-create-container-workflow-77ee4557779563c0.yaml Adds Create Container Workflow 2018-04-23 09:21:53 -04:00
adds-delete-plan-workflow-d625682fdddd3f48.yaml Adds Workflow to Delete Deployment Plan 2018-02-02 09:33:00 -05:00
adds-generate-fencing-parameters-e2ea121247779db3.yaml Add workflow to generate fencing parameters 2018-04-24 09:03:13 -04:00
adds-list-plan-workflow-c0c6f91c9460a09a.yaml Adds workflow to list deployment plans 2018-02-20 14:25:17 -05:00
allow-upload-big-files-f67ff35fcd166612.yaml Allow uploading big files to swift (5GB) 2018-04-23 16:48:30 +02:00
ansible-action-log-20904253f962557f.yaml Log Ansible actions to ansible.log 2017-11-15 07:48:47 -05:00
append-ironic-staging-drivers-d278905bb1ec0683.yaml Install ironic-staging-drivers in ironic-conductor 2018-11-13 19:28:28 +01:00
available-roles-workflow-fe81806915124cb6.yaml Adds Workflow to List Available Roles 2018-01-26 14:25:25 -05:00
blacklisted_ips_support-f362e008ae1af210.yaml Consume blacklisted_ip_addresses in workflows 2018-01-15 21:22:50 +01:00
blacklisted_serverid_config-e079e64e8a04cdb4.yaml config: ignore missing server_id from the stack 2018-09-21 22:39:15 -04:00
break-up-messages-0c438e658ce32892.yaml Break up messages to avoid max message size 2017-12-14 14:30:51 -05:00
buildah_build-727eb0f35f819731.yaml Support for Buildah in kolla_builder 2019-02-14 13:34:51 +00:00
caps-fix-f6f8817a48fa5c25.yaml Correct handling of capabilities on node update 2018-11-08 16:14:14 +01:00
capture-environment-status-and-logs-3462d6ebbc9ecf2e.yaml Add log capturing support workflows 2017-05-08 14:38:14 -06:00
change-odl-healthcheck-uri-84d6dea51b110772.yaml Fixes ODL healthcheck URI 2018-04-11 15:47:18 -04:00
check_ovs_upgrade-99cecd6b7bfdcf83.yaml Prevent upgrading to incompatible mechanism driver 2019-01-18 13:52:22 +01:00
check-boot-action-548e38d17cf1ad96.yaml Implement check boot images as a custom action 2017-04-08 07:23:38 -04:00
check-flavors-action-59b7f2dd5103ad9d.yaml Implement check flavors as a custom action 2017-04-08 07:23:38 -04:00
check-node-counts-bb80a5cdd8d10475.yaml Implement check node counts as a custom action 2017-04-11 08:29:19 -04:00
cinder-and-glance-api-version-bca6acd809d4151c.yaml Define default Image and Volume API versions in overcloudrc 2017-06-14 14:33:23 -04:00
config-download-consistent-work-dir-b8a37550c3970722.yaml Use /var/lib/mistral/<plan-name> as config-download dir 2018-07-19 08:24:24 -04:00
config-download-deploy-workflow-55f26302a42cf379.yaml Add workflow for deployment via config-download 2017-11-15 07:48:45 -05:00
config-download-dont-use-tmpdirs-3641db9fd687f85e.yaml config download support for a fixed directory 2018-04-17 17:15:17 -07:00
config-download-git-repo-9a18681afbfb9136.yaml Make config-download directory a git repository 2018-07-03 11:23:31 -04:00
config-download-git-repo-commit-msg-9a550daaae1fc55e.yaml git integration for GetOvercloudConfig action 2018-07-19 08:24:24 -04:00
config-download-timeout-7296683716f78022.yaml Add config_download_timeout input 2018-08-29 20:39:49 -04:00
create_get_flattened_parameters_workflow-8c35b813289a5479.yaml Create get_flattened_parameters workflow 2018-07-30 09:25:05 -04:00
create_heat_capabilities_workbook-091f0ce2ab5fff3a.yaml Create Heat Environments workbook 2018-08-02 11:52:19 -04:00
create-overcloudrc-workflow-e5150b6b0af462f0.yaml Add Workflow To Create Overcloudrc Files 2018-04-24 12:04:35 -04:00
default-arch-selection-d5fd2fcdba725dd4.yaml Default to host CPU architecture if none is supplied 2017-08-05 09:11:20 +10:00
delete-stack-a3c0951d9af04a0f.yaml Add release notes since 5.7.0 2017-01-27 10:02:38 -05:00
deployed-server-clear-breakpoint-ee1a984f3366598a.yaml Prompt to clear breakpoints when using deployed-server 2017-08-02 18:05:32 -04:00
deployment-status-workflows-7f6ba3b69f805f06.yaml Workflows for manipulating deployment status 2018-06-27 14:38:07 -04:00
deployments-per-server-ea747fcff19c884d.yaml Per server deployments instead of per role 2018-10-23 08:57:05 -04:00
deprecate-list-roles-action-12744cee0e6d70e5.yaml Deprecates tripleo.roles.list action 2018-04-06 09:45:08 -04:00
deprecated-params-list-a4edf6e341520ead.yaml Workflow to get the list of deprecated parameters from the plan 2017-06-14 17:13:29 +05:30
derive-deployment-parameters-c5e97d3df9bfc114.yaml Derive deployment parameters for HCI 2017-07-13 08:33:32 -04:00
derive-parameters-using-scheduler-hints-5bb65bc78c1f6f91.yaml Use scheduler hints in derived_parameters workflow 2018-04-05 08:22:25 -04:00
disable_nouveau-bbaf1263fe43821a.yaml Revert "Revert "Add disable-nouveau element to tripleo images"" 2018-07-27 08:58:01 -06:00
discover_hosts-f1733234ba32a909.yaml Run nova manage cell_v2 discover_host after ironic nodes are registered 2017-01-26 14:04:35 +00:00
dont-fail-tripleo-bootstrap-on-package-install-a00cd921b0af7168.yaml Don't fail tripleo-bootstrap on package installs 2018-09-24 14:03:54 -04:00
drac-address-d835a529a7c17242.yaml When enrolling Dell nodes, use drac_address instead of deprecated drac_host 2017-06-17 11:56:57 +02:00
drop-inventory-config-support-c2132b897da2d290.yaml Remove configs parameter from TripleoInventory 2018-11-13 16:11:30 -07:00
enable-ssh-admin-honor-blacklist-f1371554ab1b38f6.yaml Honor blacklist with enable_ssh_admin 2018-08-06 17:23:59 -04:00
enrich-nodes-json-ironic-port-data-0905da3f7b13d149.yaml Enrich integration with ironic networking features 2018-03-26 13:18:26 +02:00
enroll-root-device-a172f98f50706a12.yaml Add missing support for the root_device property 2018-01-15 10:17:38 +00:00
error-msg-no-baremetal-a583117ecd9836dc.yaml Add error message if no bare metal nodes available 2017-07-18 16:09:56 +00:00
etcdtoken-4c46bdfac940acda.yaml Generate EtcdInitialClusterToken 2017-03-15 17:53:44 -04:00
fail-multiple-config-download-executions-bf1f0984cd8af5f0.yaml Fail multiple executions of config-download of the same plan 2019-01-02 10:45:57 -05:00
fencing-hw-types-fddcdb6bf6d79414.yaml Fix handling hardware types and drivers when generating fencing parameters 2018-05-28 09:05:27 +00:00
fix-api-network-rendering-5a65009051a0f464.yaml Adds detection for legacy API network resource 2017-10-30 09:52:53 -06:00
fix-call-to-git-clone-action-d13942fc07e8e089.yaml Fix calls to tripleo.git.clone action 2017-05-18 08:11:34 -04:00
fix-check-mode-server-deployment-098bcae9e0227c57.yaml Fix check mode for server deployments 2018-09-29 10:11:42 +00:00
fix-octavia-image-rpm-install-permissions-846cd6780a527084.yaml Fix Octavia amphora image RPM install 2018-05-23 16:45:35 +00:00
fix-octavia-pub-key-d195fbf1976a8d36.yaml Check pub key file perms and default to pub key data 2018-05-14 09:38:52 +00:00
fix-opendaylight-healthcheck-f9bc1d2e067c4680.yaml Fixes OpenDaylight healthcheck 2018-02-26 17:48:20 -05:00
fix-syntax-error-in-octavia-undercloud-role-c02b0c5b0f1ece34.yaml Check pub key file perms and default to pub key data 2018-05-14 09:38:52 +00:00
fix-update-roles-workflow-with-custom-overcloud-names-35404ceae3ac380e.yaml Pass container and queue_name inputs to the list_available_roles workflow 2018-06-08 09:53:37 +00:00
flatten_parameters-b37065a0f0071523.yaml Add an action to fetch and flatten the heat resource tree and parameters 2017-05-15 18:41:13 +05:30
format-ansible-deployments-8bc0de3b4dbfa69c.yaml Format group:ansible deployments 2018-02-01 16:26:50 -05:00
generate-roles-with-colon-c903826db084b8a6.yaml Generate additional roles with defined roles file 2018-07-18 17:33:23 +05:30
git-support-for-deployment-plans-cac4d3746689cbda.yaml Create or update deployment plan from git repository 2017-03-31 13:19:47 +00:00
group-os-apply-config-warn-beece0b9fcff74b7.yaml Deprecate group:os-apply-config with config-download 2018-02-13 10:45:02 -05:00
gui-logging-5413d0d86e618c59.yaml Add GUI logging workflows 2017-08-08 08:55:55 +02:00
handle-no-deployment-status-a70a4b950171afbe.yaml Handle non-existant plan when getting deployment status 2018-09-24 14:03:22 -04:00
increase-size-security-hardened-images-3fc4df73a48d4a91.yaml Increase size for security hardened images 2018-10-17 11:10:56 +02:00
install-octavia-amphora-image-red-hat-bc8545e36d88f951.yaml Install Octavia amphora image if Red Hat 2018-05-15 16:03:50 +02:00
integrate-skydive-b3b569d996c24cc5.yaml Add Mistral workbook to deploy Skydive using ansible 2017-10-04 10:22:56 +02:00
interfaces-cd94c12dd4744c50.yaml Allow setting *_interface fields via instackenv.json 2017-07-25 20:43:35 +02:00
introspection-batch-size-47723bceb0281baf.yaml Run introspection 20 nodes at a time 2017-05-18 15:25:56 +00:00
ipmi-discovery-72f93156bcaf461d.yaml Add workflow for IPMI nodes discovery 2017-07-19 09:38:48 +02:00
ironic-api-version-d2b4ec1474918f12.yaml Bump OS_BAREMETAL_API_VERSION to 1.29 2017-02-13 10:31:07 +01:00
ironic-api-version-latest-328a5894677f801d.yaml Stop setting IRONIC_API_VERSION and OS_BAREMETAL_API_VERSION in overcloudrc 2017-11-24 14:55:15 +01:00
ironic-api-version-pike-4264d815385cba7a.yaml Bump the default bare metal (ironic) API version in the overcloud to 1.34 2017-07-28 11:31:25 +02:00
ironic-boot-config-77addfde192cee0f.yaml Implement check ironic boot configuration as a custom action 2017-04-11 08:29:17 -04:00
ironic-hardware-types-791dad3f75a67454.yaml Add support for enrolling nodes with "ipmi" hardware type 2017-04-05 13:12:10 +02:00
ironic-rescue-ce08f432ccdcece4.yaml Add support for rescue mode in enrollment and node configuration workflows 2018-03-22 16:02:56 +01:00
ironic-ucs-driver-node-uniqueness-fix-c74110a9728d1023.yaml ensure unique ironic node ID with UCS driver 2018-06-06 17:56:00 +02:00
jinja2_include-8bef46285f25ddea.yaml Add support for jinja2 includes 2017-01-26 11:08:49 +00:00
list-roles-from-roles-data-yaml-7ca573169f888bd7.yaml Parse roles from roles_data.yaml directly 2017-05-29 10:11:10 +01:00
manage-workflow-2668b50940c10d97.yaml Add release notes since 5.7.0 2017-01-27 10:02:38 -05:00
migration_ssh_key-6e772d18d4d24485.yaml Add MigrationSshKey to generated passwords 2017-04-03 09:22:10 +01:00
minor-update-workflow-6106c1a91cb6d029.yaml Add release note for minor update workflow 2017-10-05 07:54:34 +00:00
mistral-swift-tempurl-action-ce4946a0b76db53c.yaml Use Mistral to create Swift temporary URLs 2017-01-26 10:35:37 +01:00
more-hw-types-a837145e41409382.yaml Update list of supported drivers, hardware types and their properties 2017-10-17 18:42:08 +02:00
no-classic-drivers-d56f8c3ff15af2c3.yaml Convert classic drivers to hardware types on enrollment 2018-05-16 11:14:17 +00:00
nodes-with-profile-662f2c6cb61c4ac4.yaml Workflow to select nodes matching a profile/role 2017-04-10 20:45:54 +05:30
nova_api_healthcheck_metadata_wsgi_change-4a191009d7ef9963.yaml Fix nova-api healthcheck in case of nova metadata wsgi 2018-10-12 11:57:56 +02:00
nova_metadata_config_image-26e727263be52408.yaml Add DockerNovaMetadataConfigImage as part of metadata httpd wsgi move 2018-07-17 11:50:56 +02:00
nova_metadata_healthcheck-44a9b0a1f436826a.yaml nova_metadata healthcheck script 2018-08-21 17:30:36 +02:00
nova_novnc_proxy_ssl_healthcheck-f9ad0dffb459ef4b.yaml Use https for novnc proxy healthcheck if ssl_only is configured 2018-08-08 09:08:36 +02:00
octavia-amphora-ssh-5dee3678d7b66476.yaml Create keypair for SSH access to Octavia amphorae 2018-04-23 16:21:53 +02:00
octavia-internal-tls-support-f595ed1c3a1f3353.yaml Add httpd and mod_ssl packages to octavia api image 2018-09-28 06:19:12 +00:00
octavia-passphrase-285a06885ac735df.yaml Octavia post deployment mistral wrapper 2018-01-16 13:17:52 +00:00
openstack-heat-agents-31a1a2908745f3bc.yaml Install openstack-heat-agents instead of python-heat-agent* 2017-12-08 07:38:37 -05:00
os_net_config_packaging-36b94a08bbb3e11d.yaml Install os-net-config as a package, not an element 2018-01-24 12:57:56 -05:00
overcloudrc-versionless-keystone-endpoint-9cdc1a4e1341a933.yaml Drop version from OS_AUTH_URL 2018-08-24 21:11:32 +00:00
ovirt-driver-77af6913e280a19e.yaml Support enrolling nodes with staging-ovirt hardware type 2017-11-24 14:33:01 +01:00
ovn-image-prepare-neutron-server-abb60292341b5782.yaml Fixes OVN docker image prep with Neutron 2019-02-11 22:29:15 +00:00
passwords-79661a3f27a33528.yaml Manage legacy OS::TripleO::RandomString resources in constants 2018-01-08 20:28:27 +00:00
predeployment-validations-1e8eacd36571d5c9.yaml Add workflow wrapping all predeployment checks 2017-04-11 08:29:21 -04:00
prepare-includes-0c9a077369e99619.yaml Add an "includes" prepare filter to match "excludes" 2018-05-22 09:03:37 +12:00
profile-17e2650c8da9e8b5.yaml Supports specifying profile explicitly in instackenv.json 2018-11-08 16:23:46 +01:00
quote-$@-a3d47106c9b7eeb6.yaml Quote $@ in ansible-playbook-command.sh 2018-02-12 14:23:32 -05:00
redfish-550a0e0f0fd4ea41.yaml Update the documentation link for doc migration 2017-07-25 15:00:27 +08:00
remove-abort-7214f376c9672644.yaml Remove update abort 2017-05-03 11:21:14 +00:00
remove-ironic-staging-drivers-override-ce9776ec030ec02a.yaml Remove tripleo ironic-staging-drivers addition 2018-12-10 15:27:29 -07:00
resource-class-6fffaaf3b39b36c5.yaml Set resource_class=baremetal for newly enrolled nodes 2017-08-16 12:05:10 +02:00
rm_create_default_deployment_plan-397b259f6f641ab9.yaml Remove create_default_deployment_plan workflow 2018-06-26 10:04:57 +01:00
role-config-none-d440bd0dcbb63534.yaml Handle None value for RoleConfig 2018-02-09 11:57:32 -05:00
role-specific-validation-5ea0a31711ced6fe.yaml Provide the output to add a validation for role-specific params on services 2018-02-16 18:33:20 +05:30
select-roles-workflow-01860e1ba8b7b86c.yaml Select Roles Workflow 2018-01-26 14:27:53 -05:00
set-ssh-server-keep-alive-options-071e1b3b570e78a7.yaml Set SSH server keep alive options 2018-09-21 08:02:06 +00:00
skip-deploy-identifier-d5abb0d4e6af0ecd.yaml Add skip_deploy_identifier 2017-04-03 22:21:02 -04:00
stack-update-1530096686438046.yaml Add release notes since 5.7.0 2017-01-27 10:02:38 -05:00
stop-octavia-amphora-image-install-5d26e3d37c7b508f.yaml Stop installing octavia-amphora-image package 2018-11-05 14:33:33 +01:00
stop-using-mistral-env-2ed6e17c4cdb9761.yaml Use Swift to store Plan environment 2017-06-07 16:51:28 +02:00
switch_to_tripleomaster_registry-bd795a51f4e572c9.yaml Switch to tripleomaster registry 2018-02-01 14:16:38 +01:00
tripleo-bootstrap-721b73d21ade7d6d.yaml Introduce tripleo-bootstrap Ansible role 2017-12-06 01:20:38 +00:00
tripleo-container-tag-ec42e64289cb17e2.yaml Implement tripleo-container-tag role 2018-11-05 19:45:22 +00:00
tripleo-create-admin-0ce59d13ce2c07f6.yaml Break out tripleo-admin creation to its own role 2019-01-31 10:36:01 +13:00
tripleo-docker-rm-b64297d5f9f42988.yaml Implement tripleo-docker-rm role 2018-11-09 14:05:06 +00:00
tripleo-module-load-80f7fd8c8dd6a81e.yaml Load and persist modules from the host. 2018-10-03 18:23:10 +00:00
tripleo-ssh-known-hosts-d27c54b0a6f9a028.yaml Add tripleo-ssh-known-hosts role 2018-01-30 15:31:37 -05:00
undercloud-backup-actions-and-workflow-1d661bba3fb2f974.yaml Add UC Backup Mistral workflow definition and actions 2018-02-05 16:38:01 +00:00
update-keystone-utils-bfd14da957d34ec5.yaml Bring the keystone utils up-to-date with Mistral 2017-10-05 12:03:33 +00:00
update-params-workflow-b26fd4cc40549537.yaml Adds Update Parameters Workflow 2018-02-06 09:41:28 -05:00
update-ps1-in-rc-files-c710832fc1ee37f5.yaml Fix broken command prompt 2017-03-28 16:44:24 -04:00
update-roles-workflow-00be679eb8e9548c.yaml Adds UpdateRoles Workflow 2018-01-26 14:27:43 -05:00
use-hostnames-in-inventory-6d1a3572baebf509.yaml Use hostnames in inventory 2018-04-09 15:46:05 -04:00
v3-only-overcloudrc-8439cfed2145341f.yaml Only generate keystone v3 enabled overcloudrc's 2017-10-30 15:48:22 +02:00
validations-in-workflow-8ce6a053cacece0d.yaml Add support for calling validations in deploy and introspect workflows 2017-01-26 07:34:24 -05:00
verify-profiles-a9d075f565bc3df6.yaml Implement verify profiles as a custom action 2017-04-11 08:29:18 -04:00
workaround_ssh_known_host_atomic_update-481e0baf3b3d6342.yaml Workaround ssh_known_hosts changes not being propagated to containers 2019-01-08 17:05:44 +00:00
workflow-config-download-export-d22f3eb958b8c97a.yaml Add workflow for config-download export 2018-07-26 09:01:22 -04:00