Browse Source

Merge "Add label argument for the container image build" into stable/train

changes/79/782579/1
Zuul 1 month ago
committed by Gerrit Code Review
parent
commit
375e32d8f2
2 changed files with 44 additions and 0 deletions
  1. +12
    -0
      releasenotes/notes/image-build-labels-97fda64f693cd8ba.yaml
  2. +32
    -0
      tripleoclient/v1/tripleo_container_image.py

+ 12
- 0
releasenotes/notes/image-build-labels-97fda64f693cd8ba.yaml View File

@ -0,0 +1,12 @@
---
features:
- The container image build command now has the ability to inject labels
into various images being constructed. To add labels into a container,
the argument `--label` can be specified multiple times. The value is
always a key=value pair and each key must be unique.
other:
- The container image build label agument has the ability to do simple
string replacements following the python standard. Available options
for string replacement are `registry`, `namespace`, `prefix`,
`image`, `tag`, and `name`. Example usage
`--label component="%(prefix)s-%(name)s-container"`.

+ 32
- 0
tripleoclient/v1/tripleo_container_image.py View File

@ -184,6 +184,18 @@ class Build(command.Command):
"(default: %(default)s)"
),
)
parser.add_argument(
"--label",
dest="labels",
metavar="<label-data>",
default=[],
action="append",
help=_(
"Add labels to the containers. This option can be "
"specified multiple times. Each label is a key=value "
"pair."
),
)
parser.add_argument(
"--volume",
dest="volumes",
@ -562,6 +574,26 @@ class Build(command.Command):
rhel_modules.update({name: version})
image_config['tcib_rhel_modules'] = rhel_modules
if parsed_args.labels:
_desc = "OpenStack Platform {}".format(image_parsed_name)
label_data = image_config['tcib_labels'] = {
"tcib_managed": True,
"maintainer": "OpenStack TripleO Team",
"description": _desc,
"summary": _desc,
"io.k8s.display-name": _desc,
}
for item in parsed_args.labels:
key, value = item.split("=", 1)
label_data[key] = value % dict(
registry=parsed_args.registry,
namespace=parsed_args.namespace,
prefix=parsed_args.prefix,
image=image_name,
tag=parsed_args.tag,
name=image_parsed_name,
)
# NOTE(cloudnull): Check if the reference config has a valid
# "from" option. If the reference "from"
# option is valid, it will be used.


Loading…
Cancel
Save