Skip to content
Snippets Groups Projects
  1. Feb 04, 2023
    • Michal Arbet's avatar
      Fix kolla_docker module · 63b9fa56
      Michal Arbet authored
      This patch fixes kolla_docker module
      as it did not take into account common_options
      parameter. From patchset it's visible that module's
      default values are used always - even if user overrided
      some param in common_options dict.
      
      Closes-Bug: #2003079
      
      Change-Id: I677fde708dd004decaff4bd39f2173d8d81052fb
      63b9fa56
  2. Feb 03, 2023
  3. Jan 19, 2023
  4. Jan 12, 2023
  5. Apr 05, 2022
  6. Jan 06, 2022
  7. May 30, 2021
  8. Apr 27, 2021
    • Radosław Piliszek's avatar
      Check config when checking the containers · c3afbd3c
      Radosław Piliszek authored
      The proposed approach allows for checking whether config
      files are current, e.g. cases when the deployment was aborted after
      config files were generated but before they were injected into the
      containers which lead to old config staying in containers.
      
      After this patch we can do:
        kolla-ansible genconfig
        kolla-ansible deploy-containers
      and it would do what we expected rather than being a noop
      in the second part.
      
      We also lose the need to have notifies
      and whens in config and handler sections respectively.
      This is optimised in a separate patch.
      
      Future work:
      - optimise for large files
        - could we get away with comparing timestamps and sizes?
          container's should have a newer timestamp due to copy,
          could also preserve it
      
      Change-Id: I1d26e48e1958f13b854d8afded4bfba5021a2dec
      Closes-Bug: #1848775
      Depends-On: https://review.opendev.org/c/openstack/kolla/+/773257
      
      
      Co-Authored-By: default avatarMark Goddard <mark@stackhpc.com>
      c3afbd3c
  9. Jan 23, 2021
    • likui's avatar
      remove unicode from code · 341a6ed0
      likui authored
      Change-Id: Id9110a1f536377cea0386dda6814035d73de13b1
      Implements: blueprint remove-unicode
      341a6ed0
  10. Dec 16, 2020
  11. Oct 04, 2020
    • Radosław Piliszek's avatar
      Coordinate haproxy and keepalived restarts · c2d0bf30
      Radosław Piliszek authored
      Keepalived and haproxy cooperate to provide control plane HA in
      kolla-ansible deployments.
      Certain care should be exerted to avoid prolonged availability
      loss during reconfigurations and upgrades.
      This patch aims to provide this care.
      There is nothing special about keepalived upgrade compared to
      reconfig, hence it is simplified to run the same code as for
      deploy.
      The broken logic of safe upgrade is replaced by common handler
      code which's goal is to ensure we down current master only after
      we have backups ready.
      
      This change introduces a switch to kolla_docker module that allows
      to ignore missing containers (as they are logically stopped).
      ignore_missing is the switch's name.
      All tests are included.
      
      Change-Id: I22ddec5f7ee4a7d3d502649a158a7e005fe29c48
      c2d0bf30
  12. Sep 30, 2020
  13. May 11, 2020
    • Will Szumski's avatar
      Stop mocking ansible modules globally · 4fcbdd77
      Will Szumski authored
      This causes non-local side effects that are hard to track down. E.g:
      
      --- import errors ---
      Failed to import test module: tests.test_merge_yaml
      Traceback (most recent call last):
        File "/home/will/.pyenv/versions/3.7.7/lib/python3.7/unittest/loader.py", line 436, in _find_test_path
          module = self._get_module_from_name(name)
        File "/home/will/.pyenv/versions/3.7.7/lib/python3.7/unittest/loader.py", line 377, in _get_module_from_name
          __import__(name)
        File "/home/will/code/kolla-ansible/tests/test_merge_yaml.py", line 19, in <module>
          from ansible.errors import AnsibleModuleError
      ModuleNotFoundError: No module named 'ansible.errors'; 'ansible' is not a package
      
      This `'ansible' is not a package` message occurs because ansible is a Mock.
      
      Depends-On: https://review.opendev.org/#/c/726768/
      Change-Id: Iddbdd3d855daadbf12536cc990559e6b8e123051
      4fcbdd77
  14. Apr 26, 2020
    • Radosław Piliszek's avatar
      Cleanup py27 support · 234272eb
      Radosław Piliszek authored
      Removes and/or replaces all mentions of py27.
      
      Cleans up obsolete requirements and their lower-constraints.
      
      Separates test-requirements.
      
      Makes lower-constraints pass outside of CI (MarkupSafe).
      
      Adds FIXMEs about some hacky Mocks that may misbehave.
      
      Change-Id: Ifc090bf3c1db17d8542ee591c91e8225a597bfe2
      234272eb
  15. Apr 04, 2020
    • Andreas Jaeger's avatar
      Update hacking for Python3 · 45448976
      Andreas Jaeger authored
      The repo is Python 3 now, so update hacking to version 3.0 which
      supports Python 3.
      
      Fix problems found by updated hacking version.
      
      Remove hacking and friends from lower-constraints, they are not needed
      during installation.
      
      Change-Id: I7ef5ac8a89e94f5da97780198619b6facc86ecfe
      45448976
  16. Apr 02, 2020
    • Radosław Piliszek's avatar
      Use unittest.mock instead of PyPI mock · 5648ad6e
      Radosław Piliszek authored
      Now that py2 is gone, oslotest dropped dependency on mock and will
      soon affect Ussuri CI [1], let's use unittest.mock built in py3.
      
      This also fixes py38 jobs and proactively prevents py36 and py37
      failing due to [1]. This is because we never included mock in
      test-requirements (but in lower-constraints where it does not
      really belong at all) and instead relied on oslotest to bring
      it in.
      
      [1] https://review.opendev.org/716322
      
      Change-Id: I30e82e2d87418272a71c7ee089a8acdaf8872158
      5648ad6e
  17. Nov 28, 2019
    • Mark Goddard's avatar
      Support configuration of Docker client timeout · 01050dc0
      Mark Goddard authored
      Adds support for configuration of the Docker client timeout via
      'docker_client_timeout'.
      
      This change also increases the default timeout to 120 seconds, as we
      sometimes see timeouts in CI and heavily loaded or underpowered
      environments. Increasing 'docker_client_timeout' further may be helpful
      in cases where Docker reports 'Read timed out'.
      
      Change-Id: I73745771078cb2c0ebae2b1d87ba2c4c12958d82
      Closes-Bug: #1809844
      01050dc0
  18. Nov 14, 2019
    • Mark Goddard's avatar
      Attempt to pull image before stopping and removing container · 64d07c0b
      Mark Goddard authored
      * Deploy services using kolla-ansible deploy
      * Reconfigure the image for one or more services to use an invalid
      * config
      * Deploy/reconfigure services using kolla-ansible reconfigure
      
      The invalid config could be a wrong docker registry, wrong image name,
      wrong tag, etc.
      
      The restart handler for the service fails, and the old container is
      left running.
      
      The restart handler for the service fails, and the old container is
      stopped and removed. This leaves the service in a broken state.
      
      This change fixes the issue by pulling the image if necessary prior to
      stopping and removing the container.
      
      Change-Id: I85b2a1b224d4c4d85c32c4922a2cd2c41171a1dc
      Closes-Bug: #1852572
      64d07c0b
  19. Aug 22, 2019
  20. Jul 18, 2019
    • Radosław Piliszek's avatar
      Fix handling of docker restart policy · 6a737b19
      Radosław Piliszek authored
      Docker has no restart policy named 'never'. It has 'no'.
      This has bitten us already (see [1]) and might bite us again whenever
      we want to change the restart policy to 'no'.
      
      This patch makes our docker integration honor all valid restart policies
      and only valid restart policies.
      All relevant docker restart policy usages are patched as well.
      
      I added some FIXMEs around which are relevant to kolla-ansible docker
      integration. They are not fixed in here to not alter behavior.
      
      [1] https://review.opendev.org/667363
      
      
      
      Change-Id: I1c9764fb9bbda08a71186091aced67433ad4e3d6
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      6a737b19
  21. Jun 07, 2019
  22. Mar 10, 2019
    • Victor Coutellier's avatar
      Fix kolla-docker possible undefined variable · 3bb4c199
      Victor Coutellier authored
      It is possible to reference undefined variable in kolla-docker module if
      DockerWorker object initialization fail, so the current behaviour will
      crash the playbook with the unwanted error message :
      
      UnboundLocalError: local variable 'dw' referenced before assignment
      
      Change-Id: Ic8d26b11f93255220888b5406f8ab4a6f81736c2
      Closes-Bug: #1819361
      3bb4c199
  23. Jan 24, 2019
    • binhong.hua's avatar
      add ulimit support for kolla_docker · 3d3f5f16
      binhong.hua authored
      By default, docker containers inherit ulimit from limits of docker
      deamon. On CentOS 7, docker daemon default NOFILE is 1048576.
      It can found in /usr/lib/systemd/system/docker.service.
      The big limit will cause many problem. we should control it in
      production environment.
      
      Change-Id: Iab962446a94ef092977728259d9818b86cfa7f68
      3d3f5f16
  24. Dec 14, 2018
    • Mark Goddard's avatar
      Create cells before starting nova services · 365bb517
      Mark Goddard authored
      Nova services may reasonably expect cell databases to exist when they
      start. The current cell setup tasks in kolla run after the nova
      containers have started, meaning that cells may or may not exist in the
      database when they start, depending on timing. In particular, we are
      seeing issues in kolla CI currently with jobs timing out waiting for
      nova compute services to start. The following error is seen in the nova
      logs of these jobs, which may or may not be relevant:
      
      No cells are configured, unable to continue
      
      This change creates the cell0 and cell1 databases prior to starting nova
      services.
      
      In order to do this, we must create new containers in which to run the
      nova-manage commands, because the nova-api container may not yet exist.
      This required adding support to the kolla_docker module for specifying a
      command for the container to run that overrides the image's command.
      
      We also add the standard output and error to the module's result when a
      non-detached container is run. A secondary benefit of this is that the
      output of bootstrap containers is now displayed in the Ansible output if
      the bootstrapping command fails, which will help with debugging.
      
      Change-Id: I2c1e991064f9f588f398ccbabda94f69dc285e61
      Closes-Bug: #1808575
      365bb517
  25. Dec 05, 2018
    • Eduardo Gonzalez's avatar
      Allow set tty for containers · 846c15d8
      Eduardo Gonzalez authored
      This change adds support to comfigure tty,
      it was enabled by default but a recent patch
      removed it. Some services such as Karaf in opendaylight
      requires a TTY during startup.
      
      Closes-Bug: #1806662
      Change-Id: Ia4335523b727d0e45505cbb1efb40ccf04c27db7
      846c15d8
  26. Nov 03, 2018
  27. Sep 14, 2018
  28. Jul 25, 2018
  29. Jul 12, 2018
  30. Apr 06, 2018
    • wangwei's avatar
      Fix ipc_mode comparison in the latest docker · 193ce726
      wangwei authored
      In old docker, if you do not specify ipc_mode, the default value is empty,
      but in the latest docker, such as 17.09.0, if not specified, the default
      is "IpcMode": "shareable", which will cause all containers to be deleted
      and re-create when to redeploy or upgrade. This commit solves the
      problem.
      
      Change-Id: Ia8269b9c8066880e4aee23d6fdea8d9c04c41e44
      Closes-Bug: #1747586
      193ce726
  31. Jan 26, 2018
    • Eduardo Gonzalez's avatar
      Add container state check in kolla_docker · 448a10df
      Eduardo Gonzalez authored
      Missing container status check in recreate_or_restart_container,
      this causes if the container is not running (kolla-ansible stop),
      to not be started with deploy/reconfigure/upgrade if any other param
      changes.
      
      Change-Id: I5cff5f367e963ba8b1807ec46469da817e40e468
      Closes-Bug: #1714015
      448a10df
  32. Jul 28, 2017
  33. Jul 14, 2017
    • Bertrand Lallau's avatar
      Remove warning during kolla_docker execution · 2d424ffb
      Bertrand Lallau authored
      Ansible check if modules parameters are named like
      %password% and allow to hidden log param in this case.
      This requires adding "no_log" parameters.
      This patch just add "no_log" param in order to avoid
      this warning.
      
      Change-Id: I9c1df1093e0fd101090292d6e8bf3527f99aeb17
      Closes-Bug: #1702244
      2d424ffb
  34. Jul 10, 2017
  35. Jun 08, 2017
    • lingyongxu's avatar
      Remove unnecessary setUp function in testcase · 18449a22
      lingyongxu authored
      In testcase, setUp will be called automatically. This patch used to
      remove setUp functions that do nothing. Besides, it will keep code clean.
      
      Change-Id: I60e368dc066af30ce2e53bf7e4cc7bba69387cd8
      18449a22
  36. Apr 13, 2017
    • Duong Ha-Quang's avatar
      Add graceful_timeout argument to kolla_docker · d9293595
      Duong Ha-Quang authored
      Currently, when stoping/restarting container, Kolla uses default timeout value
      between SIGTERM and SIGKILL provided by docker which is 10 sec. But some
      services require more than it to finish graceful shutdown progress.
      
      This patchset adds graceful_timeout to kolla_docker to override the default
      one.
      
      Partial Implements: bp signaling-to-container
      
      Change-Id: Ica0b48a53c650cc23dfa1955027d2cf936a5932f
      d9293595
  37. Apr 06, 2017
    • Mohammed Naser's avatar
      Switch kolla_docker to rely on SHA256 for image changes · 27d675ea
      Mohammed Naser authored
      At the moment, the process to determine if an image has
      changed or not relies on the Docker API which depending
      on the Docker release server can return different results.
      
      This patch addresses this issue by grabbing the SHA256
      of the image before pulling (defaulting to None if it does
      not exist) and then comparing it after the pull is complete
      which should always be successful at determining if the
      image did change or not.
      
      The test for unknown status images is removed because this
      is not a possible scenario as we do not rely on status
      anymore except for failures (which are still tested).
      
      Change-Id: Ia60a7f34420b02f50597dddb96a4c36ff3996612
      Closes-Bug: #1668059
      Unverified
      27d675ea
  38. Feb 16, 2017
    • Abel Lopez's avatar
      Change python interpreter · 8b90fb6d
      Abel Lopez authored
      There is inconsistent use of either `/usr/bin/python` or
      `/usr/bin/env python`. This makes for unexpected results when a
      user might be using a virtualenv.
      
      Change-Id: Ibb030f920a8869f9113ade70b66a921cc815060d
      Unverified
      8b90fb6d
  39. Feb 03, 2017
    • Jeffrey Zhang's avatar
      Fix the pid_mode and ipc_mode value check for kolla_docker module · a3acd2c4
      Jeffrey Zhang authored
      bypass_checks is disabled by Ib2e19794bbe804470a880253d5870254041358c8 .
      But we use pid_mode: "{{ service.pid_mode | default('') }}" pattern in
      the yaml file. whereas pid_mode only support "host" value, this patch
      add '' as a choice of these two parameters.
      
      Change-Id: Ib83ed5e437ca868f0e42ce740ad1125d2fa48ff4
      a3acd2c4
  40. Feb 02, 2017
Loading