Skip to content
Snippets Groups Projects
  1. Jun 18, 2019
    • Marek Svensson's avatar
      Fix default deployment of freezer, use mariadb. · 10bf6b05
      Marek Svensson authored
      
      This change defaults freezer to use mariadb as default backend for database
      and adds elasticsearch as an optional backend due to the requirement of
      freezer to use elasticsearch version 2.3.0. The default elasticsearch in
      kolla-ansible is 5.6.x and that doesn't work with freezer.
      
      Added needed options to the elasticsearch backend like:
       - protocol
       - address
       - port
       - number of replicas
      
      Change-Id: I88616c285bdb297fd1f738846ddffe1b08a7a827
      Signed-off-by: default avatarMarek Svensson <marek@marex.st>
      10bf6b05
  2. Jun 16, 2019
  3. Jun 07, 2019
  4. Jun 06, 2019
    • Pierre Riteau's avatar
      Stop duplicating Nova cells · 19b8dbe4
      Pierre Riteau authored
      Check if a base Nova cell already exists before calling `nova-manage
      cell_v2 create_cell`, which would otherwise create a duplicate cell when
      the transport URL or database connection change.
      
      If a base cell already exists but the connection values have changed, we
      now call `nova-manage cell_v2 update_cell` instead. This is only
      possible if a duplicate cell has not yet been created. If one already
      exists, we print a warning inviting the operator to perform a manual
      cleanup. We don't use a hard fail to avoid an abrupt change of behavior
      if this is backported to stable branches.
      
      Change-Id: I7841ce0cff08e315fd7761d84e1e681b1a00d43e
      Closes-Bug: #1734872
      19b8dbe4
  5. May 31, 2019
    • Gaetan Trellu's avatar
      Adds Qinling Ansible role · edb34898
      Gaetan Trellu authored
      Qinling is an OpenStack project to provide "Function as a Service".
      This project aims to provide a platform to support serverless functions.
      
      Change-Id: I239a0130f8c8b061b531dab530d65172b0914d7c
      Implements: blueprint ansible-qinling-support
      Story: 2005760
      Task: 33468
      edb34898
  6. May 22, 2019
    • Pierre Riteau's avatar
      Add ansible_nodename (system hostname) to /etc/hosts · 37899026
      Pierre Riteau authored
      Kolla-Ansible populates /etc/hosts with overcloud hosts using their API
      interface IP address. When configured correctly, this allows Nova to use
      the API interface for live migration of instances between compute hosts.
      
      The hostname used is from the `ansible_hostname` variable, which is a
      short hostname generated by Ansible using the first dot as a delimiter.
      However, Nova defaults to use the result of socket.gethostname() to
      register nova-compute services.
      
      In deployments where hostnames are set to FQDNs, for example when using
      FreeIPA, nova-compute would try to reach the other compute node using
      its FQDN (as registered in the Nova database), which was absent from
      /etc/hosts. This can result in failures to live migrate instances if
      DNS entries don't match.
      
      This commit populates /etc/hosts with `ansible_nodename` (hostname as
      reported by the system) in addition to `ansible_hostname`, if they are
      different.
      
      Change-Id: Id058aa1db8d60c979680e6a41f7f3e1c39f98235
      Closes-Bug: #1830023
      37899026
  7. May 17, 2019
    • Mark Goddard's avatar
      Fix keystone fernet key rotation scheduling · 6c1442c3
      Mark Goddard authored
      Right now every controller rotates fernet keys. This is nice because
      should any controller die, we know the remaining ones will rotate the
      keys. However, we are currently over-rotating the keys.
      
      When we over rotate keys, we get logs like this:
      
       This is not a recognized Fernet token <token> TokenNotFound
      
      Most clients can recover and get a new token, but some clients (like
      Nova passing tokens to other services) can't do that because it doesn't
      have the password to regenerate a new token.
      
      With three controllers, in crontab in keystone-fernet we see the once a day
      correctly staggered across the three controllers:
      
      ssh ctrl1 sudo cat /etc/kolla/keystone-fernet/crontab
      0 0 * * * /usr/bin/fernet-rotate.sh
      ssh ctrl2 sudo cat /etc/kolla/keystone-fernet/crontab
      0 8 * * * /usr/bin/fernet-rotate.sh
      ssh ctrl3 sudo cat /etc/kolla/keystone-fernet/crontab
      0 16 * * * /usr/bin/fernet-rotate.sh
      
      Currently with three controllers we have this keystone config:
      
      [token]
      expiration = 86400 (although, keystone default is one hour)
      allow_expired_window = 172800 (this is the keystone default)
      
      [fernet_tokens]
      max_active_keys = 4
      
      Currently, kolla-ansible configures key rotation according to the following:
      
         rotation_interval = token_expiration / num_hosts
      
      This means we rotate keys more quickly the more hosts we have, which doesn't
      make much sense.
      
      Keystone docs state:
      
         max_active_keys =
           ((token_expiration + allow_expired_window) / rotation_interval) + 2
      
      For details see:
      https://docs.openstack.org/keystone/stein/admin/fernet-token-faq.html
      
      Rotation is based on pushing out a staging key, so should any server
      start using that key, other servers will consider that valid. Then each
      server in turn starts using the staging key, each in term demoting the
      existing primary key to a secondary key. Eventually you prune the
      secondary keys when there is no token in the wild that would need to be
      decrypted using that key. So this all makes sense.
      
      This change adds new variables for fernet_token_allow_expired_window and
      fernet_key_rotation_interval, so that we can correctly calculate the
      correct number of active keys. We now set the default rotation interval
      so as to minimise the number of active keys to 3 - one primary, one
      secondary, one buffer.
      
      This change also fixes the fernet cron job generator, which was broken
      in the following cases:
      
      * requesting an interval of more than 1 day resulted in no jobs
      * requesting an interval of more than 60 minutes, unless an exact
        multiple of 60 minutes, resulted in no jobs
      
      It should now be possible to request any interval up to a week divided
      by the number of hosts.
      
      Change-Id: I10c82dc5f83653beb60ddb86d558c5602153341a
      Closes-Bug: #1809469
      6c1442c3
    • binhong.hua's avatar
      Make kolla-ansible support extra volumes · 12ff28a6
      binhong.hua authored
      When integrating 3rd party component into openstack with kolla-ansible,
      maybe have to mount some extra volumes to container.
      
      Change-Id: I69108209320edad4c4ffa37dabadff62d7340939
      Implements: blueprint support-extra-volumes
      12ff28a6
  8. Apr 10, 2019
    • Mark Goddard's avatar
      Remove RabbitMQ support from Bifrost · 33564a00
      Mark Goddard authored
      During the Train cycle, Bifrost switched to using JSON-RPC by default
      for Ironic's internal communication [1], avoiding the need to install
      RabbitMQ. This simplifies things, so we may as well remove our custom
      configuration of RabbitMQ.
      
      [1] https://review.openstack.org/645093
      
      Change-Id: I3107349530aa753d68fd59baaf13eb7dd5485ae6
      33564a00
  9. Apr 08, 2019
    • Mark Goddard's avatar
      Use ironic inspector 'dnsmasq' PXE filter by default · 86e83fae
      Mark Goddard authored
      With Docker CE, the daemon sets the default policy of the iptables
      FORWARD chain to DROP. This causes problems for provisioning bare metal
      servers when ironic inspector is used with the 'iptables' PXE filter.
      It's not entirely clear why these two things interact in this way,
      but switching to the 'dnsmasq' filter works around the issue, and is
      probably a good move anyway because it is more efficient.
      
      We have added a migration task here to flush and remove the ironic-inspector
      iptables chain since inspector does not do this itself currently.
      
      Change-Id: Iceed5a096819203eb2b92466d39575d3adf8e218
      Closes-Bug: #1823044
      86e83fae
    • Mark Goddard's avatar
      Do some Train TODOs · bb9d51e2
      Mark Goddard authored
      Make an early start on the TODOs for the Train cycle.
      
      1. Remove the task that removes the vitrage_collector container, which
         was added in the Stein cycle to clean up this container which is no
         longer deployed.
      
      2. Remove globals.yml configuration in CI to disable Heat for upgrade
         jobs. Heat is now enabled in the previous release (Stein).
      
      3. Remove the deprecated variable cinder_iscsi_helper, which was renamed
         to cinder_target_helper in Stein.
      
      Change-Id: I774bf395e0bdd4db9c20c6289a22cf059fa42e1a
      bb9d51e2
  10. Apr 05, 2019
    • OpenStack Release Bot's avatar
      Update master for stable/stein · ce6222ae
      OpenStack Release Bot authored
      Add file to the reno documentation build to show release notes for
      stable/stein.
      
      Use pbr instruction to increment the minor version number
      automatically so that master versions are higher than the versions on
      stable/stein.
      
      Change-Id: I4a9a0eab03f3dd06bf2214ed6d6e8db6af5bd032
      Sem-Ver: feature
      ce6222ae
  11. Mar 29, 2019
  12. Mar 14, 2019
    • Scott Solkhon's avatar
      Support separate Swift storage networks · a781c643
      Scott Solkhon authored
      Adds support to seperate Swift access and replication traffic from other storage traffic.
      
      In a deployment where both Ceph and Swift have been deployed,
      this changes adds functionalality to support optional seperation
      of storage network traffic. This adds two new network interfaces
      'swift_storage_interface' and 'swift_replication_interface' which maintain
      backwards compatibility.
      
      The Swift access network interface is configured via 'swift_storage_interface',
      which defaults to 'storage_interface'. The Swift replication network
      interface is configured via 'swift_replication_interface', which
      defaults to 'swift_storage_interface'.
      
      If a separate replication network is used, Kolla Ansible now deploys separate
      replication servers for the accounts, containers and objects, that listen on
      this network. In this case, these services handle only replication traffic, and
      the original account-, container- and object- servers only handle storage
      user requests.
      
      Change-Id: Ib39e081574e030126f2d08f51de89641ddb0d42e
      a781c643
    • caoyuan's avatar
      Add ceilometer_ipmi container into ceilometer role · 16900c2e
      caoyuan authored
      refer to [0]
      
      [0]: https://docs.openstack.org/ceilometer/latest/install/install-compute-rdo.html
      
      
      Co-Authored-By: default avatarzhulingjie <easyzlj@gmail.com>
      
      Change-Id: I4cda336dedb3d807b80d13bcc219268a8d667b4d
      16900c2e
  13. Mar 11, 2019
    • Erol Guzoglu's avatar
      Support the prometheus elasticsearch exporter · 14ab9a7c
      Erol Guzoglu authored
      This patch implements the support for the elasticsearch-exporter in
      kolla-ansible
      
      The configuration and prechecks are reused from the other exporters
      
      Depends-On: Id138f12e10102a6dd2cd8d84f2cc47aa29af3972
      Change-Id: Iae0eac0179089f159804490bf71f1cf2c38dde54
      14ab9a7c
  14. Mar 08, 2019
    • Doug Szumski's avatar
      Support customising Fluentd formatting · c8a22f10
      Doug Szumski authored
      In some scenarios it may be useful to perform custom formatting of logs
      before forwarding them. For example, the JSON formatter plugin can be
      used to convert an event to JSON.
      
      Change-Id: I3dd9240c5910a9477456283b392edc9566882dcd
      c8a22f10
    • Bai Yongjun's avatar
      Add cyborg to kolla-ansible · ed2fd243
      Bai Yongjun authored
      Because kolla-ansible not have cyborg so should add it.
      
      Implements: blueprint add-cyborg-to-kolla-ansible
      
      Depend-On: I497e67e3a754fccfd2ef5a82f13ccfaf890a6fcd
      
      Change-Id: I6f7ae86f855c5c64697607356d0ff3161f91b239
      ed2fd243
  15. Mar 01, 2019
    • Mark Goddard's avatar
      Use new cinder target_helper option · 1c22da32
      Mark Goddard authored
      The iscsi_helper option was deprecated in favour of target_helper in
      Queens, and will be removed in the Stein release.
      
      This also renames the cinder_iscsi_helper variable to
      cinder_target_helper, deprecating but still supporting the former name
      until the Train release.
      
      Change-Id: Ie38c09b2dd8598f62b0733c8444eec5f6ce3daac
      1c22da32
  16. Feb 22, 2019
    • Mark Goddard's avatar
      Improve standalone ironic support · 54965c87
      Mark Goddard authored
      Adds a new flag, 'enable_openstack_core', which defaults to 'yes'.
      Setting this flag to 'no' will disable the core OpenStack services,
      including Glance, Heat, Horizon, Keystone, Neutron, and Nova.
      
      Improves the default configuration of OpenStack Ironic when used in
      standalone mode. In particular, configures a noauth mode when Keystone
      is disabled, and allows the iPXE server to be used for provisioning as
      well as inspection if Neutron is disabled.
      
      Documentation for standalone ironic will be updated separately.
      
      This patch was developed and tested using Bikolla [1].
      
      [1] https://github.com/markgoddard/bikolla
      
      Change-Id: Ic47f5ad81b8126a51e52a445097f7950dba233cd
      Implements: blueprint standalone-ironic
      54965c87
  17. Jan 24, 2019
    • binhong.hua's avatar
      Link kolla_log volume dir to /var/log/kolla · 93e5e8e6
      binhong.hua authored
      The path /var/lib/docker/volumes/kolla_logs/_data/ is too long
      shorter log path will help to debug from log.
      The volume path is compatible with docker-engine and docker-ce.
      
      Change-Id: I9195d5f24d938f5060fe748aac3ae58c79ec5abf
      93e5e8e6
    • 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
  18. Jan 21, 2019
    • Jorge Niedbalski's avatar
      [prometheus] Support the prometheus openstack exporter · 6c64b7c7
      Jorge Niedbalski authored
      This patch implements the initial support for the
      openstack-exporter[0] in the kolla-ansible
      prometheus monitoring system.
      
      The configuration and prechecks are reused from the other
      exporters and a new template is provided for generating
      a os-client-config file required by the exporter.
      
      The default scrape interval is 60 seconds, but it can
      be extended via a configuration option.
      
      [0] https://github.com/Linaro/openstack-exporter
      
      Change-Id: I4a34c4bb56e74b5cd544972cbd6540d9acb6e4a1
      6c64b7c7
  19. Jan 18, 2019
    • binhong.hua's avatar
      optimize qemu.conf · 023334df
      binhong.hua authored
      bump up the max_files to 32768 and max_processes to 131072.
      when nova used ceph as backend, the default limit 1024 is not enough.
      each connection from rbd image to osd needs 1 fd and 2 threads. if we
      have 200 osds, we need 200 fds and 400 threads for 1 image.
      
      Change-Id: I94c3ec111473ea2ccacdea5dbbf3fdc9c569859f
      023334df
  20. Dec 24, 2018
    • weiyj's avatar
      hinese quotes · 7ace98d9
      weiyj authored
      Change-Id: I07e4e563538b4a47d9b1707b4e660531ccce7b9b
      7ace98d9
  21. Dec 21, 2018
    • Martin Chlumsky's avatar
      Allow custom horizon policy files for disabled openstack projects. · 18dd74ac
      Martin Chlumsky authored
      Currently, you cannot deploy custom policy files in horizon for disabled
      openstack projects that don't have a horizon plugin.
      
      This patch allows customizing disabled openstack projects policy files
      used by horizon.  For services that do not have horizon plugins, it
      creates variables of the form `enable_*_horizon_policy_file` and sets
      these to the relevant `enable_*` variables by default. This ensures
      backwards compatibility.
      
      This patch is useful when you are migrating to kolla-ansible from
      another deployment method one openstack project at a time and you have
      custom policy files deployed by the old method.
      
      Partially-Implements: blueprint docs-migrating-to-kolla
      Closes-Bug: #1809314
      Change-Id: Ifc33ef65759fa4831c24d177b272af5b45f80931
      18dd74ac
  22. Dec 17, 2018
    • Mark Goddard's avatar
      Support Docker CE in bootstrap-servers · 48aea563
      Mark Goddard authored
      Kolla Ansible's bootstrap-servers command provides support for
      installing the Docker engine. This is currently done using the packages
      at https://apt.dockerproject.org and https://yum.dockerproject.org.
      These packages are outdated, with the most recent packages from May 2017
      - docker-engine-17.05.
      
      The source for up to date docker packages is
      https://download.docker.com, which was introduced with the move to
      Docker Community Edition (CE) and Docker Enterprise Edition (EE).
      
      This change adds support to bootstrap-servers for Docker CE for CentOS
      and Ubuntu.
      
      It also adds a new variable, 'enable_docker_repo', which controls
      whether a package repository for Docker will be enabled.
      
      It also adds a new variable, 'docker_legacy_packages', which controls
      whether the legacy packages at dockerproject.org will be used or the
      newer packages at docker.com. The default value for this variable is
      'false', meaning to use Docker CE.
      
      Upgrading from docker-engine to docker-ce has been tested on CentOS 7.5
      and Ubuntu 16.04, by running 'kolla-ansible bootstrap-servers' with
      'docker_legacy_packages' set to 'false'. The upgrades were successful,
      but result in all containers being stopped. For this reason, the
      bootstrap-servers command checks running containers prior to upgrading
      packages, and ensures they are running after the package upgrade is
      complete.
      
      As mentioned in the release note, care should be taken when upgrading
      Docker with clustered services, which could lose quorum. To avoid this,
      use --serial or --limit to apply the change in batches.
      
      Change-Id: I6dfd375c868870f8646ef1a8f02c70812e8f6271
      Implements: blueprint docker-ce
      48aea563
    • Patrick O'Neill's avatar
      Add support for Quobyte backend to Cinder and Nova · f77cc87e
      Patrick O'Neill authored
      Add an enable_cinder_backend_quobyte option to etc/kolla/globals.yml to
      enable use the Quobyte Cinder backend.
      Change the bind mounts for /var/lib/nova/mnt to include the shared
      propogation if Quobyte is enabled.
      Update the documentation to include a section on configuring the Cinder.
      
      Implements: blueprint cinder-quobyte-backend
      
      Change-Id: I364939407ad244fe81cea40f880effdbcaa8a20d
      f77cc87e
  23. Dec 11, 2018
  24. 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
  25. Nov 30, 2018
  26. Nov 26, 2018
    • Eduardo Gonzalez's avatar
      Support stop specific containers · 1a682fab
      Eduardo Gonzalez authored
      With this change, an operator may be able to stop a
      service container without stopping all services in a host.
      This change is the starting point to start
      fast-forward upgrades support.
      In next changes new flags will be introducced to disable
      stop dataplane services during upgrades.
      
      Change-Id: Ifde7a39d7d8596ef0d7405ecf1ac1d49a459d9ef
      Implements: blueprint support-stop-containers
      1a682fab
  27. Nov 22, 2018
    • Nick Jones's avatar
      Add new option to perform an on-demand backup of MariaDB · f704a780
      Nick Jones authored
      blueprint database-backup-recovery
      
      Introduce a new option, mariadb_backup, which takes a backup of all
      databases hosted in MariaDB.
      
      Backups are performed using XtraBackup, the output of which is saved to
      a dedicated Docker volume on the target host (which defaults to the
      first node in the MariaDB cluster).
      
      It supports either full (the default) or incremental backups.
      
      Change-Id: Ied224c0d19b8734aa72092aaddd530155999dbc3
      f704a780
  28. Nov 21, 2018
    • Eduardo Gonzalez's avatar
      Add glance-cache support · cc9dae4d
      Eduardo Gonzalez authored
      Glance cache is used to keep a locally cache image
      in the glance_api service.
      Is an usefull service when an image is commonly used
      to speed times between pulling from storage backend
      and send to nova.
      
      Change-Id: I8e684cc10e4fee1cb52c17a126e3b11f69576cf6
      cc9dae4d
  29. Nov 20, 2018
  30. Nov 19, 2018
    • caoyuan's avatar
      Use correct variable for default certificate paths · 9223deee
      caoyuan authored
      The variable {{ node_config_directory }} is used for the configuration
      directory on the remote hosts, and should not be used for paths on the
      deploy host (localhost).
      
      This changes the default value of the TLS certificate and CA file to
      reference {{ CONFIG_DIR }}, in line with the directory used for
      admin-openrc.sh (as of I0709482ead4b7a67e82796e17f85bde151e71bc0).
      
      This change also introduces a variable, {{ node_config }}, that
      references {{ CONFIG_DIR | default('/etc/kolla') }}, to remove
      duplication.
      
      Change-Id: Ibd82ac78630ebfff5824c329d7399e1e900c0ee0
      Closes-Bug: #1804025
      9223deee
  31. Nov 06, 2018
    • Paul Bourke's avatar
      Remove deprecated compute groups · cf609ba3
      Paul Bourke authored
      The concept of splitting the compute group into external/internal just
      to specify agent_mode for Neutron DVR was deemed to be heavy handed, and
      depreacated in the Pike cycle.
      
      Now that Rocky has been released we can remove these completely for Stein.
      
      Change-Id: I28a1eba7f40fee55a7ec41c27451e39e4d7fd8f0
      cf609ba3
    • Mark Goddard's avatar
      Set ramdisk logs path for ironic inspector · 7ebf548f
      Mark Goddard authored
      If the [processing] ramdisk_logs_dir option is set, logs returned by the
      ironic inspection ramdisk following hardware inspection will be stored
      at that location. This enables easier debugging if inspection fails.
      
      Change-Id: I36bdf75c04b088b67b5f54fdf20251c10bdddb63
      7ebf548f
  32. Nov 02, 2018
    • Doug Szumski's avatar
      Add support for deploying Monasca Grafana · 712c8976
      Doug Szumski authored
      The Monasca Grafana fork allows users to log into Grafana with their
      OpenStack user credentials and see metrics associated with their
      OpenStack project. The long term goal is to enable Keystone support
      in upstream Grafana, but this work seems to have stalled.
      
      Partially-Implements: blueprint monasca-grafana
      Change-Id: Icc04613b2571c094ae23b66d0bcc38b58c0ee4e1
      712c8976
Loading