Skip to content
Snippets Groups Projects
  1. Feb 13, 2020
    • Dincer Celik's avatar
      Follow up on Ansible version checking · 7b0022b9
      Dincer Celik authored
      The bash part of version checking fails when ANSIBLE_DEBUG is set
      while running kolla-ansible, so need to skip it.
      
      Change-Id: I4adc986365c4b0c11eb69e128eb7d037a24a2baf
      7b0022b9
  2. Jan 27, 2020
  3. Jan 24, 2020
  4. Jan 09, 2020
  5. Jan 08, 2020
    • Mark Goddard's avatar
      Configure Cinder to use lioadm on CentOS/RHEL 8 · 350bb171
      Mark Goddard authored
      In CentOS/RHEL 8 there is no scsi-target-utils package, nor is it
      available in EPEL. It is removed from kolla in [1]. In RHEL 7 and beyond
      the LIO kernel subsystem can be used instead of the tgtd daemon.
      
      This change removes support for the SCSI target daemon on CentOS/RHEL 8.
      The 'tgtd' image is no longer available for CentOS/RHEL 8.
      
      [1] https://review.openstack.org/#/c/613815/5
      
      Change-Id: I718fc16cde2dd177b2a1c2f79b932426034897fe
      Related: blueprint centos-rhel-8
      350bb171
  6. Dec 11, 2019
    • Mark Goddard's avatar
      CI: Use python3 for openstack clients · 5405cfec
      Mark Goddard authored
      This switches our test jobs to use python 3 for the installation of
      OpenStack clients used to test the control plane.
      
      Change-Id: I6bf0a315cef174c42a69db3a7d57f602b27ac92c
      Related: blueprint python 3
      5405cfec
  7. Dec 10, 2019
  8. Dec 09, 2019
    • Mark Goddard's avatar
      CI: Move ansible installation & configuration to Ansible · c320077f
      Mark Goddard authored
      Continue to reduce the scope of setup_gate.sh. Allows us to more easily
      select python 2 or 3.
      
      Change-Id: If2eeeacbbbdf58afb765b4a39772b5a1af7b952b
      Partially Implements: blueprint python-3
      c320077f
    • Mark Goddard's avatar
      Support python 3 in kolla-ansible script · 3a6577ba
      Mark Goddard authored
      The kolla-ansible script uses a python interpreter to detect the
      location of playbooks and to check that the kolla_ansible python module
      is importable. This change updates the script to support a python
      interpreter named python or python3.
      
      Partially Implements: blueprint python-3
      
      Change-Id: Id5dcc53cc5dd9780632c04b6b73c56ea5da484a2
      3a6577ba
  9. Nov 26, 2019
    • Mark Goddard's avatar
      Fix kolla_ansible python module check · 692d176c
      Mark Goddard authored
      The kolla-ansible script now (Train+) checks whether the kolla_ansible
      python module is installed, and emits the following message if not:
      
      ERROR: kolla_ansible has to be available in the PYTHONPATH (e.g.
      installed)
      
      It is supposed to exit 1 if this check fails, but does not.
      
      This change fixes this by removing a subshell from the kolla-ansible
      script.
      
      Change-Id: I2c1a7398f2b8f876abcf2508874835154cb4ce57
      Closes-Bug: #1854049
      692d176c
    • Radosław Piliszek's avatar
      CI: Refactor a lot · a2fc6841
      Radosław Piliszek authored
      Separate upgrade logic to is_upgrade job var and rename
      scenarios to match.
      
      Rename "ACTION" to "SCENARIO" (as it is a scenario).
      
      Separate testing of dashboard (aka Horizon) and increase
      its timeout to 5 minutes (CentOS 7 slow as always).
      
      Separate initialization of core OpenStack.
      
      Use gate setup script from ./tests/
      
      Remove useless tox setupenv.
      
      Do not deploy Heat when not really necessary.
      
      Change-Id: I4fca319ccc3de7188f8b7b44c9c71321e3899467
      a2fc6841
  10. Nov 24, 2019
  11. Nov 22, 2019
    • Michal Nasiadka's avatar
      Change local_action to delegate_to: localhost · 10099311
      Michal Nasiadka authored
      As part of the effort to implement Ansible code linting in CI
      (using ansible-lint) - we need to implement recommendations from
      ansible-lint output [1].
      
      One of them is to stop using local_action in favor of delegate_to -
      to increase readability and and match the style of typical ansible
      tasks.
      
      [1]: https://review.opendev.org/694779/
      
      Partially implements: blueprint ansible-lint
      
      Change-Id: I46c259ddad5a6aaf9c7301e6c44cd8a1d5c457d3
      10099311
  12. Nov 15, 2019
  13. Nov 07, 2019
  14. Oct 26, 2019
  15. Oct 16, 2019
    • Radosław Piliszek's avatar
      Implement IPv6 support in the control plane · bc053c09
      Radosław Piliszek authored
      Introduce kolla_address filter.
      Introduce put_address_in_context filter.
      
      Add AF config to vars.
      
      Address contexts:
      - raw (default): <ADDR>
      - memcache: inet6:[<ADDR>]
      - url: [<ADDR>]
      
      Other changes:
      
      globals.yml - mention just IP in comment
      
      prechecks/port_checks (api_intf) - kolla_address handles validation
      
      3x interface conditional (swift configs: replication/storage)
      
      2x interface variable definition with hostname
      (haproxy listens; api intf)
      
      1x interface variable definition with hostname with bifrost exclusion
      (baremetal pre-install /etc/hosts; api intf)
      
      neutron's ml2 'overlay_ip_version' set to 6 for IPv6 on tunnel network
      
      basic multinode source CI job for IPv6
      
      prechecks for rabbitmq and qdrouterd use proper NSS database now
      
      MariaDB Galera Cluster WSREP SST mariabackup workaround
      (socat and IPv6)
      
      Ceph naming workaround in CI
      TODO: probably needs documenting
      
      RabbitMQ IPv6-only proto_dist
      
      Ceph ms switch to IPv6 mode
      
      Remove neutron-server ml2_type_vxlan/vxlan_group setting
      as it is not used (let's avoid any confusion)
      and could break setups without proper multicast routing
      if it started working (also IPv4-only)
      
      haproxy upgrade checks for slaves based on ipv6 addresses
      
      TODO:
      
      ovs-dpdk grabs ipv4 network address (w/ prefix len / submask)
      not supported, invalid by default because neutron_external has no address
      No idea whether ovs-dpdk works at all atm.
      
      ml2 for xenapi
      Xen is not supported too well.
      This would require working with XenAPI facts.
      
      rp_filter setting
      This would require meddling with ip6tables (there is no sysctl param).
      By default nothing is dropped.
      Unlikely we really need it.
      
      ironic dnsmasq is configured IPv4-only
      dnsmasq needs DHCPv6 options and testing in vivo.
      
      KNOWN ISSUES (beyond us):
      
      One cannot use IPv6 address to reference the image for docker like we
      currently do, see: https://github.com/moby/moby/issues/39033
      (docker_registry; docker API 400 - invalid reference format)
      workaround: use hostname/FQDN
      
      RabbitMQ may fail to bind to IPv6 if hostname resolves also to IPv4.
      This is due to old RabbitMQ versions available in images.
      IPv4 is preferred by default and may fail in the IPv6-only scenario.
      This should be no problem in real life as IPv6-only is indeed IPv6-only.
      Also, when new RabbitMQ (3.7.16/3.8+) makes it into images, this will
      no longer be relevant as we supply all the necessary config.
      See: https://github.com/rabbitmq/rabbitmq-server/pull/1982
      
      For reliable runs, at least Ansible 2.8 is required (2.8.5 confirmed
      to work well). Older Ansible versions are known to miss IPv6 addresses
      in interface facts. This may affect redeploys, reconfigures and
      upgrades which run after VIP address is assigned.
      See: https://github.com/ansible/ansible/issues/63227
      
      Bifrost Train does not support IPv6 deployments.
      See: https://storyboard.openstack.org/#!/story/2006689
      
      
      
      Change-Id: Ia34e6916ea4f99e9522cd2ddde03a0a4776f7e2c
      Implements: blueprint ipv6-control-plane
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      bc053c09
  16. Oct 04, 2019
  17. Sep 26, 2019
    • Kris Lindgren's avatar
      Add a job that *only* deploys updated containers · 2fe0d98e
      Kris Lindgren authored
      Sometimes as cloud admins, we want to only update code that is running
      in a cloud.  But we dont need to do anything else.  Make an action in
      kolla-ansible that allows us to do that.
      
      Change-Id: I904f595c69f7276e71692696471e32fd1f88e6e8
      Implements: blueprint deploy-containers-action
      2fe0d98e
  18. Sep 11, 2019
  19. Aug 14, 2019
  20. Jul 16, 2019
    • Radosław Piliszek's avatar
      CI: clean up requirements installation · 8a543098
      Radosław Piliszek authored
      
      We install kolla-ansible requirements in Zuul's Ansible playbooks.
      This patch cleans up the installation in scripts so that they are
      only concerned with auxiliary requirements:
      - ansible (since we do not track it in requirements)
      - ara (for log summaries)
      - openstack clients (for first init and tests after deployment)
      
      Additionally this patch installs openstack clients in a separate
      virtualenv.
      Note that all kolla-ansible requirements, ansible and ara are still
      installed system-wide.
      
      Change-Id: Iac04082ad39a9d823c515ba11c5db9af50ed225f
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      8a543098
  21. Jul 10, 2019
    • Mark Goddard's avatar
      init-runonce: make public1 network optional · 3026fd91
      Mark Goddard authored
      Skip creation by setting ENABLE_EXT_NET to 0.
      
      Since adding errexit we are failing in kayobe CI, since we have a
      conflicting flat network on physnet1.
      
      Change-Id: I88429f30eb81a286f4b8104d5e7a176eefaad667
      3026fd91
  22. Jul 09, 2019
    • Mark Goddard's avatar
      Test minimum supported and latest versions of Ansible · b9da05be
      Mark Goddard authored
      We have a minimum supported version of Ansible, currently 2.5. We should
      test this in addition to the latest version. This change tests latest on
      Ubuntu, and minimum on other distros.
      
      Change-Id: I45a7173139f057177a71e919ad3e718a99d9f87b
      b9da05be
  23. Jul 02, 2019
    • Radosław Piliszek's avatar
      CI: Keep stderr in ansible logs · b9aa8b38
      Radosław Piliszek authored
      
      Otherwise ara had only the stderr part and logs only the
      stdout part which made ordered analysis harder.
      
      Additionally add -vvv for the bootstrap-servers run.
      
      Change-Id: Ia42ac9b90a17245e9df277c40bda24308ebcd11d
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      b9aa8b38
    • Mark Goddard's avatar
      Add upgrade-bifrost command · 9cac1137
      Mark Goddard authored
      This performs the same as a deploy-bifrost, but first stops the
      bifrost services and container if they are running.
      
      This can help where a docker stop may lead to an ungraceful shutdown,
      possibly due to running multiple services in one container.
      
      Change-Id: I131ab3c0e850a1d7f5c814ab65385e3a03dfcc74
      Implements: blueprint bifrost-upgrade
      Closes-Bug: #1834332
      9cac1137
  24. Jul 01, 2019
  25. Jun 28, 2019
    • Mark Goddard's avatar
      Exit on failure in init-runonce · bc08b44f
      Mark Goddard authored
      Previously we sourced this script in tests/deploy.sh, but this was
      recently changed. Following that change we lost the errexit setting,
      meaning we ignore errors in init-runonce.
      
      Adding errexit in the script itself means that all callers get error
      handling.
      
      Also log init-runonce output.
      
      TrivialFix
      
      Change-Id: I9b35bd5f0f76eec26ddd968d093a3a5fd55a7ce2
      bc08b44f
  26. Jun 21, 2019
  27. Jun 11, 2019
    • Mark Goddard's avatar
      Add CI job for ironic · 845040ad
      Mark Goddard authored
      Adds four new CI jobs for testing centos/ubuntu binary/source deploys
      with ironic enabled. These are run only when there are changes to the
      ironic role.
      
      Performs some simple testing by creating a node using the fake-hardware
      hardware type and creating a server.
      
      Change-Id: Ie669e57ce2af53257b4ca05f45193cb73f48827a
      Depends-On: https://review.opendev.org/664011
      845040ad
  28. Jun 06, 2019
    • Mark Goddard's avatar
      Check for 'become' in tasks that use Docker in pep8 · e474c6ca
      Mark Goddard authored
      We should use become: true for all tasks that use Docker.
      
      Change-Id: I5ce06cc6f2c7403a1c36aadf9e55068c780f05ac
      e474c6ca
    • Mark Goddard's avatar
      Use become for all docker tasks · b123bf66
      Mark Goddard authored
      Many tasks that use Docker have become specified already, but
      not all. This change ensures all tasks that use the following
      modules have become:
      
      * kolla_docker
      * kolla_ceph_keyring
      * kolla_toolbox
      * kolla_container_facts
      
      It also adds become for 'command' tasks that use docker CLI.
      
      Change-Id: I4a5ebcedaccb9261dbc958ec67e8077d7980e496
      b123bf66
  29. Jun 04, 2019
  30. Jun 03, 2019
    • Mark Goddard's avatar
      Test Ceph upgrade in CI · 78ee0287
      Mark Goddard authored
      Add CI jobs for testing an upgrade of a multinode system with Ceph
      enabled. As for the existing upgrade job, we upgrade from the previous
      release to the current release.
      
      Change-Id: I931772ca4c63757769467a57c80dc0726a11167a
      Depends-On: https://review.opendev.org/658163
      78ee0287
  31. May 24, 2019
  32. Apr 26, 2019
  33. Mar 27, 2019
    • Mark Goddard's avatar
      Test upgrades in CI · c23c9b2c
      Mark Goddard authored
      This patch adds two new jobs:
      
      * kolla-ansible-centos-source-upgrade
      * kolla-ansible-ubuntu-source-upgrade
      
      These jobs first deploy a control plane using the previous release of
      Kolla Ansible, then upgrade to the current release.
      
      Because we can't change the branch of the git repository on the Zuul
      executor, we change the branch of the kolla-ansible repository on the
      primary node to the branch of the previous release, in this case
      stable/rocky. A new remote-template role has been added that supports
      generating templates using a remote template source, to generate config
      files using the previous kolla-ansible branch.
      
      If the change being tested depends on a kolla change for the current
      branch, then we build images. Rather than using the current
      kolla-ansible version to tag the images, we now tag them with
      change_<gerrit change ID>. This is because the version of kolla-ansible
      will change from the previous release to the current one as we upgrade
      the system.
      
      Finally, it should be noted that the 'previous_release' variable in the
      Zuul config needs to be updated with each release, since this sets the
      release of kolla-ansible that is installed initially.
      
      Depends-On: https://review.openstack.org/645089/
      Depends-On: https://review.openstack.org/644250/
      Depends-On: https://review.openstack.org/645816/
      Depends-On: https://review.openstack.org/645840/
      Change-Id: If301e0affcd55360fefe3b105f023ae5c47b0853
      c23c9b2c
  34. Mar 15, 2019
Loading