4449 Commits

Author SHA1 Message Date
Yang Youseok
50a72cac17 Provide support for neutron dev mode in kolla
Add a possibility to mount sources as volumes to containers,
in "more than documentation" way. That will let us to use kolla
as a replacement for devstack.

Partially implements: blueprint mount-sources

Change-Id: I4868ed6829bd037e1012d1f40c4a1d1b9995bf95
2019-04-19 12:25:37 +09:00
Zuul
b28ffeb27d Merge "Remove RabbitMQ support from Bifrost" 2019-04-15 11:30:57 +00:00
Zuul
2fac00f500 Merge "Add become for prometheus-openstack-exporter tasks" 2019-04-13 14:18:04 +00:00
Mark Goddard
88bf4075bd Don't install empty package name on old Ubuntu
Follow up to https://review.openstack.org/#/c/651136/, which fails on
Ubuntu versions prior to 18.04.

Change-Id: I74a85dec95ceed7c6eeafb9eb1920c7c30b3e64a
Related-Bug: #1813492
2019-04-10 12:07:33 +01:00
Mark Goddard
33564a0097 Remove RabbitMQ support from Bifrost
During the Train cycle, Bifrost switched to using JSON-RPC by default
for Ironic's internal communication [1], avoiding the need to install
RabbitMQ. This simplifies things, so we may as well remove our custom
configuration of RabbitMQ.

[1] https://review.openstack.org/645093

Change-Id: I3107349530aa753d68fd59baaf13eb7dd5485ae6
2019-04-10 11:30:50 +01:00
Zuul
7eb0da0d71 Merge "Use ironic inspector 'dnsmasq' PXE filter by default" 2019-04-10 09:17:41 +00:00
Zuul
416d840094 Merge "Make monasca notification templates optional" 2019-04-10 09:01:24 +00:00
dommgifer
a174cfad17 Add become for prometheus-openstack-exporter tasks
Add become to copy cloud config file for openstack exporter.

Change-Id: I4c0c325e9dd1f41ca2c4667178a4fa674fa23ec5
Closes-Bug: #1824098
2019-04-10 16:42:11 +08:00
Zuul
69ded017af Merge "Don't use easy_install on Ubuntu 18+" 2019-04-10 06:12:48 +00:00
Mark Goddard
c1c02f67dc Don't use easy_install on Ubuntu 18+
Currently easy_install is not available on Ubuntu 18+ due to [1]. In
that case, install pip via apt rather than easy_install.

[1]
https://bugs.launchpad.net/ubuntu/+source/python-setuptools/+bug/1774419

Change-Id: Id358fdb655d71490b0915680dff131cfe33f4a40
Closes-Bug: #1813492
2019-04-09 09:28:42 +01:00
Mark Goddard
86e83faeb1 Use ironic inspector 'dnsmasq' PXE filter by default
With Docker CE, the daemon sets the default policy of the iptables
FORWARD chain to DROP. This causes problems for provisioning bare metal
servers when ironic inspector is used with the 'iptables' PXE filter.
It's not entirely clear why these two things interact in this way,
but switching to the 'dnsmasq' filter works around the issue, and is
probably a good move anyway because it is more efficient.

We have added a migration task here to flush and remove the ironic-inspector
iptables chain since inspector does not do this itself currently.

Change-Id: Iceed5a096819203eb2b92466d39575d3adf8e218
Closes-Bug: #1823044
2019-04-08 17:00:52 +00:00
Mark Goddard
a0e214115c Make monasca notification templates optional
backport: stein

If I deploy monasca by setting enable_monasca to true, the monasca_notification
restarts with the following error:

ERROR:__main__:MissingRequiredSource: /var/lib/kolla/config_files/notification_templates/* file is not found

These templates are optional, so we need to mark this directory as optional in
config.json.

Change-Id: Ia2dd835daa7ab1153617cc92f17c2d8d498c73e0
Closes-Bug: #1823726
2019-04-08 15:10:41 +01:00
Mark Goddard
d93c604d7a Remove shutdown of MariaDB
Since we are now in the Train cycle, we can be sure that any running
MariaDB containers can be safely stopped, and we do not need to perform
an explicit shutdown prior to restarting them.

Change-Id: I5450690f1cbe0c995e8e4b01a76e90dac2574d61
Related-Bug: #1820325
2019-04-08 12:25:27 +01:00
Zuul
688ec75e45 Merge "Change heat bootstrap to use internal API interface" 2019-04-05 08:11:23 +00:00
Zuul
d08f06dd64 Merge "Add support for ovsdb conversion" 2019-04-04 07:46:14 +00:00
Zuul
d9a0734fc5 Merge "Use database_address and database_port var for mariadb check" 2019-04-04 07:35:08 +00:00
Jim Rollenhagen
524f969bfc Use database_address and database_port var for mariadb check
This is how services reach mariadb; verify it that way.

Closes-Bug: #1823005
Change-Id: I9924ad050118b8a853e2309654a089f65178cd77
2019-04-03 12:54:21 +00:00
Michal Nasiadka
86910a94db Change heat bootstrap to use internal API interface
This patch fixes Heat deployment with TLS self-signed certs.

Change-Id: Iadf67d1a5eb2b771e34d27fbced5aad15f271822
Closes-Bug: #1822990
2019-04-03 13:22:08 +02:00
Mark Goddard
a4bb8567da Fix up config file permissions on the host
Several config file permissions are incorrect on the host. In general,
files should be 0660, and directories and executables 0770.

Change-Id: Id276ac1864f280554e98b937f2845bb424d521de
Closes-Bug: #1821579
2019-04-02 17:23:31 +01:00
Zuul
0b67ce93eb Merge "Use ipc_mode: host for manila share" 2019-04-02 15:21:37 +00:00
liyingjun
313d7871aa Use ipc_mode: host for manila share
ipc_mode: host should be set for manila share when using LVM driver[1].

[1]: https://docs.openstack.org/manila/latest/install/install-share-rdo.html

Change-Id: If57e623f381f8de1e1433916f2ec37455ad3becd
Closes-bug: #1822713
2019-04-02 11:42:59 +08:00
Zuul
c7ef124557 Merge "Change action to kolla_action" 2019-04-02 03:42:38 +00:00
Zuul
1ee374835a Merge "Cleanup glance-registry" 2019-04-01 11:13:55 +00:00
白永君
4bdb0f3570 Change action to kolla_action
the action show be kolla_action in kolla-ansible/cyborg
Closes-bug: #1822555
Change-Id: I3dd909ae785dd43d5faabbc3fdd5f8bb8aca370b
2019-04-01 18:03:47 +08:00
Zuul
1b64c88986 Merge "Remove recurse: yes for owner/perms on /etc/kolla" 2019-04-01 08:33:33 +00:00
Zuul
78fefb7df4 Merge "add version to OPENSTACK_KEYSTONE_URL" 2019-03-29 14:42:39 +00:00
Zuul
98e6328f6f Merge "Nics for dpdk should be binded to proper dpdk driver" 2019-03-29 12:12:49 +00:00
Erol Guzoglu
dd97c78684 add version to OPENSTACK_KEYSTONE_URL
"v3" is supposed to be part of the OPENSTACK_KEYSTONE_URL:
https://docs.openstack.org/horizon/latest/admin/customize-configure.html#configure-the-dashboard

Closes-Bug: #1822257

Change-Id: I5fd2d36305172d351fbfa9141c7cbc7c5af98f3b
2019-03-29 14:38:59 +03:00
Michal Nasiadka
2a6070b963 Add support for ovsdb conversion
After upgrade we should check if OVSDB doesn't need conversion to new
version - this patch adds that to ovsdb start script.

Change-Id: Ifa8766d050b506708142a1970121ce5944c6bae1
Closes-Bug: #1792496
2019-03-28 20:33:00 +01:00
Zuul
ed5588c934 Merge "Don't pull images during upgrade" 2019-03-28 12:41:22 +00:00
Zuul
03d3885a56 Merge "Add cyborg to kolla-ansible" 2019-03-28 08:20:13 +00:00
Zuul
14bcf33eb0 Merge "Retry perform a synced flush task while upgrading elasticsearch" 2019-03-27 20:15:03 +00:00
jamesbagwell
c0a3970e36 Removing '/certificates' entry in generate.yml as this causes an
incorrect path when generating certificates.

The 'setting permissions on key' task fails because the task looks for
the haproxy.key in an invalid path. The certificates_dir is defined as
'{{ node_config }}/certificates' in the main.yml . The 'Setting
permissions on Key' task has a path of '{{ certificates_dir
}}/certificates/private/haproxy.key which is incorrect. Removing the
'certificates' in the path corrects this problem and allows the user to
successfully create certificates using 'kolla-ansible certificates'.

Change-Id: I37b10b994b05d955b6f67c908df1472231a91160
Closes-Bug: 1821805
2019-03-27 09:26:58 -06:00
Serhat Demircan
adb02958e7 Retry perform a synced flush task while upgrading elasticsearch
The synced flush fails due to concurrent indexing operations.
The HTTP status code in that case will be 409 CONFLICT. We can
retry this task until returns success.

Change-Id: I57f9a009b12715eed8dfcf829a71f418d2ce437b
2019-03-27 18:14:07 +03:00
caoyuan
47a2c5a85e update the event_connection to connection for panko
more infomation, refer to the panko docs[1] or code[2]

[1]: https://docs.openstack.org/panko/rocky/install/manual.html
[2]: 9c4677f178/panko/storage/__init__.py (L39)

Change-Id: Ic7bdf555eb262005ca24f675cd8cee09d9bc3092
Closes-Bug: #1690843
2019-03-26 19:17:54 +08:00
Zuul
4a5d8b0d05 Merge "Add mising handlers for external Ceph." 2019-03-26 06:17:09 +00:00
Zuul
0a3bf6b27f Merge "Fix MariaDB 10.3 upgrade" 2019-03-26 00:25:38 +00:00
Mark Goddard
6b0be5c5ba Remove recurse: yes for owner/perms on /etc/kolla
When kolla-ansible bootstrap-servers is run, it executes one of the
following two tasks:

- name: Ensure node_config_directory directory exists for user kolla
  file:
    path: "{{ node_config_directory }}"
    state: directory
    recurse: true
    owner: "{{ kolla_user }}"
    group: "{{ kolla_group }}"
    mode: "0755"
  become: True
  when: create_kolla_user | bool

- name: Ensure node_config_directory directory exists
  file:
    path: "{{ node_config_directory }}"
    state: directory
    recurse: true
    mode: "0755"
  become: True
  when: not create_kolla_user | bool

On the first run, normally node_config_directory (/etc/kolla/) doesn't
exist, so it is created with kolla:kolla ownership and 0755 permissions.

If we then run 'kolla-ansible deploy', config files are created for
containers in this directory, e.g. /etc/kolla/nova-compute/. Permissions
for those files should be set according to 'config_owner_user' and
'config_owner_group'.

If at some point we again run kolla-ansible bootstrap-servers, it will
recursively set the ownership and permissions of all files in /etc/kolla
to kolla:kolla / 0755.

The solution is to change bootstrap-servers to not set the owner and
permissions recursively. It's also arguable that /etc/kolla should be
owned by 'config_owner_user' and 'config_owner_group', rather than
kolla:kolla, although that's a separate issue.

Change-Id: I24668914a9cedc94d5a6cb835648740ce9ce6e39
Closes-Bug: #1821599
2019-03-25 15:39:21 +00:00
Zuul
14a52effd9 Merge "Fix booting instances after nova-compute upgrade" 2019-03-25 12:53:38 +00:00
Zuul
42d664c156 Merge "Fix neutron rolling upgrade" 2019-03-25 12:53:35 +00:00
Mark Goddard
b25c0ee477 Fix MariaDB 10.3 upgrade
Upgrading MariaDB from Rocky to Stein currently fails, with the new
container left continually restarting. The problem is that the Rocky
container does not shutdown cleanly, leaving behind state that the new
container cannot recover. The container does not shutdown cleanly
because we run dumb-init with a --single-child argument, causing it to
forward signals to only the process executed by dumb-init. In our case
this is mysqld_safe, which ignores various signals, including SIGTERM.
After a (default 10 second) timeout, Docker then kills the container.

A Kolla change [1] removes the --single-child argument from dumb-init
for the MariaDB container, however we still need to support upgrading
from Rocky images that don't have this change. To do that, we add new
handlers to execute 'mysqladmin shutdown' to cleanly shutdown the
service.

A second issue with the current upgrade approach is that we don't
execute mysql_upgrade after starting the new service. This can leave the
database state using the format of the previous release. This patch also
adds handlers to execute mysql_upgrade.

[1] https://review.openstack.org/644244

Depends-On: https://review.openstack.org/644244
Depends-On: https://review.openstack.org/645990
Change-Id: I08a655a359ff9cfa79043f2166dca59199c7d67f
Closes-Bug: #1820325
2019-03-23 10:21:37 +00:00
Mark Goddard
192dcd1e1b Fix booting instances after nova-compute upgrade
After upgrading from Rocky to Stein, nova-compute services fail to start
new instances with the following error message:

Failed to allocate the network(s), not rescheduling.

Looking in the nova-compute logs, we also see this:

Neutron Reported failure on event
network-vif-plugged-60c05a0d-8758-44c9-81e4-754551567be5 for instance
32c493c4-d88c-4f14-98db-c7af64bf3324: NovaException: In shutdown, no new
events can be scheduled

During the upgrade process, we send nova containers a SIGHUP to cause
them to reload their object version state. Speaking to the nova team in
IRC, there is a known issue with this, caused by oslo.service performing
a full shutdown in response to a SIGHUP, which breaks nova-compute.
There is a patch [1] in review to address this.

The workaround employed here is to restart the nova compute service.

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

Change-Id: Ia4fcc558a3f62ced2d629d7a22d0bc1eb6b879f1
Closes-Bug: #1821362
2019-03-22 16:26:36 +00:00
Zuul
33a92b9f7d Merge "Add ceilometer_ipmi container into ceilometer role" 2019-03-22 12:02:22 +00:00
Scott Solkhon
c70d806666 Add mising handlers for external Ceph.
When Nova, Glance, or Cinder are deployed alongside an external Ceph deployment
handlers will fail to trigger if keyring files are updated, which results in the
containers not being restarted.

This change adds the missing 'when' conditions for nova-libvirt, nova-compute,
cinder-volume, cinder-backup, and glance-api containers.

Change-Id: I8e183aac9a72e7a7210f7edc7cdcbaedd4fbcaa9
2019-03-22 11:20:34 +00:00
Zuul
7741925537 Merge "Use endpoint_override for nova-compute-ironic" 2019-03-21 16:22:08 +00:00
Zuul
5841ec7851 Merge "Fix placement-api WSGI error" 2019-03-21 13:52:23 +00:00
Mark Goddard
55633ebf93 Fix neutron rolling upgrade
Services were being passed as a JSON list, then iterated over in the
neutron-server container's extend_start.sh script like this:

['neutron-server'
'neutron-fwaas'
'neutron-vpnaas']

I'm not actually sure why we have to specify services explicitly, it
seems liable to break if we have other plugins that need migrating.

Change-Id: Ic8ce595793cbe0772e44c041246d5af3a9471d44
2019-03-21 12:31:23 +00:00
Michal Nasiadka
779a8013c1 Fix placement-api WSGI error
RDO is packaging placement-api with bundled httpd config
and it conflicts with kolla-ansible generated one.

Change-Id: I018a4ed1b2282e8a789b63e3893e61db2fde8cf2
2019-03-21 12:02:09 +01:00
Mark Goddard
5629b5aad9 Fix swift reconfigure
Reconfiguring Swift currently fails to restart containers if
configuration changes. This is because kolla_set_configs is executed in
the containers as the default swift user, which does not have permission
to access all necessary files.

This change uses the root user to execute the command instead, which
allows it to exit with the correct status of 1 if the config files
differ.

Change-Id: I2a2363c71430a7173bb5253662412ae5dba09654
2019-03-20 18:59:28 +00:00
Mark Goddard
58d6dc3bcf Don't pull images during upgrade
When adding the rolling upgrade support, some upgrade procedures were
modified to pull images explicitly. This is done inconsistently between
services, and is a change in behaviour from Rocky and earlier releases.

This change removes all image pulling from upgrade tasks.

Change-Id: Id0fed17714235e1daed60b83b1f30620f097eb97
2019-03-20 18:51:45 +00:00