Add default auth api version inherited by other cookbooks and add the
common auth uri transform logic.

- Set default auth api version for other cookbooks, which can be
  inherited and overrided by other cookbooks.

- Move the auth uri transform logic from other cookbooks to this
  openstack-common libraries.

- When auth version is v3.0, the auth uri after transformed should be
suffixed with v3.

Change-Id: I36f831e706f4538c77353849146ebd84c1ca8f14
Imlements: blueprint move-keystone-authtoken-move-auth-uri-logic
Merge "Add default auth api version inherited by other cookbooks and add the common auth uri transform logic."
Allow overriding the Ceph client setup via attribute

This change introduces the attribute

    node['openstack']['ceph']['setup_client']

that lets the user override all actions of the ceph_client recipe.

It addresses the usecase where you use the (github) ceph/ceph-cookbooks
for setting up your nodes and don't want openstack-common to manage and
hence override your config.

The way this has been implemented is modelled after the
openstack-network plugin recipes (e.g. openstack-network::linuxbridge)
which just return when the proper attribute is not set.  This way, we
can still have all those recipes that need a working Ceph client
environment just include_recipe openstack-common::ceph_client, without
placing conditionals there.

Change-Id: I491feecae1ed35871b11add334df0df6fd413d1e
Fix undefined method `[]' for nil:NilClass for Network installation

Add default OpenStack Network installation service_type name to avoid
undefined method error.

Fixes bug #1281922

Change-Id: I40176cd3b826965fef7292e13279c9f3d7324ded
Add ability to specify IP for service

The problem that this change addresses is that the address_for method
will not work correctly if there are multiple IP address associated
with the specified interface.

The approach to solving this problem and moving towards the overall
goal of having one place where service networking information is
stored is to convert address_for calls into endpoints, and add a
address() method to the endpoints interface for IP address resolution.

The address() method has the following behavior: if the
bind_interface of an endpoint is set, then the IP is looked up on
the interface.  Otherwise, the IP specified in the host attribute is
returned.  This allows the caller to choose either method of
determining what IP a service will be bound to.

This initial change switches both the openstack-ops-database and
openstack-ops-messaging cookbooks over to use endpoints instead of
address_for.  The other cookbooks will be switched over time.

blueprint increase-ip-binding-flexibility

Change-Id: I527e4e734f3c1eea9ac2567e0a90524d78ee867e
Fix unnecessary error messages in log

Currently if you are working in an environment that cannot reach the
target openstack-ppa uri/components,say you do not have internet access
for instance, you will see an error in the log which is captured in
the refferenced bug report.

By adding a new flag attribute:
['openstack']['apt']['live_updates_enabled'], the opnstack ppa update
can be disabled by setting this attribute to false.

This patch intended to avoid executing an unnesessary code path by
checking the new flag  prior to attempting to fetch updates.

Closes-Bug: #1289356
Change-Id: Ifca7c77e7a84834b88600c14d5a45cc0a64825f8
Merge "Fix undefined method `[]' for nil:NilClass for Network installation"
Merge "Add ability to specify IP for service"
Added endpoint for binding identity services.

This changes adds an endpoint that is used to specify a bind_interface
or host to bind the indentity services to.

The following change in the identity cookbook is dependent on this one:
https://review.openstack.org/#/c/78019/

blueprint increase-ip-binding-flexibility

Change-Id: I12798ebcee0eb5b226a51d7824fbb172c50fdf37
Remove the RDO yum repo only when it does exist.

Co-Authored-By: Ionut Artarisi <iartarisi@suse.cz>
Change-Id: Ic43477ea9929c47ac0ea60b91d90bcc48e42420e
Closes-Bug: #1289142
Update qpid attributes

This change finishes off bp use-data-bag-for-qpid-password by removing
the unnecessary qpid attribute and defaulting qpid username to the same
value as openstack.mq.user.

Change-Id: I3ee99989c54fcda746eacb5c38011308494dc394
Implements: blueprint use-data-bag-for-qpid-password
Merge "Remove the RDO yum repo only when it does exist."
Merge "Update qpid attributes"
Rename openstack-metering to openstack-telemetry

update cookbook attribute name, change metering to telemetry

Change-Id: I066001b38a236fdb84c5de4db13ddf0aa635868a
Fix a renaming openstack-metering to openstack-telemetry issue

Update `metering` to `telemetry` in db_uri function

Change-Id: Ic83729514e694b99f100d2f76af09cb74e341cef
Merge "Added endpoint for binding identity services."
Fix image service endpoint path

After converging with telemetry and image, the ceilometer meters and
resources for glance do not appear, the logs show that the glance API
URL is incorrect: http://127.0.0.1:9292/v2/v1.

This patch sets the base path to / so ceilometer can talk to glance.

Change-Id: I656e133995b4cbad12540d03c97adf1164b0f4c5
Closes-Bug: #1293688
Add a single attribute for qpid protocol

This fixes the issue that there is no single attribute for qpid protocol
attribute, I defined a ['openstack']['mq']['qpid']['protocol']
attribute and it's default value is "tcp", and for the various openstack
service's qpid protocol attribute, we can override this attribute for
all openstack service, or they can override the individual qpid protocol
for the specific openstack service

Change-Id: I4cdae33f9d3f83edbf62d5019f9cb6830a02ab83
Merge "Add a single attribute for qpid protocol"
Removed deprecated connection attributes

This is a follow up change set that removes the now deprecated
messaging and database cookbook connection attributes for host and
port.  These attributes have been replaced with corresponding
attributes in endpoints.

blueprint increase-ip-binding-flexibility

Change-Id: I2a8676155c6e71bd7ea92d1f33145d073cd899d1