Skip to content
Snippets Groups Projects
  1. Aug 22, 2019
    • Krzysztof Klimonda's avatar
      Implement TLS encryption for internal endpoints · b0ecd8b6
      Krzysztof Klimonda authored
      This review is the first one in a series of patches and it introduces an
      optional encryption for internal openstack endpoints, implementing part
      of the add-ssl-internal-network spec.
      
      Change-Id: I6589751626486279bf24725f22e71da8cd7f0a43
      b0ecd8b6
  2. Aug 15, 2019
    • Rafael Weingärtner's avatar
      Standardize the configuration of "oslo_messaging" section · 22a6223b
      Rafael Weingärtner authored
      After all of the discussions we had on
      "https://review.opendev.org/#/c/670626/2", I studied all projects that
      have an "oslo_messaging" section. Afterwards, I applied the same method
      that is already used in "oslo_messaging" section in Nova, Cinder, and
      others. This guarantees that we have a consistent method to
      enable/disable notifications across projects based on components (e.g.
      Ceilometer) being enabled or disabled. Here follows the list of
      components, and the respective changes I did.
      
      * Aodh:
      The section is declared, but it is not used. Therefore, it will
      be removed in an upcomming PR.
      
      * Congress:
      The section is declared, but it is not used. Therefore, it will
      be removed in an upcomming PR.
      
      * Cinder:
      It was already properly configured.
      
      * Octavia:
      The section is declared, but it is not used. Therefore, it will
      be removed in an upcomming PR.
      
      * Heat:
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Ceilometer:
      Ceilometer publishes some messages in the rabbitMQ. However, the
      default driver is "messagingv2", and not ''(empty) as defined in Oslo;
      these configurations are defined in ceilometer/publisher/messaging.py.
      Therefore, we do not need to do anything for the
      "oslo_messaging_notifications" section in Ceilometer
      
      * Tacker:
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Neutron:
      It was already properly configured.
      
      * Nova
      It was already properly configured. However, we found another issue
      with its configuration. Kolla-ansible does not configure nova
      notifications as it should. If 'searchlight' is not installed (enabled)
      the 'notification_format' should be 'unversioned'. The default is
      'both'; so nova will send a notification to the queue
      versioned_notifications; but that queue has no consumer when
      'searchlight' is disabled. In our case, the queue got 511k messages.
      The huge amount of "stuck" messages made the Rabbitmq cluster
      unstable.
      
      https://bugzilla.redhat.com/show_bug.cgi?id=1478274
      https://bugs.launchpad.net/ceilometer/+bug/1665449
      
      * Nova_hyperv:
      I added the same configurations as in Nova project.
      
      * Vitrage
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Searchlight
      I created a mechanism similar to what we have in AODH, Cinder, Nova,
      and others.
      
      * Ironic
      I created a mechanism similar to what we have in AODH, Cinder, Nova,
      and others.
      
      * Glance
      It was already properly configured.
      
      * Trove
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Blazar
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Sahara
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Watcher
      I created a mechanism similar to what we have in AODH, Cinder, Nova,
      and others.
      
      * Barbican
      I created a mechanism similar to what we have in Cinder, Nova,
      and others. I also added a configuration to 'keystone_notifications'
      section. Barbican needs its own queue to capture events from Keystone.
      Otherwise, it has an impact on Ceilometer and other systems that are
      connected to the "notifications" default queue.
      
      * Keystone
      Keystone is the system that triggered this work with the discussions
      that followed on https://review.opendev.org/#/c/670626/2
      
      . After a long
      discussion, we agreed to apply the same approach that we have in Nova,
      Cinder and other systems in Keystone. That is what we did. Moreover, we
      introduce a new topic "barbican_notifications" when barbican is
      enabled. We also removed the "variable" enable_cadf_notifications, as
      it is obsolete, and the default in Keystone is CADF.
      
      * Mistral:
      It was hardcoded "noop" as the driver. However, that does not seem a
      good practice. Instead, I applied the same standard of using the driver
      and pushing to "notifications" queue if Ceilometer is enabled.
      
      * Cyborg:
      I created a mechanism similar to what we have in AODH, Cinder, Nova,
      and others.
      
      * Murano
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Senlin
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Manila
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Zun
      The section is declared, but it is not used. Therefore, it will
      be removed in an upcomming PR.
      
      * Designate
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      * Magnum
      It was already using a similar scheme; I just modified it a little bit
      to be the same as we have in all other components
      
      Closes-Bug: #1838985
      
      Change-Id: I88bdb004814f37c81c9a9c4e5e491fac69f6f202
      Signed-off-by: default avatarRafael Weingärtner <rafael@apache.org>
      22a6223b
    • Kien Nguyen's avatar
      Add Masakari Ansible role · 577bb50a
      Kien Nguyen authored
      Masakari provides Instances High Availability Service for
      OpenStack clouds by automatically recovering failed Instances.
      
      Depends-On: https://review.openstack.org/#/c/615469/
      
      
      Change-Id: I0b3457232ee86576022cff64eb2e227ff9bbf0aa
      Implements: blueprint ansible-masakari
      Co-Authored-By: default avatarGaëtan Trellu <gaetan.trellu@incloudus.com>
      577bb50a
  3. Aug 14, 2019
    • Scott Solkhon's avatar
      Add missing when condition for swift config files · 8acbb32b
      Scott Solkhon authored
      Change-Id: If5bba855a6e34c971fdb1ceb6f10dba62e54b811
      8acbb32b
    • Scott Solkhon's avatar
      Fix idempotency of fluentd customisations · dcaa5f0b
      Scott Solkhon authored
      Fix fluentd config from overwriting custom config with the same filename
      
      Closes-Bug: #1840166
      Change-Id: I42c5446381033015f590901b2120950d602f847f
      dcaa5f0b
    • Scott Solkhon's avatar
      Add missing Octavia policy file to Horizon · b3d07a4b
      Scott Solkhon authored
      This commit adds the missing policy file for Octavia
      in Horizon, thus enabling the panel where appropriate.
      
      Change-Id: I60f1a52de71519f2d8bd84baa8aba5700fa75b1c
      b3d07a4b
    • Scott Solkhon's avatar
      Add support for Swift S3 API · d72b27f2
      Scott Solkhon authored
      This feature is disabled by default, and can be enabled by setting
      'enable_swift_s3api' to 'true' in globals.yml.
      
      Two middlewares are required for Swift S3 - s3api and s3token. Additionally, we
      need to configure the authtoken middleware to delay auth decisions to give
      s3token a chance to authorise requests using EC2 credentials.
      
      Change-Id: Ib8e8e3a1c2ab383100f3c60ec58066e588d3b4db
      d72b27f2
  4. Aug 13, 2019
  5. Aug 12, 2019
  6. Aug 08, 2019
    • Radosław Piliszek's avatar
      Fix FWaaS service provider (v2, Stein issue) · 85a5fb55
      Radosław Piliszek authored
      Because we merged both [1] and [2] in master,
      we got broken FWaaS.
      This patch unbreaks it and is required to backport
      to Stein due to [2] backport waiting for merge,
      while [1] is already backported.
      
      [1] https://review.opendev.org/661704
      [2] https://review.opendev.org/668406
      
      
      
      Change-Id: I74427ce9b937c42393d86574614603bd788606af
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      85a5fb55
    • Doug Szumski's avatar
      Support namespacing RabbitMQ logs · 339ea2bd
      Doug Szumski authored
      The RabbitMQ role supports namespacing the service via the
      project_name. For example, if you change the project_name, the
      container name and config directory will be renamed accordingly. However
      the log folder is currently fixed, even though the service tries to
      write to one named after the project_name. This change fixes that.
      
      Whilst you might generally use vhosts, running multiple RabbitMQ
      services on a single node is useful at the very least for testing,
      or for running 'outward RabbitMQ' on the same node.
      
      This change is part of the work to support Cells v2.
      
      Partially Implements: blueprint support-nova-cells
      Change-Id: Ied2c24c01571327ea532ba0aaf2fc5e89de8e1fb
      339ea2bd
  7. Aug 07, 2019
    • Michal Nasiadka's avatar
      Add support for sha256 in ceph key distribution · ad9e8786
      Michal Nasiadka authored
      - add support for sha256 in bslurp module
      - change sha1 to sha256 in ceph-mon ansible role
      
      Depends-On: https://review.opendev.org/655623
      Change-Id: I25e28d150f2a8d4a7f87bb119d9fb1c46cfe926f
      Closes-Bug: #1826327
      ad9e8786
    • Marcin Juszkiewicz's avatar
      Stop using MountFlags=shared in Docker configuration · 35941738
      Marcin Juszkiewicz authored
      According to Docker upstream release notes [1] MountFlags should be
      empty.
      
      1. https://docs.docker.com/engine/release-notes/#18091
      
      "Important notes about this release
      
      In Docker versions prior to 18.09, containerd was managed by the Docker
      engine daemon. In Docker Engine 18.09, containerd is managed by systemd.
      Since containerd is managed by systemd, any custom configuration to the
      docker.service systemd configuration which changes mount settings (for
      example, MountFlags=slave) breaks interactions between the Docker Engine
      daemon and containerd, and you will not be able to start containers.
      
      Run the following command to get the current value of the MountFlags
      property for the docker.service:
      
      sudo systemctl show --property=MountFlags docker.service
      MountFlags=
      
      Update your configuration if this command prints a non-empty value for
      MountFlags, and restart the docker service."
      
      Closes-bug: #1833835
      
      Change-Id: I4f4cbb09df752d00073a606463c62f0a6ca6c067
      35941738
    • Mark Goddard's avatar
      Enable iscsid on cinder-backup hosts · ec075240
      Mark Goddard authored
      
      Without this we may see the following error in cinder-backup when using
      the LVM backend:
      
          Could not login to any iSCSI portal
      
      Enabling the iscsid container on hosts in the cinder-backup group fixes
      this.
      
      Closes-Bug: #1838624
      
      Change-Id: If373c002b0744ce9dbdffed50a02bab55dd0acb9
      Co-Authored-By: default avatardmitry-a-grachev <dmitry.a.grachev@gmail.com>
      ec075240
  8. Aug 06, 2019
  9. Aug 05, 2019
    • wangwei's avatar
      Support mon and osd to be named with hostname · cd519db1
      wangwei authored
      In the current deployment of ceph, the node name of osd and the name
      of mon are both IP, and other daemons use hostname.
      
      This commit adds support for naming mon and osd nodes using hostname,
      and does not change the default ip-named way.
      
      Change-Id: I22bef72dcd8fc8bcd391ae30e4643520250fd556
      cd519db1
    • pangliye's avatar
      Add Kafka input to telegraf config · 93e86836
      pangliye authored
      Change-Id: I9a8d3dc5f311d4ea4e5d9b03d522632abc66a7ac
      93e86836
    • Radosław Piliszek's avatar
      Do not require EPEL repo on RHEL-based target hosts · 67cedb7a
      Radosław Piliszek authored
      This change makes kolla-ansible more compatible with
      RHEL which does not provide epel-release package.
      
      EPEL was required to install simplejson from rpm
      which was an ansible requirement when used python
      version was below 2.5 ([1]). This has been obsolete for
      quite a time so it's a good idea to get rid of it.
      
      This change includes update of docs to read more properly.
      
      [1] https://docs.ansible.com/ansible/2.3/intro_installation.html
      
      
      
      Change-Id: I825431d41fbceb824baff27130d64dabe4475d33
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      67cedb7a
    • Radosław Piliszek's avatar
      ceph: fixes to deployment and upgrade · 826f6850
      Radosław Piliszek authored
      1) ceph-nfs (ganesha-ceph) - use NFSv4 only
      This is recommended upstream.
      v3 and UDP require portmapper (aka rpcbind) which we
      do not want, except where Ubuntu ganesha version (2.6)
      forces it by requiring enabled UDP, see [1].
      The issue has been fixed in 2.8, included in CentOS.
      Additionally disable v3 helper protocols and kerberos
      to avoid meaningless warnings.
      
      2) ceph-nfs (ganesha-ceph) - do not export host dbus
      It is not in use. This avoids the temptation to try
      handling it on host.
      
      3) Properly handle ceph services deploy and upgrade
      Upgrade runs deploy.
      The order has been corrected - nfs goes after mds.
      Additionally upgrade takes care of rgw for keystone
      (for swift emulation).
      
      4) Enhance ceph keyring module with error detection
      Now it does not blindly try to create a keyring after
      any failure. This used to hide real issue.
      
      5) Retry ceph admin keyring update until cluster works
      Reordering deployment caused issue with ceph cluster not being
      fully operational before taking actions on it.
      
      6) CI: Remove osd df from collected logs as it may hang CI
      Hangs are caused by healthy MON and no healthy MGR.
      A descriptive note is left in its place.
      
      7) CI: Add 5s timeout to ceph informational commands
      This decreases the timeout from the default 300s.
      
      [1] https://review.opendev.org/669315
      
      
      
      Change-Id: I1cf0ad10b80552f503898e723f0c4bd00a38f143
      Signed-off-by: default avatarRadosław Piliszek <radoslaw.piliszek@gmail.com>
      826f6850
  10. Aug 02, 2019
    • chenxing's avatar
      Remove unnecessary option from group_vars/all.yml · a1ab06d2
      chenxing authored
      We often specific the project name after "{{ node_config_directory }}",
      for example,
      ``{{ node_config_directory }}/cinder-api/:{{ container_config_directory }}/:ro``.
      As the  "{{ project }}" option is not configured, This line was
      generated with:
      ``/etc/kolla//cinder-api/:...``
      There would be double slash exists. It's OK, but confusing.
      
      Change-Id: I82e6a91b2c541e38cf8e97896842149b31244688
      Closes-Bug: #1838259
      a1ab06d2
  11. Jul 30, 2019
  12. Jul 23, 2019
  13. Jul 18, 2019
    • Jason's avatar
      Do not recreate Blazar DB if using preconfigured · 7d284761
      Jason authored
      Most other services already gate the DB bootstrap operations with the
      'use_preconfigured_databases' variable; Blazar did not.
      
      Change-Id: I772b1cb92612c7e6936f052ed9947f93582f264c
      Unverified
      7d284761
    • Jason Anderson's avatar
      [gnocchi] Don't recursively modify file perms on start · 464fefb1
      Jason Anderson authored
      For deployments with a lot of Gnocchi data, this is a non-starter
      (literally... the service basically can't start.) There maybe needs to
      be a way to configure this, or only do it during deploy/bootstrap?
      Unclear, but disabling for now; users can `chown -R gnocchi:gnocchi`
      themselves in the meantime if need be.
      
      Change-Id: I0bae6dfbbee9f63506c89bd6b392e7be07fd5930
      Unverified
      464fefb1
    • Mark Goddard's avatar
      Fix glance bootstrap with file backend · 1abd15d4
      Mark Goddard authored
      Change https://review.opendev.org/#/c/670247/ attempted to fix glance
      deployment with the file backend. However, it added a new bug by being
      more strict about only generating configuration where the container will
      be deployed. This means that the current method of running the glance
      bootstrap container on any host in glance-api group could be broken,
      since it needs the container configuration.
      
      This change only runs the bootstrap container on hosts in the
      glance_api_hosts list, which in the case of the file backend typically
      only contains one host.
      
      This change also fixes up some logic during rolling upgrade, where we
      might not generate new configuration for the bootstrap host.
      
      Change-Id: I83547cd83b06ddefb3a9e1f39844537bdb32bd7f
      Related-Bug: #1836151
      1abd15d4
    • 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
  14. Jul 16, 2019
    • Michal Nasiadka's avatar
      ceph-nfs: Add rpcbind to Ubuntu host bootstrap · efcaf400
      Michal Nasiadka authored
      * Ubuntu ships with nfs-ganesha 2.6.0, which requires to do an rpcbind
      udp test on startup (was fixed later)
      * Add rpcbind package to be installed by kolla-ansible bootstrap when
      ceph_nfs is enabled
      * Update Ceph deployment docs with a note
      
      Change-Id: Ic19264191a0ed418fa959fdc122cef543446fbe5
      efcaf400
  15. Jul 12, 2019
    • Mark Goddard's avatar
      Fix ironic inspector iPXE boot with UEFI · 7b939756
      Mark Goddard authored
      The ironic inspector iPXE configuration includes the following kernel
      argument:
      
      initrd=agent.ramdisk
      
      However, the ramdisk is actually called ironic-agent.initramfs, so the
      argument should be:
      
      initrd=ironic-agent.initramfs
      
      In BIOS boot mode this does not cause a problem, but for compute nodes
      with UEFI enabled, it seems to be more strict about this, and fails to
      boot.
      
      Change-Id: Ic84f3b79fdd3cd1730ca2fb79c11c7a4e4d824de
      Closes-Bug: #1836375
      7b939756
    • Mark Goddard's avatar
      During deploy, always sync DB · d5e5e885
      Mark Goddard authored
      A common class of problems goes like this:
      
      * kolla-ansible deploy
      * Hit a problem, often in ansible/roles/*/tasks/bootstrap.yml
      * Re-run kolla-ansible deploy
      * Service fails to start
      
      This happens because the DB is created during the first run, but for some
      reason we fail before performing the DB sync. This means that on the second run
      we don't include ansible/roles/*/tasks/bootstrap_service.yml because the DB
      already exists, and therefore still don't perform the DB sync. However this
      time, the command may complete without apparent error.
      
      We should be less careful about when we perform the DB sync, and do it whenever
      it is necessary. There is an argument for not doing the sync during a
      'reconfigure' command, although we will not change that here.
      
      This change only always performs the DB sync during 'deploy' and
      'reconfigure' commands.
      
      Change-Id: I82d30f3fcf325a3fdff3c59f19a1f88055b566cc
      Closes-Bug: #1823766
      Closes-Bug: #1797814
      d5e5e885
  16. Jul 11, 2019
    • Mark Goddard's avatar
      Fix glance with file backend · 602f89ba
      Mark Goddard authored
      Since https://review.opendev.org/647699/, we lost the logic to only
      deploy glance-api on a single host when using the file backend.
      
      This code was always a bit custom, and would be better supported by
      using the 'host_in_groups' pattern we have in a few other places where a
      single group name does not describe the placement of containers for a
      service.
      
      Change-Id: I21ce4a3b0beee0009ac69fecd0ce24efebaf158d
      Closes-Bug: #1836151
      602f89ba
  17. Jul 10, 2019
  18. Jul 08, 2019
    • Mark Goddard's avatar
      Fix nova deploy with Ansible<2.8 · 5be093ac
      Mark Goddard authored
      Due to a bug in ansible, kolla-ansible deploy currently fails in nova
      with the following error when used with ansible earlier than 2.8:
      
      TASK [nova : Waiting for nova-compute services to register themselves]
      *********
      task path:
      /home/zuul/src/opendev.org/openstack/kolla-ansible/ansible/roles/nova/tasks/discover_computes.yml:30
      fatal: [primary]: FAILED! => {
          "failed": true,
          "msg": "The field 'vars' has an invalid value, which
              includes an undefined variable. The error was:
              'nova_compute_services' is undefined\n\nThe error
              appears to have been in
              '/home/zuul/src/opendev.org/openstack/kolla-ansible/ansible/roles/nova/tasks/discover_computes.yml':
              line 30, column 3, but may\nbe elsewhere in the file
              depending on the exact syntax problem.\n\nThe
              offending line appears to be:\n\n\n- name: Waiting
              for nova-compute services to register themselves\n ^
                  here\n"
      }
      
      Example:
      http://logs.openstack.org/00/669700/1/check/kolla-ansible-centos-source/81b65b9/primary/logs/ansible/deploy
      
      This was caused by
      https://review.opendev.org/#/q/I2915e2610e5c0b8d67412e7ec77f7575b8fe9921,
      which hits upon an ansible bug described here:
      https://github.com/markgoddard/ansible-experiments/tree/master/05-referencing-registered-var-do-until.
      
      We can work around this by not using an intermediary variable.
      
      Change-Id: I58f8fd0a6e82cb614e02fef6e5b271af1d1ce9af
      Closes-Bug: #1835817
      5be093ac
    • Mariusz's avatar
      Handle more return codes from nova-status upgrade check · c68ed4dd
      Mariusz authored
      In a single controller scenario, the "Upgrade status check result"
      does nothing because the previous task can only succeed when
      `nova-status upgrade check` returns code 0. This change allows this
      command to fail, so that the value of returned code stored in
      `nova_upgrade_check_stdout` can then be analysed.
      
      This change also allows for warnings (rc 1) to pass.
      Closes-Bug: 1834647
      
      Change-Id: I6f5e37832f43f23604920b9d890cc505ca924ff9
      c68ed4dd
  19. Jul 05, 2019
    • Mark Goddard's avatar
      Fixes for MariaDB bootstrap and recovery · 86f373a1
      Mark Goddard authored
      * Fix wsrep sequence number detection. Log message format is
        'WSREP: Recovered position: <UUID>:<seqno>' but we were picking out
        the UUID rather than the sequence number. This is as good as random.
      
      * Add become: true to log file reading and removal since
        I4a5ebcedaccb9261dbc958ec67e8077d7980e496 added become: true to the
        'docker cp' command which creates it.
      
      * Don't run handlers during recovery. If the config files change we
        would end up restarting the cluster twice.
      
      * Wait for wsrep recovery container completion (don't detach). This
        avoids a potential race between wsrep recovery and the subsequent
        'stop_container'.
      
      * Finally, we now wait for the bootstrap host to report that it is in
        an OPERATIONAL state. Without this we can see errors where the
        MariaDB cluster is not ready when used by other services.
      
      Change-Id: Iaf7862be1affab390f811fc485fd0eb6879fd583
      Closes-Bug: #1834467
      86f373a1
    • Michal Nasiadka's avatar
      Add mon address to ceph release version check · b2c17d60
      Michal Nasiadka authored
      Change-Id: Ia4801d09ff1165c44561fd286fc57e903da2c602
      b2c17d60
  20. Jul 04, 2019
    • Mark Goddard's avatar
      Deprecate Ceph deployment · e6d0e610
      Mark Goddard authored
      There are now several good tools for deploying Ceph, including Ceph
      Ansible and ceph-deploy. Maintaining our own Ceph deployment is a
      significant maintenance burden, and we should focus on our core mission
      to deploy OpenStack. Given that this is a significant part of kolla
      ansible currently we will need a long deprecation period and a migration
      path to another tool.
      
      Change-Id: Ic603c85c04d8794580a19f9efaa7a8589565f4f6
      Partially-Implements: blueprint remove-ceph
      e6d0e610
    • Christian Berendt's avatar
      Add parameters to configure number of processes and threads of horizon · dc3489df
      Christian Berendt authored
      Change-Id: Ib5490d504a5b7c9a37dda7babf1257aa661c11de
      dc3489df
Loading