Skip to content
Snippets Groups Projects
  1. Sep 17, 2019
  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
  3. May 17, 2019
    • 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
  4. Feb 08, 2019
    • Jim Rollenhagen's avatar
      Allow keystone services to use independent hostnames · bece976b
      Jim Rollenhagen authored
      This allows keystone service endpoints to use custom hostnames, and adds the
      following variables:
      
      * keystone_internal_fqdn
      * keystone_external_fqdn
      
      These default to the old values of kolla_internal_fqdn or
      kolla_external_fqdn.
      
      This also adds the following variables:
      
      * keystone_admin_listen_port
      * keystone_public_listen_port
      
      These default to keystone_admin_port and keystone_public_port,
      respectively, for backward compatibility.
      
      These options allow the user to differentiate between the port the
      service listens on, and the port the service is reachable on. This is
      useful for external load balancers which live on the same host as the
      service itself.
      
      Change-Id: I50c46c674134f9958ee4357f0f4eed5483af2214
      Implements: blueprint service-hostnames
      bece976b
  5. Sep 26, 2018
    • Adam Harwell's avatar
      Refactor haproxy config (split by service) V2.0 · f1c81365
      Adam Harwell authored
      Having all services in one giant haproxy file makes altering
      configuration for a service both painful and dangerous. Each service
      should be configured with a simple set of variables and rendered with a
      single unified template.
      
      Available are two new templates:
      
      * haproxy_single_service_listen.cfg.j2: close to the original style, but
      only one service per file
      * haproxy_single_service_split.cfg.j2: using the newer haproxy syntax
      for separated frontend and backend
      
      For now the default will be the single listen block, for ease of
      transition.
      
      Change-Id: I6e237438fbc0aa3c89a3c8bd706a53b74e71904b
      f1c81365
  6. Aug 14, 2018
  7. Jul 26, 2018
    • Lakshmi Prasanna Goutham Pratapa's avatar
      Apply Resource Constraints to Services. · 14bf5247
      Lakshmi Prasanna Goutham Pratapa authored
      This commit is to apply resource-constraints to a few more OpenStack services.
      Commit to  apply constraints to the last set of services will be made in
      the upcoming commit.
      
      Depends-on: Icafa54baca24d2de64238222a5677b9d8b90e2aa
      Change-Id: I39004f54281f97d53dfa4b1dbcf248650ad6f186
      14bf5247
  8. 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
  9. Jan 17, 2018
  10. Jan 09, 2018
    • Michal Rostecki's avatar
      dev mode: Add support for keystone · 307d324f
      Michal Rostecki authored
      Provide support fot kolla dev mode in Keystone. When
      'kolla_dev_mode' or 'keystone_dev_mode' variables are
      enabled, source code of Keystone project is cloned
      and bindmounted.
      
      Partially implements: blueprint mount-sources
      
      Change-Id: Ie4cf401ecd9a507e739a53dfdf16f65292ab57e5
      307d324f
  11. Jun 03, 2017
    • Dai Dang Van's avatar
      Mixing binary and source images for I* and K* projects · bf0bf043
      Dai Dang Van authored
      In case Kolla's users want to deploy with both of
      binary and source image, we should have a variable
      install type that define install type for each project.
      
      We also add specific image tag for each Openstack project.
      
      This commit is implemented for Ironic, Kabor,
      Keystone project and iscsi as well.
      
      Change-Id: I134d840b1c0e24171a32dec0c7daa6dc2e9ecd87
      Implements: blueprint mixing-binary-and-source-image
      bf0bf043
  12. Jan 26, 2017
  13. Jan 05, 2017
  14. Aug 25, 2016
    • Shaun Smekel's avatar
      Add full support for fernet · 1c68ae38
      Shaun Smekel authored
      This addresses the ansible aspects of fernet key bootstrapping as
      well as distributed key rotation.
      
      - Bootstrapping is handled in the same way as keystone bootstrap.
      - A new keystone-fernet and keystone-ssh container is created to allow
        the nodes to communicate with each other (taken from nova-ssh).
      - The keystone-fernet is a keystone container with crontab installed.
        This will handle key rotations through keystone-manage and trigger
        an rsync to push new tokens to other nodes.
      - Key rotation is setup to be balanced across the keystone nodes using
        a round-robbin style. This ensures that any node failures will not
        stop the keys from rotating. This is configured by a desired token
        expiration time which then determines the cron scheduling for each
        node as well as the number of fernet tokens in rotation.
      - Ability for recovered node to resync with the cluster. When a node
        starts it will run sanity checks to ensure that its fernet tokens
        are not stale. If they are it will rsync with other nodes to ensure
        its tokens are up to date.
      
      The Docker component is implemented in:
        https://review.openstack.org/#/c/349366
      
      Change-Id: I15052c25a1d1149d364236f10ced2e2346119738
      Implements: blueprint keystone-fernet-token
      1c68ae38
  15. Aug 02, 2016
    • Ken Wronkiewicz's avatar
      Horizon interface address and memcached override · a6d89f44
      Ken Wronkiewicz authored
      Note: This should not result in any behavior changes in regular Kolla, just
      Kolla-Kubernetes and only when you've overridden stuff in globals.yml
      
      Allows override of interface address and memcached pools, so that Kubernetes
      can do the right thing.
      
      There are some significant architectural issues involved in memcached pooling
      in the Kolla-kubernetes world.  Avoiding them right now.
      
      Current working with this Kolla-Kubernetes globals.yml file:
      
      api_interface_address: "0.0.0.0"
      
      memcached_servers: "memcached"
      
      keystone_database_address: "mariadb"
      keystone_admin_url: "http://keystone-admin:35357/v3"
      keystone_internal_url: "http://keystone-public:5000/v3"
      keystone_public_url: "http://keystone-public:5000/v3
      
      "
      
      Three tings to note:
       * In Kolla-Kubernetes, the service is not using net=host, so a
         0.0.0.0 interface address is totally OK.  That patch has been merged.
       * In Kolla-Kubernetes, the global.yml file doesn't do var substitution
         so you have to be explicit about the URLs, otherwise Keystone will
         look like it was provisioned but it won't quite be provisioned right.
       * In order to not duplicate tons of code, moved the keystone_admin_url /
         keystone_internal_url / keystone_public_url to the common defaults
         from the keystone defaults.
      
      Co-Authored-By: default avatarRyan Hallisey <rhallise@redhat.com>
      Change-Id: I586ce1c6c3300254c4e2a398ff46645df576aeb0
      Partially-implements: blueprint api-interface-bind-address-override
      a6d89f44
  16. Jul 14, 2016
  17. May 13, 2016
  18. Mar 03, 2016
    • SamYaple's avatar
      Fix Keystone v3 and Horizon · 57124620
      SamYaple authored
      After our switch to keystone-manage bootstrap Horizon is not happy
      due to v3 not being setup correctly. This patch fixes that
      
      This also includes removal of unused variables (transforms them into
      endpoint url variables)
      
      TrivialFix
      Change-Id: I1e04db8c24049f80e974c063f03068a2ab32a563
      57124620
  19. Mar 01, 2016
    • SamYaple's avatar
      Remove keystone admin token · 4edd0baf
      SamYaple authored
      
      Admin token has been deprecated upstream. It will be removed in O. We
      switch over to the new `keystone-manage bootstrap` method for creating
      the initial admin user, role, and project.
      
      Co-Authored-By: default avatarSam Yaple <sam@yaple.net>
      Change-Id: I6ca90e8d4c3b71009e24b049b2efbc08c05ebfbf
      4edd0baf
  20. Feb 26, 2016
    • SamYaple's avatar
      Change kolla_internal_address variable · d3cfb205
      SamYaple authored
      Due to poor planning on our variable names we have a situation where
      we have "internal_address" which must be a VIP, but "external_address"
      which should be a DNS name. Now with two vips "external_vip_address"
      is a new variable.
      
      This corrects that issue by deprecating kolla_internal_address and
      replacing it with 4 nicely named variables.
      
      kolla_internal_vip_address
      kolla_internal_fqdn
      kolla_external_vip_address
      kolla_external_fqdn
      
      The default behaviour will remain the same, and the way the variable
      inheritance is setup the kolla_internal_address variable can still be
      set in globals.yml and propogate out to these 4 new variables like it
      normally would, but all reference to kolla_internal_address has been
      completely removed.
      
      Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
      Partially-Implements: blueprint ssl-kolla
      d3cfb205
  21. Feb 15, 2016
  22. Jan 20, 2016
  23. Dec 15, 2015
  24. Dec 02, 2015
    • Michal Jastrzebski's avatar
      Sanity check for keystone · f632cfe8
      Michal Jastrzebski authored
      This runs first sanity check for keystone. After keystone is deployed
      it checks tenants.list()
      
      Change-Id: Ie919ffe6124eb70428309404a434d9b0eb0b9f70
      Partially-Implements: blueprint sanity-check-container
      f632cfe8
  25. Aug 08, 2015
  26. Aug 01, 2015
    • Sam Yaple's avatar
      Removes unneeded variables · 0fb09203
      Sam Yaple authored
      These variables are defined in the defaults.yml file
      
      Change-Id: I45de4fbd41c50e2a8fe3233cdffc467c9a594aa5
      Closes-Bug: #1480498
      0fb09203
  27. Jul 31, 2015
    • Vladislav Belogrudov's avatar
      Add missing slash if docker registry is specified · 2887c6d2
      Vladislav Belogrudov authored
      If user specifies registry a full image name is constructed by
      concatenation of the registry, namespace and image. Currently
      concatenation does not include '/' if registry is non-empty but
      it should. If registry is empty '/' is not required.
      This fix covers both use cases with help of Ansible filter.
      
      Change-Id: I0588dd0da55d777e6caa7eb47d51b2435d38d5e0
      Closes-Bug: #1479013
      2887c6d2
  28. Jun 30, 2015
    • Sam Yaple's avatar
      Add initial config function and keystone support · 3ac7da64
      Sam Yaple authored
      Add set_configs function that implements the flow from the proposed
      ansible-multi spec. Move start.sh to config-internal.sh to preserve existing
      behaviour.
      
      config-externall.sh copies the appropriate configs in from the bind'd
      location and sets permissions and ownership appropriately.
      
      Partially Implements: blueprint ansible-multi
      
      Change-Id: I53fca0660451087f273fefc3c63e0d8cf1a2c096
      3ac7da64
Loading