Merge "Use *-container-image roles"

This commit is contained in:
Zuul 2024-12-06 21:45:19 +00:00 committed by Gerrit Code Review
commit 4f6f16ae26
12 changed files with 197 additions and 123 deletions

View File

@ -26,8 +26,8 @@
- playbooks/upload.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
- job:
name: loci-promote-2023-2-ubuntu_jammy
@ -35,8 +35,8 @@
- playbooks/promote.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
nodeset:
nodes: []

View File

@ -26,8 +26,8 @@
- playbooks/upload.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
- job:
name: loci-promote-2024-1-ubuntu_jammy
@ -35,8 +35,8 @@
- playbooks/promote.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
nodeset:
nodes: []

View File

@ -26,8 +26,8 @@
- playbooks/upload.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
- job:
name: loci-promote-2024-2-ubuntu_jammy
@ -35,8 +35,8 @@
- playbooks/promote.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
nodeset:
nodes: []

View File

@ -26,8 +26,8 @@
- playbooks/upload.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
- job:
name: loci-promote-master-ubuntu_jammy
@ -35,7 +35,7 @@
- playbooks/promote.yaml
vars: *vars
secrets:
name: docker_credentials
secret: loci_docker_login
name: container_registry_credentials
secret: loci_registry_credentials
nodeset:
nodes: []

View File

@ -1,25 +1,49 @@
- secret:
name: loci_docker_login
name: loci_registry_credentials
data:
username: !encrypted/pkcs1-oaep
- r8Nbpq5olmfLF035BZ/CUoFLIdhvBi/49KuochOAHbvns+xMiho3C7MEFzYDqJX3IhHde
BICYOgK7qnyINOIZL2e7pl75rEdHQwJjSFUMkpdY6wEP7f9hpolj9xVp0ifHUVQqPHMRn
zoPFd8MEAHxH5GLmc2SWJ98E/QUqGltxBi1YRSZoCcNtq3tHFK5Y+xQlLhIseJ2HkpDs6
YXOGP9Qt4Va6sdyBcA90H+apSAcYA3Duu962ySZQAsYNui/3NQq3gLA+OZeyTJtcrh4hj
Rb5dBnDWfSrMpxdNkbPXXgbQaxO3T0L4jbaOF8VKEsiI9olBrOeV2M9ddYJjSsHGj4XR8
4vwS0+doB7np93fujiDuHVgdG8R40NW2GznyKRlRtzAORla7Mzw1Y1MokcUyY6p1LlLLl
wUuWYCCEuRciOPhZXQ2u42qju/zrK2/dPnO8HfUINSrN0WbNq14ZwPpbj0ro02oGPbtwu
OTw1z+N0Nc+GuLWlwYJGYM/z0UnvDR3WEBc2kXbVev9w4n0cB3RyphML2PDZZWbw8tjnX
h1VsAOJ0Qo4qq1K/ft95ypd+vtjkfepEgHEBmJNwutJa9IHAkGfrkO9VkpUTPpfffnPwz
d0/zaaadNl6MLQUSutRwY23YIIbv+fmukxw2vnJmvn6abkBlMya7KgtifwNA8c=
password: !encrypted/pkcs1-oaep
- oNdrnb4wteFvyQs40rjM7vXb1tu2Pyeq5txLovD+tmImSJ3RPob75oEjTw7jsoEk8G/sP
tGpb1w1M3ViE6+hX8lG0CKdT9/SLXSp1q0Qk1AGcYvutVNVZZiKTsVBx+ZBaVN9dAUZsh
/A+N/DjzUKuUAYTo2C6KMLJomlGz6TYppyRfnHKnHuhSDCeW6Z+w6VFITGWfwlVjLvc2e
DNQ9eLsn74hnmbi5NBCVlHjtsRJjpkdXPcVxzDpxgOleNrKhKD6OvWK/XmcIHXftKL6UC
j6m+V7zupwiCEu/A+KoHMZoNLkzsv8c/LgBRgxDNtm+0t3aZVp6pzUplvfTmqunaHCXbP
uLsKm8BKgzw2ENXGOcRGIUsmxVDfO7BJO0hcR33Hj4i25iAdVLzF55E1Atm4QvGscVMNd
bEWilK6aQlqpRhmIMUyBtQoCqtqcyEEQfEeDlrfE0neCUpj71JNLj2q58sx2g7mN5yeyk
kY06VdEHZBdQ4jC7tRG21aBVMaL0pFxGLCRnPT5EWbzZmXsD66WzAYPRvOf2r5ahRQA5i
Mi7Yk6kBBWNTPTTOhKss6V9uMu6ml5FBX08uHVn6IZf+5CCcTrkfwBOgTfJnCDGxZP+qy
BgwA0Rn78yt6jVDcSZar8BheIe78liCd7pPTE2/2RgqRCoSGaLTy9EvunuJ7Z8=
docker.io:
username: !encrypted/pkcs1-oaep
- r8Nbpq5olmfLF035BZ/CUoFLIdhvBi/49KuochOAHbvns+xMiho3C7MEFzYDqJX3IhHde
BICYOgK7qnyINOIZL2e7pl75rEdHQwJjSFUMkpdY6wEP7f9hpolj9xVp0ifHUVQqPHMRn
zoPFd8MEAHxH5GLmc2SWJ98E/QUqGltxBi1YRSZoCcNtq3tHFK5Y+xQlLhIseJ2HkpDs6
YXOGP9Qt4Va6sdyBcA90H+apSAcYA3Duu962ySZQAsYNui/3NQq3gLA+OZeyTJtcrh4hj
Rb5dBnDWfSrMpxdNkbPXXgbQaxO3T0L4jbaOF8VKEsiI9olBrOeV2M9ddYJjSsHGj4XR8
4vwS0+doB7np93fujiDuHVgdG8R40NW2GznyKRlRtzAORla7Mzw1Y1MokcUyY6p1LlLLl
wUuWYCCEuRciOPhZXQ2u42qju/zrK2/dPnO8HfUINSrN0WbNq14ZwPpbj0ro02oGPbtwu
OTw1z+N0Nc+GuLWlwYJGYM/z0UnvDR3WEBc2kXbVev9w4n0cB3RyphML2PDZZWbw8tjnX
h1VsAOJ0Qo4qq1K/ft95ypd+vtjkfepEgHEBmJNwutJa9IHAkGfrkO9VkpUTPpfffnPwz
d0/zaaadNl6MLQUSutRwY23YIIbv+fmukxw2vnJmvn6abkBlMya7KgtifwNA8c=
password: !encrypted/pkcs1-oaep
- oNdrnb4wteFvyQs40rjM7vXb1tu2Pyeq5txLovD+tmImSJ3RPob75oEjTw7jsoEk8G/sP
tGpb1w1M3ViE6+hX8lG0CKdT9/SLXSp1q0Qk1AGcYvutVNVZZiKTsVBx+ZBaVN9dAUZsh
/A+N/DjzUKuUAYTo2C6KMLJomlGz6TYppyRfnHKnHuhSDCeW6Z+w6VFITGWfwlVjLvc2e
DNQ9eLsn74hnmbi5NBCVlHjtsRJjpkdXPcVxzDpxgOleNrKhKD6OvWK/XmcIHXftKL6UC
j6m+V7zupwiCEu/A+KoHMZoNLkzsv8c/LgBRgxDNtm+0t3aZVp6pzUplvfTmqunaHCXbP
uLsKm8BKgzw2ENXGOcRGIUsmxVDfO7BJO0hcR33Hj4i25iAdVLzF55E1Atm4QvGscVMNd
bEWilK6aQlqpRhmIMUyBtQoCqtqcyEEQfEeDlrfE0neCUpj71JNLj2q58sx2g7mN5yeyk
kY06VdEHZBdQ4jC7tRG21aBVMaL0pFxGLCRnPT5EWbzZmXsD66WzAYPRvOf2r5ahRQA5i
Mi7Yk6kBBWNTPTTOhKss6V9uMu6ml5FBX08uHVn6IZf+5CCcTrkfwBOgTfJnCDGxZP+qy
BgwA0Rn78yt6jVDcSZar8BheIe78liCd7pPTE2/2RgqRCoSGaLTy9EvunuJ7Z8=
quay.io:
username: !encrypted/pkcs1-oaep
- r1qD4tbaM2dJLBg+qCnK2qZ3Aq8oqaux8GcV2zkuzfaPiTvH4lOMVQtdLGu/CnkzsG0w3
BYQ5J9YbwjiTmPkqo8dislS9CnH5i77DwPwztLQo/J431vtMyqPxzM9WVZXOmtDG/TTdr
ZYcoBNXqtXL228pu9ks1R2uXjH3A+cfH4sUNUFEvjbOxubGZuj0W5si7z22y/YelVc1A1
CPCASRdceqddCKdnbSVVRKTatvz/6Unizh4Q6QlALo4bm3K5+txp/V4aHw03RIwdyxGY1
+xd1evk6QAQB5UqT5PmojRHVWe4cRAdQ4ffEdpvP3pL0Ifsxh4uEsxZC4//cpLrRzkZFk
4wwYENutfB0yPIGHunGxiEwHVmwtDn7DGzQ5DcvT1cQcidVee++Fthod++55eDYy28Tuo
9RAaKhoqlr4oV3iRi9Ku0sYEw1bBvhCVjSrPmBl2RM05RkQidcaFxnj6nlZPTSXX2f3FW
om11zDFURt6RCobwcbqQwz1Wik4T/c6EbTy3GHGqmgIa7fKprKl0V5u5KinLny7a4Bs8Y
SBhzqrLFdw5ZVCKaWnkkMVN5PVK+yDk9oUEsV9/rjhI7znv+K3PzsxyYGhz2X7wj7lKP5
emRI6be9PEroOseQ8tK7Xydx89cdHEUYvF5yfmfOkmbp5b4+HCOhdSbgbJhSLQ=
password: !encrypted/pkcs1-oaep
- U6mCiy4dDJLWdjGvpBRxFIPnzAhDqqvVrZqk24KbWe9tr/PRIoMJuYTr2y/2L93zg6LbT
DiHvG6dnhjiUy1UXoeHspM4tRF5rgqsxtZV7ynTev8eCn8lZSM8ZPVcxgbibHl8mCtoaW
zUuqJYXj/tnJuYgh6rXE5WPGnE+ARPL3TlKX95s41S0I5CCBor4TtB27u+pNLpAaDQvVo
prNHpoTrKp3gymc/Bc5QlRxBAiGQ8XQEdfGBLW2Gl2x9fC7+8c1L/5kIDgi/TpQwYCcms
xxn93uRVHX9auJhZfGSDv96Ra93vbLd9j0JBATjYclJN6crCCYiz2ZXCnX/McRRkqUf//
R6rYO5t2szKRyQfU/W3PL9EKVBNbvSznpWNjc6iyzpVFtFlX2CmgWLqvMb5fcfEwgxe/C
uS1k2T+Q7xI/3wQvYIT/voKpJAP4gHVifbhZIohLpHueCZlbx/KMGn7DkbIfedx2Et1PZ
D89Pfr/a7lsR2Dei/qMOd7b4/JN73Ffdav7bWVNQKHzezGijVukxYiB9azyiwFIYeuLA7
uwzDnNqrOAnVvViwiCrdAhIPceTAUkeGx893MpIl6yxkDpR05zCGLaWtVTfeJbSboez0w
/SexcRubxPq4LqQH34yTbigBIcQFsuR6VGeDK2QbQJwuvdedZy+wcPd11v8ux8=

View File

@ -36,34 +36,44 @@
- name: Build base image
include_role:
name: build-docker-image
name: build-container-image
vars:
docker_images:
container_images:
- "{{ base_image }}"
- name: Build requirements image
include_role:
name: build-docker-image
name: build-container-image
vars:
docker_images:
container_images:
- "{{ requirements_image }}"
loop_control:
loop_var: image_registry
loop: "{{ image_registries }}"
- name: Tag requirements image for local registry
command: "docker tag {{ requirements_image.repository }}:{{ item }} {{ local_registry }}/{{ requirements_image.repository }}:{{ item }}"
loop: "{{ requirements_image.tags }}"
- name: Push requirements image to local registry
command: "docker push {{ local_registry }}/{{ requirements_image.repository }}:{{ item }}"
loop: "{{ requirements_image.tags }}"
- name: Tag requirements image and push to local registry
shell: |
for tag in {{ requirements_image.tags | join(" ") }}; do
docker tag {{ requirements_image.repository }}:$tag {{ local_registry }}/{{ requirements_image.repository }}:$tag
docker push {{ local_registry }}/{{ requirements_image.repository }}:$tag
done
loop_control:
loop_var: image_registry
loop: "{{ image_registries }}"
- name: Build project images
include_role:
name: build-docker-image
name: build-container-image
vars:
docker_images: "{{ openstack_images }}"
container_images: "{{ openstack_images }}"
loop_control:
loop_var: image_registry
loop: "{{ image_registries }}"
- name: Return images to zuul
include_tasks: _return-image.yml
loop: "{{ openstack_images }}"
loop_control:
loop_var: zj_image
vars:
image_registry: "{{ image_registries[0] }}"

View File

@ -33,4 +33,4 @@
# This is necessary to serve requirements image to fetch wheels
# during building project images
- name: Start local registry
command: "docker run -d -p {{ local_registry }}:5000 --restart always --name registry registry:2"
command: "docker run -d -p {{ local_registry }}:5000 --restart always --name registry {{ local_registry_image }}"

View File

@ -11,6 +11,9 @@
- name: Promote images
include_role:
name: promote-docker-image
name: promote-container-image
vars:
docker_images: "{{ openstack_images }}"
container_images: "{{ openstack_images + [requirements_image] }}"
loop_control:
loop_var: image_registry
loop: "{{ image_registries }}"

View File

@ -12,6 +12,9 @@
- name: Upload images
include_role:
name: upload-docker-image
name: upload-container-image
vars:
docker_images: "{{ openstack_images }}"
container_images: "{{ openstack_images + [requirements_image] }}"
loop_control:
loop_var: image_registry
loop: "{{ image_registries }}"

View File

@ -1,10 +1,18 @@
currentdate: "{{ now(utc=True,fmt='%Y%m%d') }}"
local_registry: "172.17.0.1:5000"
local_registry_image: "registry:2"
image_registries:
- host: "docker.io"
org: "loci"
- host: "quay.io"
org: "airshipit"
container_command: docker
base_image:
context: "."
dockerfile: "dockerfiles/ubuntu/Dockerfile"
repository: "loci/base"
container_filename: "dockerfiles/ubuntu/Dockerfile"
repository: "base"
tags: &tags
- "{{ image_tag }}"
- "{{ image_tag }}-{{ currentdate }}"
@ -16,10 +24,12 @@ base_image:
requirements_image:
context: "."
dockerfile: "Dockerfile"
repository: "loci/requirements"
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/requirements"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='requirements'"
- "PROJECT_REF={{ openstack_release }}"
- "KEEP_ALL_WHEELS=yes"
@ -27,14 +37,16 @@ requirements_image:
barbican_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/barbican
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/barbican"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='barbican'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
- "DIST_PACKAGES='python3-dev gcc'"
- "PIP_ARGS='--only-binary :none:'"
@ -42,213 +54,246 @@ barbican_image:
cinder_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/cinder
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/cinder"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='cinder'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent lvm ceph qemu apache'"
- "PIP_PACKAGES='python-swiftclient'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
cyborg_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/cyborg
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/cyborg"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='cyborg'"
- "PROJECT_REF={{ openstack_release }}"
- "DIST_PACKAGES='pciutils'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
designate_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/designate
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/designate"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='designate'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
glance_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/glance
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/glance"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='glance'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent ceph'"
- "PIP_PACKAGES='python-swiftclient os-brick'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
heat_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/heat
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/heat"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='heat'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent apache'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
- "DIST_PACKAGES='curl'"
horizon_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/horizon
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/horizon"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='horizon'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent apache'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
- "PIP_PACKAGES='pymemcache'"
ironic_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/ironic
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/ironic"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='ironic'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent ipxe ipmi qemu tftp'"
- "DIST_PACKAGES='ethtool lshw iproute2'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
keystone_image:
context: "."
dockerfile: "Dockerfile"
repository: "loci/keystone"
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/keystone"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='keystone'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent apache ldap {{ openstack_release }}'"
- "PIP_PACKAGES='python-openstackclient'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
manila_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/manila
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/manila"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='manila'"
- "PROJECT_REF={{ openstack_release }}"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
monasca_api_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/monasca-api
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/monasca-api"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='monasca-api'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='monasca api'"
- "PIP_PACKAGES='influxdb cassandra-driver sqlalchemy'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
neutron_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/neutron
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/neutron"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='neutron'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent linuxbridge openvswitch apache vpn baremetal'"
- "PIP_PACKAGES='tap-as-a-service'"
- "DIST_PACKAGES='jq ethtool lshw'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
nova_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/nova
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/nova"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='nova'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='fluent ceph linuxbridge openvswitch configdrive qemu apache migration'"
- "DIST_PACKAGES='net-tools openssh-server'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
octavia_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/octavia
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/octavia"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='octavia'"
- "PROJECT_REF={{ openstack_release }}"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
placement_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/placement
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/placement"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='placement'"
- "PROJECT_REF={{ openstack_release }}"
- "PROFILES='apache'"
- "PIP_PACKAGES='httplib2'"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
tacker_image:
context: "."
dockerfile: "Dockerfile"
repository: loci/tacker
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/tacker"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='tacker'"
- "PROJECT_REF={{ openstack_release }}"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"
watcher_image:
context: "."
repository: loci/watcher
dockerfile: "Dockerfile"
container_filename: "Dockerfile"
registry: "{{ image_registry.host }}"
repository: "{{ image_registry.host }}/{{ image_registry.org }}/watcher"
tags: *tags
build_args:
- "FROM='loci/base:{{ image_tag }}'"
- "FROM='base:{{ image_tag }}'"
- "PROJECT='watcher'"
- "PROJECT_REF={{ openstack_release }}"
- "WHEELS='{{ local_registry }}/loci/requirements:{{ image_tag }}'"
- "WHEELS='{{ local_registry }}/{{ image_registries[0].host }}/{{ image_registries[0].org }}/requirements:{{ image_tag }}'"
- "KEEP_ALL_WHEELS=yes"

View File

@ -1,4 +1,4 @@
image_tag: "master-ubunu_jammy"
image_tag: "master-ubuntu_jammy"
distro_image: "ubuntu:jammy"
openstack_release: "master"
ceph_repo: "deb https://download.ceph.com/debian-reef/ jammy main"

View File

@ -53,17 +53,6 @@ case ${distro} in
;;
esac
# cat /etc/hosts
# cat /etc/resolv.conf
# echo ${BUILDSET_REGISTRY_IP} ${BUILDSET_REGISTRY_ALIAS} >> /etc/hosts
# cat /etc/hosts
# if [[ ${PROJECT} == "keystone" ]]; then
# sleep 7200
# fi
if [[ "${PROJECT}" == "requirements" ]]; then
$(dirname $0)/requirements.sh
exit 0