533 Commits

Author SHA1 Message Date
Jim Rollenhagen
d1d1837c25 Allow ironic services to use independent hostnames
This allows ironic service endpoints to use custom hostnames, and adds the
following variables:

* ironic_internal_fqdn
* ironic_external_fqdn
* ironic_inspector_internal_fqdn
* ironic_inspector_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds ironic_api_listen_port and ironic_inspector_listen_port
options, which default to ironic_api_port and ironic_inspector_port 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: I45b175e85866b4cfecad8451b202a5a27f888a84
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
31ed556e67 Allow swift proxy server to use independent hostnames
This allows swift service endpoints to use custom hostnames, and adds the
following variables:

* swift_internal_fqdn
* swift_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a swift_proxy_server_listen_port option, which defaults to
swift_proxy_server_port for backward compatibility.

This option 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.

While we're in here, use the ``internal_protocol`` variable for the swift
endpoint in cinder's swift backup driver configuration, instead of hardcoding
to ``http``.

Change-Id: Ibc01618383c26e16c0067f7f6b9cf5160d968d1e
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
b6c31862af Allow senlin services to use independent hostnames
This allows senlin service endpoints to use custom hostnames, and adds the
following variables:

* senlin_internal_fqdn
* senlin_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a senlin_api_listen_port option, which defaults to
senlin_api_port for backward compatibility.

This option 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: I26e8cfdde54aaf0648473f54136cf5350f356917
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
55702739d0 Allow octavia services to use independent hostnames
This allows octavia service endpoints to use custom hostnames, and adds the
following variables:

* octavia_internal_fqdn
* octavia_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a octavia_api_listen_port option, which defaults to
octavia_api_port for backward compatibility.

This option 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: I1310eb5573a469b1a0e9549e853734455307a8b3
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
857871df00 Allow barbican services to use independent hostnames
This allows barbican service endpoints to use custom hostnames, and adds the
following variables:

* barbican_internal_fqdn
* barbican_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a barbican_api_listen_port option, which defaults to
barbican_api_port for backward compatibility.

This option 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: I1807a9c8b64d737d0e278bb3e925fecb4fadfb08
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
76b6d41e51 Allow designate services to use independent hostnames
This allows designate service endpoints to use custom hostnames, and adds
the
following variables:

* designate_internal_fqdn
* designate_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a designate_api_listen_port option, which defaults to
designate_api_port for backward compatibility.

This option 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: I654bb3d1109b96cbaff6f450655cd65f349a94e6
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
45bde4b9b3 Allow cinder services to use independent hostnames
This allows cinder service endpoints to use custom hostnames, and adds the
following variables:

* cinder_internal_fqdn
* cinder_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a cinder_api_listen_port option, which defaults to
cinder_api_port for backward compatibility.

This option 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: I2a5036456afac6135dca3723ae754ea9f8bc8475
Implements: blueprint service-hostnames
2019-03-06 15:08:28 -05:00
Jim Rollenhagen
2e4e60503a Use keystone_*_url var in all configs
We're duplicating code to build the keystone URLs in nearly every
config, where we've already done it in group_vars. Replace the
redundancy with a variable that does the same thing.

Change-Id: I207d77870e2535c1cdcbc5eaf704f0448ac85a7a
2019-03-06 15:08:26 -05:00
Zuul
98e5415722 Merge "Allow keystone services to use independent hostnames" 2019-03-06 17:06:24 +00:00
Zuul
b3f1a71d0b Merge "Allow neutron services to use independent hostnames" 2019-03-06 17:06:22 +00:00
Zuul
38bd9fde2a Merge "Allow glance services to use independent hostnames" 2019-03-06 16:52:18 +00:00
Zuul
a2975ef592 Merge "Improve standalone ironic support" 2019-03-06 09:03:31 +00:00
Zuul
a628deefc1 Merge "Use new cinder target_helper option" 2019-03-04 12:09:39 +00:00
Mark Goddard
1c22da32ff Use new cinder target_helper option
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
2019-03-01 14:36:25 +00:00
Christian Berendt
3a5ef38f3b Add elasticsearch_datadir_volume
Change-Id: Id8276448c6e779b2b4a0aafee45d953c4f009fc1
2019-02-25 19:30:33 +01:00
Mark Goddard
54965c878b Improve standalone ironic support
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
2019-02-22 17:22:48 +00:00
Jim Rollenhagen
bece976b91 Allow keystone services to use independent hostnames
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
2019-02-08 10:26:00 -05:00
Jim Rollenhagen
255fff02b7 Allow neutron services to use independent hostnames
This allows neutron service endpoints to use custom hostnames, and adds the
following variables:

* neutron_internal_fqdn
* neutron_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a neutron_server_listen_port option, which defaults to
neutron_server_port for backward compatibility.

This option 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: I87d7387326b6eaa6adae1600b48d480319d10676
Implements: blueprint service-hostnames
2019-02-08 10:25:02 -05:00
Jim Rollenhagen
a819ef1215 Allow glance services to use independent hostnames
This allows glance service endpoints to use custom hostnames, and adds the
following variables:

* glance_internal_fqdn
* glance_external_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds a glance_api_listen_port option, which defaults to
glance_api_port for backward compatibility.

This option 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: Icb91f728533e2db1908b23dabb0501cf9f8a2b75
Implements: blueprint service-hostnames
2019-02-08 10:25:02 -05:00
Jim Rollenhagen
51c9e1b633 Allow nova services to use independent hostnames
This allows nova service endpoints to use custom hostnames, and adds the
following variables:

* nova_internal_fqdn
* nova_external_fqdn
* placement_internal_fqdn
* placement_external_fqdn
* nova_novncproxy_fqdn
* nova_spicehtml5proxy_fqdn
* nova_serialproxy_fqdn

These default to the old values of kolla_internal_fqdn or
kolla_external_fqdn.

This also adds the following variables:

* nova_api_listen_port
* nova_metadata_listen_port
* nova_novncproxy_listen_port
* nova_spicehtml5proxy_listen_port
* nova_serialproxy_listen_port
* placement_api_listen_port

These default to <service>_port, e.g. nova_api_port, 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: I7bcce56a2138eeadcabac79dd07c8dba1c5af644
Implements: blueprint service-hostnames
2019-02-08 10:25:02 -05:00
Zuul
dab5e74649 Merge "Add support for Infoblox in Designate role" 2019-01-28 15:21:38 +00:00
Scott Solkhon
2520a421bc Add support for Infoblox in Designate role
This change adds support for Infoblox as a backend for Designate.

Change-Id: I7ae038befa88f5a1b3a1187a0e9037ed30f94b17
2019-01-22 14:29:40 +00:00
Jorge Niedbalski
6c64b7c732 [prometheus] Support the prometheus openstack exporter
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
2019-01-21 10:41:35 -03:00
ZijianGuo
6d876934ea Add customizable gnocchi volume
Change-Id: I8d21546847a2f5fa418e07cfe79016a349af4783
Signed-off-by: ZijianGuo <guozijn@gmail.com>
2019-01-02 11:49:41 +08:00
Zuul
4ded787e79 Merge "Allow custom horizon policy files for disabled openstack projects." 2018-12-27 10:19:58 +00:00
Martin Chlumsky
18dd74ac8d Allow custom horizon policy files for disabled openstack projects.
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
2018-12-21 11:39:53 -05:00
Zuul
0b4587e947 Merge "Add support for Quobyte backend to Cinder and Nova" 2018-12-18 17:55:12 +00:00
Zuul
3af135d4fb Merge "Allow disabling keepalived for external LBs" 2018-12-17 12:52:07 +00:00
Patrick O'Neill
f77cc87e81 Add support for Quobyte backend to Cinder and Nova
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
2018-12-17 11:58:56 +00:00
Kien Nguyen
835368524e Add Prometheus as Vitrage datasource
Vitrage has already supported Prometheus as
datasource. Kolla can config it automatically,
just need a little changes, for example in
wsgi config file [1].

Co-Authored-By: Hieu LE <hieulq2@viettel.com.vn>

[1] https://review.openstack.org/#/c/584649/8/devstack/apache-vitrage.template

Change-Id: I64028a0dfd9887813b980a31c30c2c1b1046da61
2018-12-11 16:05:05 +07:00
Zuul
353e9213b3 Merge "Fix on setting enable_openvswitch" 2018-12-02 11:15:21 +00:00
Zuul
568fd4dcfd Merge "Use correct variable for default certificate paths" 2018-12-02 09:25:42 +00:00
Zuul
63eccc6372 Merge "Remove the deprecate the Glance Registry" 2018-12-01 07:08:36 +00:00
Zuul
c6e1ae982d Merge "Add neutron metering role into kolla-ansible" 2018-11-26 11:45:45 +00:00
Eduardo Gonzalez
1a682fab28 Support stop specific containers
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
2018-11-26 08:07:01 +00:00
Nick Jones
f704a78029 Add new option to perform an on-demand backup of MariaDB
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
2018-11-22 09:20:59 +00:00
caoyuan
03fd9715c5 Remove the deprecate the Glance Registry
A spec to Deprecate the Glance Registry Service[0] was accepted in Newton,
but it contained the ambiguous statement, "Mark the service as deprecated
and ready for removal in the Q release." kolla-ansible disable the
glance-registry in Q release[1], and since we are in S now,
remove glance-registry is safe.

[0]: http://specs.openstack.org/openstack/glance-specs/specs/newton/approved/glance/deprecate-registry.html
[1]: https://review.openstack.org/#/c/566804/

Change-Id: I48f794029e97aa6f76bbd500e33f28f51a3f2ac4
2018-11-21 20:51:51 +08:00
Eduardo Gonzalez
cc9dae4dee Add glance-cache support
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
2018-11-21 10:15:48 +01:00
caoyuan
a5badc89f2 Add neutron metering role into kolla-ansible
Refer to neutron docs [1][2]
[1]: https://docs.openstack.org/neutron/pike/admin/archives/adv-config.html#l3-metering-service-driver
[2]: https://wiki.openstack.org/wiki/Neutron/Metering/Bandwidth
Co-Authored-By: ZhijunWei <wzj334965317@outlook.com>

Change-Id: I4a676d041bc2a86497cb139d9347365738b156df
2018-11-20 23:36:45 +08:00
caoyuan
9223deeecd Use correct variable for default certificate paths
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
2018-11-19 16:25:28 +00:00
Zuul
05cf25ccea Merge "Add support for deploying Monasca Grafana" 2018-11-07 15:54:29 +00:00
Zuul
6695c99cf9 Merge "Enable Kibana if Monasca enabled" 2018-11-07 14:26:44 +00:00
Zuul
196e09e122 Merge "Support deploying the Monasca Agent" 2018-11-06 19:32:14 +00:00
Paul Bourke
cf609ba3cc Remove deprecated compute groups
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
2018-11-06 11:45:43 +00:00
Doug Szumski
712c89760c Add support for deploying Monasca Grafana
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
2018-11-02 13:35:35 +00:00
Doug Szumski
c7aabfdfe8 Enable Kibana if Monasca enabled
Monasca uses Kibana for viewing and searching logs. A future commit
will add support for the Monasca Kibana plugin to provide tenant
scoped access to logs.

Partially-Implements: blueprint monasca-roles
Change-Id: I42b6a35f9a526ef41ff3d7cfac140fbc5596a524
2018-11-02 13:04:06 +00:00
Doug Szumski
b7b45effed Support deploying the Monasca Agent
The Monasca Agent collects metrics and in this change is deployed
across the control plane. These metrics are collected into an OpenStack
project. It supports configuring a small number of plugins, which can
be extended in later commits. It also makes the Monasca Agent credentials
available to other roles, such as the common role to allow forwarding
logs to Monasca.

Partially-Implements: blueprint monasca-roles
Change-Id: I76b34fc5e1c76407a45fcf272268d5798b473ca2
2018-11-02 13:04:05 +00:00
Christian Berendt
864e589803 nova: add support for a dedicated migration network
Two new parameters (migration_interface, migration_interface_address) to make
the use of a dedicated migration network possible.

Change-Id: I723c9bea9cf1881e02ba39d5318c090960c22c47
2018-10-23 18:37:28 +02:00
Zuul
c47ee4fb2a Merge "Constrain the size of Docker logs" 2018-10-16 10:56:54 +00:00
Chulmin Kang
b854308328 Fix on setting enable_openvswitch
In the default expression which sets enable_openvswitch, the boolean filter
is applied only on 'linuxbridge', not on the whole comparing expression. So
even if neutron_plugin_agent is set to 'linuxbridge', but enable_openvswitch
is not explicitly set to "no" (e.g., in globals.yml), then enable_openvswitch
is eventually set to true, and openvswitch role is unintentionally applied.
Boolean filter is not really necessary on the comparing expression, so it can
be removed just like in globals.yml.

Change-Id: I0612346484eada8192ee03dc9d5057cb6881f532
Closes-bug: #1747136
2018-10-13 03:10:50 +09:00