Commit Graph

16 Commits

Author SHA1 Message Date
Bruce Ashfield
75de565e3b docker-compose2: introduce go version of docker-compose
Introducing a recipe to build (and create a vendor directory) for the
docker-compose2 command, which is a go implementation of he formely
python3 docker-compose.

This co-exists (for now) with the python version.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-10-25 15:08:39 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
OEcore/bitbake are moving to use the clearer ":" as an overrides
separator.

This is pass one of updating the meta-virt recipes to use that
syntax.

This has only been minimally build/runtime tested, more changes
will be required for missed overrides, or incorrect conversions

Note: A recent bitbake is required:

    commit 75fad23fc06c008a03414a1fc288a8614c6af9ca
    Author: Richard Purdie <richard.purdie@linuxfoundation.org>
    Date:   Sun Jul 18 12:59:15 2021 +0100

        bitbake: data_smart/parse: Allow ':' characters in variable/function names

        It is becomming increasingly clear we need to find a way to show what
        is/is not an override in our syntax. We need to do this in a way which
        is clear to users, readable and in a way we can transition to.

        The most effective way I've found to this is to use the ":" charater
        to directly replace "_" where an override is being specified. This
        includes "append", "prepend" and "remove" which are effectively special
        override directives.

        This patch simply adds the character to the parser so bitbake accepts
        the value but maps it back to "_" internally so there is no behaviour
        change.

        This change is simple enough it could potentially be backported to older
        version of bitbake meaning layers using the new syntax/markup could
        work with older releases. Even if other no other changes are accepted
        at this time and we don't backport, it does set us on a path where at
        some point in future we could
        require a more explict syntax.

        I've tested this patch by converting oe-core/meta-yocto to the new
        syntax for overrides (9000+ changes) and then seeing that builds
        continue to work with this patch.

        (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284)

        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-08-02 17:17:53 -04:00
Leon Anavi
292e63d4fd python3-docker-compose: Upgrade 1.29.1 -> 1.29.2
Upgrade to release 1.29.2:

- Remove prompt to use docker compose in the up command
- Bump py to 1.10.0 in requirements-indirect.txt

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-07-20 22:51:29 -04:00
Bruce Ashfield
b63523eeac docker-compose: update to 1.29.1
The following changes are part of this version bump:

1.29.1 (2021-04-13)
-------------------

Bugs
  Fix for invalid handler warning on Windows builds
  Fix config hash to trigger container recreation on IPC mode updates
  Fix conversion map for placement.max_replicas_per_node
  Remove extra scan suggestion on build

1.29.0 (2021-04-06)
-------------------

Features
  Add profile filter to docker-compose config
  Add a depends_on condition to wait for successful service completion

Miscellaneous
  Add image scan message on build
  Update warning message for --no-ansi to mention --ansi never as alternative

  Bump docker-py to 5.0.0
  Bump PyYAML to 5.4.1
  Bump python-dotenv to 0.17.0

1.28.6 (2021-03-23)
-------------------

Bugs
  Make --env-file relative to the current working directory and error out
  for invalid paths. Environment file paths set with --env-file are
  relative to the current working directory while the default .env file is
  located in the project directory which by default is the base directory
  of the Compose file.

  Fix missing service property storage_opt by updating the compose schema

  Fix build extra_hosts list format

  Remove extra error message on exec

Miscellaneous
  Add compose.yml and compose.yaml to default filename list

1.28.5 (2021-02-25)
-------------------

Bugs
  Fix OpenSSL version mismatch error when shelling out to the ssh client
  (via bump to docker-py 4.4.4 which contains the fix)

  Add missing build flags to the native builder: platform, isolation and extra_hosts

  Remove info message on native build

  Avoid fetching logs when service logging driver is set to 'none'

1.28.4 (2021-02-18)
--------------------

Bugs
  Fix SSH port parsing by bumping docker-py to 4.4.3
Miscellaneous
  Bump Python to 3.7.10

1.28.3 (2021-02-17)
-------------------

Bugs
  Fix SSH hostname parsing when it contains leading s/h, and remove the
  quiet option that was hiding the error (via docker-py bump to 4.4.2)

  Fix key error for '--no-log-prefix' option

  Fix incorrect CLI environment variable name for service profiles:
  COMPOSE_PROFILES instead of COMPOSE_PROFILE

  Fix fish completion

Miscellaneous
  Bump cryptography to 3.3.2

  Remove log driver filter

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-04-15 10:40:01 -04:00
Bruce Ashfield
42ec3cb5bf docker-compose: update to 1.28.2
Along with the version bump, we refresh our dependency patch to
apply.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2021-02-06 13:01:33 -05:00
Ricardo Salveti
74e0b8d2ac python3-docker-compose: upgrade 1.26.0 to 1.27.4
Release notes for 1.27.4:
- Bugs
  - Remove path checks for bind mounts
  - Fix port rendering to output long form syntax for non-v1
  - Add protocol to the docker socket address

Release notes for 1.27.3:
- Bugs
  - Merged max_replicas_per_node on docker-compose config.
  - Fixed depends_on serialization on docker-compose config.
  - Fixed scaling when some containers are not running on docker-compose
    up.
  - Enabled relative paths for driver_opts.device for local driver.
  - Allowed strings for cpus fields.

Release notes for 1.27.2:
- Bugs
  - Fix bug on docker-compose run container attach

Release notes for 1.27.1:
- Bugs
  - Fix compose run when service.scale is specified
  - Allow driver property for external networks as temporary workaround
    for swarm network propagation issue
  - Pin new internal schema version to 3.9 as the default
  - Preserve the version when configured in the compose file

Release notes for 1.27.0:
- Features
  - Merge 2.x and 3.x compose formats and align with COMPOSE_SPEC schema
  - Implement service mode for ipc
  - Pass COMPOSE_PROJECT_NAME environment variable in container mode
  - Make run behave in the same way as up
  - Use docker build on docker-compose run when COMPOSE_DOCKER_CLI_BUILD
    environment variable is set
  - Use docker-py default API version for engine queries (auto)
  - Parse network_mode on build
- Bugs
  - Ignore build context path validation when building is not required
  - Fix float to bytes conversion via docker-py bump to 4.3.1
  - Fix scale bug when deploy section is set
  - Fix docker-py bump in setup.py
  - Fix experimental build failure detection
  - Fix context propagation to docker cli
- Miscellaneous
  - Drop support for Python 2.7
  - Add script for docs syncronization
  - Bump docker-py to 4.3.1
  - Bump tox to 3.19.0
  - Bump virtualenv to 20.0.30

Release notes for 1.26.2:
- Bugs
  - Enforce docker-py 4.2.2 as minimum version when installing with pip

Release notes for 1.26.1:
- Features
  - Bump docker-py from 4.2.1 to 4.2.2
- Bugs
  - Enforce docker-py 4.2.1 as minimum version when installing with pip
  - Fix context load for non-docker endpoints

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-11-03 16:30:29 -05:00
Ming Liu
a1d06c7470 python3-docker-compose: uprev 1.25.5 > 1.26.0
The major changes include:
d4451659 Bump 1.26.0
3d94f442 Bump 1.26.0-rc5
1386a855 Merge pull request #7485 from ulyssessouza/fix-https-daemon
8034c96d Bump docker-py
48d09369 Fix flake8 errors
28bf47ce Pin wcwidth==0.1.9
d279b7a8 Bump 1.26.0-rc4
83371df2 Merge branch 'master' into 1.26.x
9c5351cf Merge pull request #7389 from ulyssessouza/general-bumps-for-1_26
836e2b7c General bumps
266d287e Merge pull request #7390 from ulyssessouza/remove-unused-resources
d64f3f39 Remove unused files
4e310a94 Merge pull request #7386 from ulyssessouza/bump-python-dotenv-1_13_0
d52b51e8 Bump python-dotenv from 0.11.0 to 0.13.0
64a6a48b Merge pull request #7345 from docker/dependabot/pip/certifi-2020.4.5.1
0979c7a1 Merge pull request #7380 from joehattori/simplify-code
ce782b59 Simplify code in compose/config/config.py
b7d6dc79 Bump certifi from 2019.11.28 to 2020.4.5.1
c22a2510 Merge pull request #7374 from ulyssessouza/fix-distro-guess
a62a1e1d Add "distro" package
afc5d205 Merge pull request #7371 from ulyssessouza/bump-openssl-111f
4d2afc07 Merge pull request #7372 from ulyssessouza/update-changelog

Have verified on arm/arm64/x86_64 against:
https://docs.docker.com/compose/gettingstarted

Signed-off-by: Ming Liu <ming.liu@toradex.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-07-01 12:43:16 -04:00
Ricardo Salveti
c0a3b6526b python3-docker-compose: update to 1.25.5
Main change is support for the compose format version 3.8.

Relevant git changes between versions:
- 41d229eb Fix v3.8 schema support for binaries
- 15bb3eeb add warning when max_replicas_per_node limits scale
- 5d34f12f set min engine version needed for v38 schema support
- 82873d2b update api version for 3.8
- fe832661 Add v3.8 schema support

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-05-05 23:05:26 -04:00
Ricardo Salveti
9593a7dc20 python3-docker-compose: update to 1.25.4
Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-11 16:05:29 -05:00
Ming Liu
c1bc3963ba python3-docker-compose: import fastentrypoints
The docker-compose project is using console_scripts which hence imports
pkg_resources which is very slow at starting time, see:
https://github.com/pypa/setuptools/issues/510

This could be workaround by importing fastentrypoints module.

Some tests:

Before the patch, on a colibri-imx8x machine:

$ time docker-compose
```

real	0m5.108s
user	0m4.761s
sys	0m0.272s
```

After the patch, on a colibri-imx8x machine:

$ time docker-compose
```

real	0m3.526s
user	0m3.249s
sys	0m0.235s
```

Have verified the patch with:
https://docs.docker.com/compose/gettingstarted

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-02-03 17:10:58 -05:00
Ming Liu
ab12e48ad0 python3-docker-compose: uprev to 1.25.0
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-12-06 14:08:07 -05:00
Chen Qi
7d13954a89 python3-docker-compose: remove maximum version requirements
Remove maximum version requirements for docker-compose so that it
does not require old version recipes.

The old version recipes required are as below.
* PyYAML
* requests
* urllib3
* idna
* jsonschema

The current one has been tested against https://docs.docker.com/compose/gettingstarted/.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-11-27 17:57:10 -05:00
Li Zhou
04e0d9de8c python3-docker-compose: upgrade to version 1.21.2
The python3-docker-compose_1.16.1 requires 'docker<3.0, >=2.5.1', while
python3-docker 3.4.0 is provided. Error occurs when running
'docker-compose --version'.
Upgrade to python3-docker-compose_1.21.2 to make it work.

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-10-19 00:32:30 -04:00
Ricardo Salveti
0adcea047c python3-docker-compose: remove deprecated python3-enum from RDEPENDS
The python3-enum package was removed and it is now part of core.

Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-03-14 08:43:08 -04:00
Valerio De Benedetto
8b50c03cf3 add python3-terminal RDEPENDS to docker-compose recipe
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-01-18 10:45:25 -05:00
Pascal Bach
d16d4acc60 python3-docker-compose: add version 1.16.1 + dependencies
This requires some packages as well as the pypi.bbclass from meta-python.

It uses Python 3 as I don't think it makes sense to use Python 2 anymore.

Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-09-15 15:21:18 -04:00