Skip to content
Snippets Groups Projects
  1. Nov 04, 2022
  2. Oct 16, 2019
    • Doug Szumski's avatar
      Support multiple nova cells · 78a828ef
      Doug Szumski authored
      
      This patch adds initial support for deploying multiple Nova cells.
      
      Splitting a nova-cell role out from the Nova role allows a more granular
      approach to deploying and configuring Nova services.
      
      A new enable_cells flag has been added that enables the support of
      multiple cells via the introduction of a super conductor in addition to
      cell-specific conductors. When this flag is not set (the default), nova
      is configured in the same manner as before - with a single conductor.
      
      The nova role now deploys the global services:
      
      * nova-api
      * nova-scheduler
      * nova-super-conductor (if enable_cells is true)
      
      The nova-cell role handles services specific to a cell:
      
      * nova-compute
      * nova-compute-ironic
      * nova-conductor
      * nova-libvirt
      * nova-novncproxy
      * nova-serialproxy
      * nova-spicehtml5proxy
      * nova-ssh
      
      This patch does not support using a single cell controller for managing
      more than one cell. Support for sharing a cell controller will be added
      in a future patch.
      
      This patch should be backwards compatible and is tested by existing CI
      jobs. A new CI job has been added that tests a multi-cell environment.
      
      ceph-mon has been removed from the play hosts list as it is not
      necessary - delegate_to does not require the host to be in the play.
      
      Documentation will be added in a separate patch.
      
      Partially Implements: blueprint support-nova-cells
      Co-Authored-By: default avatarMark Goddard <mark@stackhpc.com>
      Change-Id: I810aad7d49db3f5a7fd9a2f0f746fd912fe03917
      78a828ef
  3. Oct 01, 2019
    • Doug Szumski's avatar
      Copy Nova role as a basis for the Nova cell role · 952b5308
      Doug Szumski authored
      The idea is to factor out a role for deploying Nova related services
      to cells. Since all deployments use cells, this role can be used
      in both regular deployments which have just cell0 and cell1,
      and deployments with many cells.
      
      Partially Implements: blueprint support-nova-cells
      Change-Id: Ib1f36ec0a773c384f2c1eac1843782a3e766045a
      952b5308
  4. Jul 12, 2019
    • 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
  5. Jun 06, 2019
    • 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
  6. Jun 05, 2019
    • Jason's avatar
      Hide logs when looping over passwords · 30c619d1
      Jason authored
      When ansible goes in to a loop, by default it prints all the keys for
      the item it is looping over. Some roles, when setting up the databases,
      iterate over an object that includes the database password.
      
      Override the loop label to hide everything but the database name.
      
      Change-Id: I336a81a5ecd824ace7d40e9a35942a1c853554cd
      30c619d1
  7. Nov 19, 2018
    • Christian Berendt's avatar
      Set "no_log" for "databases user and setting permissions" tasks · 03788e17
      Christian Berendt authored
      
      At the moment the "databases user and setting permissions" task for
      designate and nova leaks the database_password because of the use
      of with_items:
      
      ---snip---
      TASK [nova : Creating Nova databases user and setting permissions] *********************************************************
      ok: [x -> y] => (item={u'database_password': u'password', u'database_name': u'nova', u'database_username': u'nova'})
      ok: [x -> y] => (item={u'database_password': u'password', u'database_name': u'nova_cell0', u'database_username': u'nova'})
      ok: [x -> y] => (item={u'database_password': u'password', u'database_name': u'nova_api', u'database_username': u'nova_api'})
      ---snap---
      
      Change-Id: I141e4153223c8772c82a31d81e58057ce266c0b9
      Co-authored-by: default avatarBernd Müller <mueller@b1-systems.de>
      03788e17
  8. Aug 29, 2018
    • zhulingjie's avatar
      Remove the unncessary register variable defined · 7f1f0178
      zhulingjie authored
      when creating Nova databases user and setting permissions,
      no need to register the database_user_create, and it used
      nowhere, remove it is safe
      
      Change-Id: If456b7c2ed25aa729be7d98ef875230c66581d65
      7f1f0178
  9. Jul 25, 2018
  10. Apr 12, 2018
    • Doug Szumski's avatar
      Do not create nova db user if database unchanged · 67d4fdd2
      Doug Szumski authored
      This change prevents the task running if the database
      has not been changed when a preconfigured external
      database is not in use. This was the behaviour before
      the preconfigured database feature was introduced.
      
      Close-Bug: 1763375
      Change-Id: I4f68905732dac75bc0deddab88047c9c0d7d65b5
      67d4fdd2
  11. Mar 20, 2018
    • Jianghua Wang's avatar
      XenAPI: use dom0's hostname for nova-compute · 3b89a7d4
      Jianghua Wang authored
      When the virt dirver is xenapi, we should explicitly specify host
      with dom0's hostname for nova-compute. The host field should be same
      as neutron-openvswitch-agent-xenapi.
      
      In order to use dom0's hostname, we need pull the bootstrap_xenapi
      to before running nova config tasks. The dom0's hostname will be
      included in the XenAPI facts.
      
      Change-Id: Ibfc964bbd6c569062ad33c1399f9a4612baf5b92
      blueprint: xenserver-support
      3b89a7d4
  12. Jan 23, 2018
    • Alexandru Bogdan Pica's avatar
      Implement external MariaDB and pre-configured Databases support · 8e3b7944
      Alexandru Bogdan Pica authored
      This change allows the following use cases:
      
      1. Using an already-configured MariaDB / MySQL server / Cluster
      2. Using already-created DB users, without requiring root DB access.
      
      Update: added external mariadb precheck
      
      Change-Id: I78b0d178306d7c5293b0bf53e445f19f18b4b824
      Implements: blueprint external-mariadb-support.
      Closes-Bug: #1603121
      8e3b7944
  13. Jan 19, 2018
    • Jianghua Wang's avatar
      XenAPI: Support compute node bootstrap · b2c7269e
      Jianghua Wang authored
      This is to add a bootstrap task for XenAPI to bootstrap the compute
      node. One compute node is composed with a XenServer and a DomU VM
      running on the XenServer. Before it's ready for deploying OpenStack
      sevices on it, we need bootstrap it firstly. The package of
      python-os-xenapi contains a tool and some utils which were developed
      to finish all of the needed bootstrap tasks
      e.g.:
      1. configure himn(host internal management network)
      2. configure ipatables to allow traffic
      3. install xapi plugins to dom0
      4. gather XenAPI facts and save them into a file
      ...
      
      The task added in this commit is to invoke that tool so that the
      bootstrap tasks can be completed automatically during kolla deployment.
      
      Depends-On: Ie2d7d40f2755580aac4a10f3d302190a8bd4fe6f
      Change-Id: I1500535a1c9a085bcbfec5db5fbddcf040e6892d
      blueprint: xenserver-support
      b2c7269e
  14. Jun 20, 2017
    • caoyuan's avatar
      Fix the database user name for all roles · 36c530f9
      caoyuan authored
      when create database user, it should use
      database_user, not database_name.
      
      Change-Id: I4dfa01d1a5a46c5c58f1fc47b0be71b186462764
      Closes-Bug: #1698762
      36c530f9
  15. Feb 02, 2017
  16. Jan 12, 2017
  17. May 13, 2016
  18. Feb 19, 2016
    • Michal Jastrzebski's avatar
      Playbook for nova upgrade · ce4230fa
      Michal Jastrzebski authored
      This creates tree and playbook for nova upgrade. Also other service
      upgrades will follow standard setup here.
      
      Change-Id: Ic31759efaee4986eb87b9ff0968f13189d130d48
      Partially-Implements: blueprint upgrade-kolla
      Implements: blueprint upgrade-nova
      ce4230fa
  19. Feb 05, 2016
    • SamYaple's avatar
      Fix two missing toolbox references · 508f3863
      SamYaple authored
      Two patches merged that did not have teh correct name for
      kolla_toolbox
      
      TrivialFix
      
      Change-Id: I09e230e29cff496247c32bf227715bfb7caa0a95
      508f3863
  20. Feb 02, 2016
  21. Jan 28, 2016
    • SamYaple's avatar
      Update all bootstraps to use Label · 6d8959a9
      SamYaple authored
      Add bootstrap label to all bootstrap containers to ensure that when
      the a new container is launched a difference is seen between it and
      the bootstrap container since we cannot rely on ENV variables for
      this. This only affects mariadb at this stage, but it is needed to
      ensure rabbitmq works when we switch to named volumes.
      
      Change-Id: Ia022af26212d2e5445c06149848831037a508407
      Closes-Bug: #1538136
      6d8959a9
  22. Jan 20, 2016
    • Artur Zarzycki's avatar
      Fix permissions to /var/lib/nova/ · ef971bff
      Artur Zarzycki authored
      
      Due to changes with the drop-root work, we lost the ability to write
      to /var/lib/nova/*. This fixes those permissions and ensures cross
      container talk works properly between nova_libvirt and nova_compute
      
      Additionally, this fixes another issue introduced which saw that
      nova-compute could not run sudo commands as it did not have a proper
      sudoers entry
      
      Testing from previous deploys means you need a fresh environment. You
      have to remove all of the named volumes that kolla created in docker.
      Check these with `docker volume ls`
      
      Signed-off-by: default avatarHui Kang <kangh@us.ibm.com>
      Signed-off-by: default avatarArtur Zarzycki <azarzycki@mirantis.com>
      Co-Authored-By: default avatarSam Yaple <sam@yaple.net>
      Co-Authored-By: default avatarHui Kang <kangh@us.ibm.com>
      Closes-Bug: #1533350
      Change-Id: I7f864c448a2414e0b5d89f48337be411b891df35
      ef971bff
  23. Dec 31, 2015
    • SamYaple's avatar
      Convert Nova to kolla_docker · 57f6e320
      SamYaple authored
      Change-Id: I0c6df8e7b732a37ff3cabff8d588f8b7d15df192
      Partially-Implements: blueprint kolla-docker-module
      57f6e320
  24. Nov 23, 2015
    • Sam Yaple's avatar
      Make the database json variable more readable · 970617b8
      Sam Yaple authored
      Additionally remove tty from the container cleanup docker section. It
      was added in a sed in a previous patchset by serves no purpose.
      
      Change-Id: Ib617870616bca687f72ffaa44b2e9a3a11ef1011
      Partially-Implements: blueprint cleanup-playbooks
      970617b8
    • Hui Kang's avatar
      Fix bootstrap for services · 790bf336
      Hui Kang authored
      
      The bootstrap tasks could be started on any node listed in the
      site.yml
      
      The issue is that all the tasks must run on the same node, and the
      only node that all the tasks can run on is the 'api' node due to
      needing to start the bootstrap container which binds in the configs.
      
      delegate_to is required to ensure that the proper node gets the task.
      
      Co-Authored-By: default avatarSam Yaple <sam@yaple.net>
      Change-Id: Ica04ab366777a571a92212ac22c482f1881d4ecd
      Closes-Bug: #1513598
      Related-Bug: #1513439
      790bf336
  25. Nov 09, 2015
    • Sam Yaple's avatar
      Move data container to start.yml · 564f8f2b
      Sam Yaple authored
      The original reason for having the data container in the bootstrap.yml
      was to keep consistency with rabbitmq and mariadb, but in light of
      this bug we need to move the data container out of the bootstrap.yml
      role since we will be limiting the hosts that those tasks can run on.
      
      Change-Id: I7f2f5979b01807275908699d1243756cb97d3588
      Partial-Bug: #1513598
      564f8f2b
    • Sam Yaple's avatar
      Incorrect parsed variable name · 6b283430
      Sam Yaple authored
      database_user_create was not correctly referenced when parsing the
      variable names. This could never actually lead to a situation that
      reported a false change, but it could break an operation if you were
      using the --step option with ansible and skipped the database create
      task.
      
      TrivialFix
      Backport: Liberty
      
      Change-Id: Idf69fffcc3814f509448ccea11b7d175f074ccf1
      6b283430
  26. Nov 05, 2015
    • Sam Yaple's avatar
      bootstrap takes place on the wrong node · e2bc9dcf
      Sam Yaple authored
      The bootstrap must occur on the nova-api node due to binding in the
      nova-api directory (same goes for all other services)
      
      Closes-Bug: #1513439
      Backport: Liberty
      Change-Id: Iab88b49712828085e4d7e7f85e6d8f0b7999a9bf
      e2bc9dcf
  27. Oct 14, 2015
    • Sam Yaple's avatar
      Add tty to containers · b2ac6e80
      Sam Yaple authored
      sudo requires a tty to function by default on centos. Instead of
      tweaking the sudo conf we can just add a tty. This has the added
      advantage of making the containers more friendly if you have to
      `docker exec -i <container> bash` into them.
      
      Change-Id: If97a02ca1d37c243a787d98ade54bde8d641aecd
      backport: liberty
      Partially-Implements: blueprint functional-testing-gate
      b2ac6e80
  28. Oct 13, 2015
    • Sam Yaple's avatar
      Bump ansible to 1.9.2 · c5be228b
      Sam Yaple authored
      Ansible 1.9.2 contains the fix needed for docker-py >1.2.0
      
      This is needed for some gate reasons, but it is also a good version
      bump because it fixes a few issues with delegate_to.
      
      Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
      backport: liberty
      Partially-Implements: blueprint functional-testing-gate
      c5be228b
  29. Oct 06, 2015
    • Sam Yaple's avatar
      Bring Kolla inline with FHS · 94162bd0
      Sam Yaple authored
      This brings Kolla images inline with FHS and should make finding
      locations of things more consistent and reliable with the linux world
      at large.
      
      Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
      Closes-Bug: #1485742
      94162bd0
  30. Sep 23, 2015
  31. Sep 10, 2015
    • Steven Dake's avatar
      Enable nova-libvirt to be updated · ca4db1d9
      Steven Dake authored
      Libvirt shuts down existing virtual machines.  To solve this problem,
      the /var/lib/libvirt directory needs to be persisted.  By persisting
      this directory in the nova data container, libvirt can communicate
      with the sockets setup by the previous data container.
      
      Change-Id: I362c533f8493984123686fe6e3f8e43d97434ca6
      Closes-Bug: #1494060
      ca4db1d9
    • Steven Dake's avatar
      Make nova use a data container · 1025890e
      Steven Dake authored
      Make nova-libvirt and nova-compute use a data container called
      nova_data.  This data container contains /var/lib/nova/instances
      data so upgrades to nova-compute work properly.
      
      Change-Id: I89362eb0857f7b07503c35178475bc91d0d19ca8
      Closes-Bug: #1486333
      1025890e
  32. Sep 06, 2015
  33. Sep 04, 2015
    • Vladislav Belogrudov's avatar
      Check exit status of bootstrap containers · 7f81dbc8
      Vladislav Belogrudov authored
      Currently bootstrap containers are waited to exit but are not
      checked for exit status and ansible runs further tasks. If
      bootstrapping fails we notice it at much later time.
      
      Change-Id: I137fc11b0f9d1f03d2ded08a213e8dbd62741f92
      Closes-Bug: #1492337
      7f81dbc8
  34. Aug 31, 2015
  35. Aug 24, 2015
  36. Aug 20, 2015
    • Steven Dake's avatar
      Use database_user_create in the register operation · 98b98924
      Steven Dake authored
      The register operation was registering user_database which is a global
      variable in group_vars/all.yml.  This results in glance not being deployable
      because user_database is overwrriten at keystone task registration time.
      
      The result of this is the playbooks fail to deploy.
      
      Change-Id: Ic69725fb09aa0a368ec5b0d8f47bfc768c29c70c
      Closes-Bug: #1486876
      98b98924
Loading