Browse Source

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

changes/63/779263/1
Zuul 5 months ago
committed by Gerrit Code Review
parent
commit
1d9ec5c3a3
  1. 12
      releasenotes/notes/image-build-labels-97fda64f693cd8ba.yaml
  2. 32
      tripleoclient/v2/tripleo_container_image.py

12
releasenotes/notes/image-build-labels-97fda64f693cd8ba.yaml

@ -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
tripleoclient/v2/tripleo_container_image.py

@ -189,6 +189,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",
@ -577,6 +589,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