9569 Commits

Author SHA1 Message Date
Zuul
a41bbca824 Merge "Fix non-root reconfiguration with ceph enabled" 2018-10-03 12:47:07 +00:00
Zuul
18fd836a67 Merge "Add become for Cinder configuration tasks" 2018-10-03 12:41:30 +00:00
Zuul
eeacb94f63 Merge "Add Quobyte cinder backend spec" 2018-10-03 11:44:25 +00:00
howardlee
8b292c99bf Git checkout version support for several projects
Kolla-ansible provides support for the dev mode for some projects
of openstack, but there are still some projects that do not yet
support specific release tag. This patch will implement this function
for these project.

Change-Id: I917b27dd61295b542457a21b240afe2cd4e83e58
2018-10-03 15:30:06 +08:00
Jorge Niedbalski
48e9898abd [nova] Fix missing blacklist permission.
The cephx keys are missing a default permission
to allow to see blacklisted clients.

This permission ensures that in the event of a client
crash (kill -9/hard shutdown/power outage) the client
can re-connect and write to any devices after reboot.

Closes-Bug: 1773449

Change-Id: I44d3982233f892d2c0ce3b9964194d8098453978
Signed-off-by: Jorge Niedbalski <jorge.niedbalski@linaro.org>
2018-10-02 18:31:00 -03:00
Patrick O'Neill
6526efe612 Add Quobyte cinder backend spec
Partially-Implements: blueprint cinder-quobyte-backend

Change-Id: I6de535ea4081fe0de52858ae582420617204e914
2018-10-02 15:19:56 +01:00
Mark Goddard
8399fc7813 Don't use 'become' in CI tests
Kolla Ansible now claims [1] to support executing as a user other than
root.  We should ensure that this is tested in CI.

This change removes the 'become' from hosts in the inventory, and sets
the remote user to 'kolla', as configured via the bootstrap-servers
command. The bootstrap-servers command and other ansible commands
executed before it still need to execute as the zuul user and not as
kolla, since kolla does not exist yet.

The autogenerated SSH private key in passwords.yml is now added to the
zuul user's SSH config, such that it can SSH as the kolla user, which
has authorised this key.

[1]
https://blueprints.launchpad.net/kolla-ansible/+spec/ansible-specific-task-become

Change-Id: I8f3587e2908bc5b8889cd6fbc01981a6186d33e6
2018-10-02 09:30:18 +01:00
Mark Goddard
b50917fe2c Fix non-root reconfiguration with ceph enabled
Various ceph-related tasks were missing a 'become' that would allow them
to work as a non-root user. This seems to only cause a problem after an
initial deployment, perhaps due to the recursive ownership & permissions
changes at the end of the ceph.yml and external_ceph.yml files.

This change adds the necessary becomes.

Change-Id: I887c7b3bdef49db1dd1bf9e5bdbf5dc47b7f41af
Closes-Bug: #1795125
2018-10-02 09:16:34 +01:00
Mark Goddard
5beece2503 Fix Cinder backup driver
Cinder has dropped [1] support for legacy backup services. It is now
necessary to specify the full class of the backup driver, rather than
just the module name. This was causing the kolla-ansible ceph jobs to
fail.

[1] https://review.openstack.org/#/c/595372

Change-Id: Icf0ee475ba73f013d4266332d999362651d9475b
2018-10-01 14:43:07 +01:00
Zuul
5e1c4e0150 Merge "Use iptables as section header instead of firewall" 2018-10-01 10:04:03 +00:00
Zuul
225d7c70a1 Merge "ovs-dpdkctl.sh function list_dpdk_nics only grabs the first nic" 2018-10-01 10:04:02 +00:00
Zuul
29f3f0b146 Merge "openvswitch: always run handler to to ensure OVS bridges are up" 2018-10-01 10:04:01 +00:00
Zuul
d8beb4a225 Merge "Support deploying an Apache Storm cluster" 2018-10-01 09:11:07 +00:00
Mark Goddard
12e644f4f4 Add become for Cinder configuration tasks
This is required to support execution as a non-root user.

Change-Id: I017b44352a33884102fefbacdde0fddc7f0282e3
Closes-Bug: #1795125
2018-09-29 10:19:40 +01:00
Adam Harwell
29cf8baba5 Fix haproxy server config for memcached backends
Change-Id: I22a46b7c61f9ea4f449bc68a244caed2f6705d96
2018-09-28 14:39:06 -07:00
David Rabel
8736817a98 openvswitch: always run handler to to ensure OVS bridges are up
When editing external bridge configuration and running a reconfigure
on openvswitch, handler "Ensuring OVS bridge is properly setup"
needs to run, but doesn't.

This moves the task from handlers to own file and always includes it
after running the handlers.

Change-Id: Iee39cf00b743ab0776354749c6e162814b5584d8
Closes-Bug: #1794504
2018-09-28 11:31:04 +00:00
Will Szumski
58eb07ec22 Use iptables as section header instead of firewall
The firewall section has been renamed in upstream ironic inspector:

7b27585463

Consequently the iptables pxe filter does not work if the actual
dnsmasq interface name differs from the default (br-ctlplane), as can
be seen from this snippet of iptables-save output:

-A INPUT -i br-ctlplane -p udp -m udp --dport 67 -j ironic-inspector

Change-Id: Ic1d08b85e0b5992fbee489f2f9fd174982b5d493
2018-09-28 09:13:48 +01:00
chenxing
eaa9815ad2 Remove '.. end' comments
Following by https://review.openstack.org/#/c/605097/
These were used by now-dead tooling. We can remove them.

Change-Id: I0953751044f038a3fdd1acd49b3d2b053ac4bec8
2018-09-28 10:15:37 +08:00
Doug Szumski
2af1d1d95e Improve registration of Monasca InfluxDB database
Monasca is not yet compatible with InfluxDB > 1.1.10, which means
that the official Ansible modules for managing InfluxDB don't work [1].
We therefore fall back to manual commands to register the database
and a default retention policy.

[1] https://github.com/influxdata/influxdb-python
    #influxdb-pre-v110-users

Partially-Implements: blueprint monasca-roles
Change-Id: I59ceda1e7a6e945b13872089011045db04548b94
2018-09-26 10:54:43 +00:00
Doug Szumski
645853bce9 Add region to Monasca Log API
This is required for upcoming log query support and it also
causes an error in the Keystone middleware if it's missing.

Partially-Implements: blueprint monasca-roles
Change-Id: I2bcb32bc0c079c799d2b0e45a97b454d38896986
2018-09-26 10:54:43 +00:00
Doug Szumski
9c2e0b81d5 Support configuring Monasca Persister performance
On a single node deployment, the Monasca persister can
limit the rate at which Monasca can persist metrics to
InfluxDB. Increasing the thread count can remove this
bottle neck.

Partially-Implements: blueprint monasca-roles
Change-Id: I763a5ae6aa8c8ab3bf766ab5b58c386da74a188b
2018-09-26 10:54:43 +00:00
Doug Szumski
6b4cd657ad Add missing Monasca persister and notification dimensions
Partially-Implements: blueprint monasca-roles
Change-Id: I2fb43387bd1bc3b70f5c23d5268a7a7154ec31f0
2018-09-26 10:54:43 +00:00
Doug Szumski
fddbbbbdc4 Support deploying Monasca Persister
The Monasca Persister reads metrics from Kafka and stores them
in a configurable time series database.

Change-Id: I8166b32bfb1583098ab8318a5f38d25bddb81e89
Partially-Implements: blueprint monasca-roles
2018-09-26 10:54:43 +00:00
Doug Szumski
c502e0b17a Add some missing parameters for Monasca Notification
Partially-Implements: blueprint monasca-roles
Change-Id: I21de7748156f8d3689ebfc29f2fc4dc5f7f36ddf
2018-09-26 10:54:42 +00:00
Doug Szumski
da1fa3f578 Support deploying Monasca Notification engine
The Monasca Notification engine generates alerts such as Slack
notifications from alerts.

Change-Id: I84861d5feefe6b6f38acc4dd71e94c386d40b562
Partially-Implements: blueprint monasca-roles
2018-09-26 10:54:42 +00:00
Doug Szumski
b6cce3e3f3 Support deploying Monasca Thresh
Monasca Thresh is a Storm topology which generates alerts from
metric streams according to alarms defined via the Monasca API.

This change runs the thresholder in local mode, which means that
the log output for the topology is directed to stdout and the
topology is restarted if the container is restarted. A future
change will improve the log collection and introduce a better
way of the checking the topology is running for multi-node
clusters.

Change-Id: I063dca5eead15f3cec009df62f0fc5d857dd4bb0
Partially-Implements: blueprint monasca-roles
2018-09-26 10:54:37 +00:00
Doug Szumski
516b0dd34e Support deploying an Apache Storm cluster
Storm is required for running the Monasca thresholder component for
generating alerts.

Change-Id: I5e1ef74dc55a787293abbb3e629b5ab1ce5f4bbb
Partially-Implements: blueprint monasca-roles
2018-09-26 10:54:32 +00:00
Mark Goddard
8e635db8f1 Allow fluentd to read barbican-api.log
Barbican API uses uWSGI, which by default writes out log files using
0640 permissions and default ownership for the user. This means that the
log file in /var/log/kolla/barbican/barbican-api.log is not readable by
fluentd.

This was tested via the following command on a queens deployment:

$ docker exec -it fluentd bash
find /var/log/kolla/ -type f | while read f; do test -r $f || echo
"Cannot read $f"; done
Cannot read /var/log/kolla/barbican/barbican-api.log

Generally there are a few ways in which access is provided to log file
for fluentd:

1. Set log file ownership to $USER:kolla, permissions to 0640.
2. Set log file ownership to $USER:$USER, permissions to 0644.
3. MariaDB is a special case, and uses 0640 with the fluentd user added
to the mysql group.

Of these, 1. seems the most secure.

This change uses the --logfile-chmod argument to set the log file
permissions to 644, since it does not appear possible to specify a group
to change ownership to using --logfile-chown. We use command line
arguments since putting the option in the config file does not seem to
work. Perhaps it is an ordering issue.

Change-Id: If98ca7cd9630b5622132a00718cb09304b8285b3
Closes-Bug: #1794472
2018-09-26 10:43:08 +00:00
Adam Harwell
f1c8136556 Refactor haproxy config (split by service) V2.0
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
2018-09-26 03:30:38 -07:00
Zuul
921a6d8762 Merge "Support deploying Monasca Log Metrics" 2018-09-26 01:07:34 +00:00
Zuul
fdc6152508 Merge "Support configuring Monasca log pipeline performance" 2018-09-26 01:07:33 +00:00
Zuul
a883cbc69b Merge "Improve scalability of Kafka" 2018-09-26 01:07:29 +00:00
Zuul
6a9f050025 Merge "Remove Kafka partitions config option" 2018-09-26 01:07:27 +00:00
Zuul
858d27cb35 Merge "Provide support for freezer dev mode in kolla" 2018-09-25 17:31:08 +00:00
Doug Szumski
1ae10375f7 Support deploying Monasca Log Metrics
The log metrics service generates metrics from log messages
which allows further analysis and alerting to be performed
on them. Basic configuration is provided so that metrics
are generated for high level warning logs such as error, or
warning.

Change-Id: I45cc17817c716296451f620f304c0b1108162a56
Partially-Implements: blueprint monasca-roles
2018-09-25 16:36:14 +00:00
Zuul
da0904c28d Merge "Add swift as gnocchi storage option" 2018-09-25 14:36:14 +00:00
Doug Szumski
01da938412 Support configuring Monasca log pipeline performance
Change-Id: Id8948fcf2d165f8285c7562e7aebd4145c4ff0db
Partially-Implements: blueprint monasca-roles
2018-09-25 11:41:29 +00:00
Doug Szumski
2b34f6d2fd Improve scalability of Kafka
Set sensible defaults for replica counts and minimum insync replicas
as a function of the number of nodes in the Kafka cluster.

Partially-Implements: blueprint monasca-roles
Change-Id: Icf1dddb7dd6a64f4e5efb7dffa5ffdf0880f891f
2018-09-25 11:41:00 +00:00
Doug Szumski
0a90020289 Remove Kafka partitions config option
This option doesn't actually do anything and a bug to remove
it from the Monasca API config file has been raised.

Partially-Implements: blueprint monasca-roles
Change-Id: I7ec1786b5828ab0135ca86ec040f83a6f4c78d9f
2018-09-25 11:40:54 +00:00
Ha Manh Dong
79da68fab6 Fix missing slash at mount volumes for prometheus-cadvisor
Change-Id: I0444b23aee900d028c879ec64d153d59a18ff504
2018-09-25 10:41:42 +07:00
Zuul
4431b1d0fa Merge "Update rabbitmq to use new conf & clustering" 2018-09-24 15:07:28 +00:00
Zuul
3c1616ffbc Merge "Switch to stestr" 2018-09-24 11:07:48 +00:00
Mick Thompson
331d2f053f Add swift as gnocchi storage option
- Uses swift if swift is enabled.
 - Uses ceph if ceph is enabled.
 - Defaults to file if swift and ceph are enabled.
   Explicitly set to swift or ceph when both are enabled.
 - Include swift client detail in storage section of gnocchi conf

Change-Id: I78df9a2fbe546038e1d6df350d8db0fd9b6f6d49
2018-09-24 10:42:05 +01:00
Mark Goddard
652b78fc51 Fix POST_FAILURE in CI when ARA DB doesn't exist
If the main CI job fails before generating an ARA report, the SQLite
database file will not exist. This cases the job to fail with
POST_FAILURE, rather than FAILURE, and the following is seen in the
logs:

rsync: change_dir "/home/zuul/.ara" failed: No such file or directory
rsync error: some files/attrs were not transferred (see previous errors)
(code 23) at main.c(1655) [Receiver=3.1.1]
rsync: [Receiver] write error: Broken pipe (32)

This change fixes this by checking for an SQLite database file, and only
intiating the rsync transfer if it exists.

Change-Id: I370e5bc9f137abe552918a3215a025fa61e3a0ca
2018-09-24 09:32:02 +01:00
Zuul
0b6e401c4f Merge "Add support Octavia network interface" 2018-09-23 05:25:53 +00:00
Zuul
0c03f6041e Merge "Remove compute hosts from etcd group" 2018-09-23 05:16:28 +00:00
confi-surya
dfd372b6e2 Revert commit of fixing ceph gates
This patch is to test and revert the change

Change-Id: If930306a357e40ad02c4d7f71779701a9a52b94a
revert: Ie8feb03e9a07a6486a8b375d3304c9e6f1f8b890
2018-09-23 04:29:47 +00:00
Zuul
4ceb58bad0 Merge "Fix aodh task name" 2018-09-21 18:34:40 +00:00
Zuul
cbfcded0a7 Merge "Allow custom fluentd input configurations" 2018-09-21 17:29:02 +00:00
Paul Bourke
b163cb02d1 Update rabbitmq to use new conf & clustering
Depends-On: I75e00312b36e1678b90a42cf58d24652323eff27
Change-Id: Ia716fabffca41eff816e59bbf9f4cab79ee8b72f
2018-09-21 16:47:59 +00:00