24 Commits

Author SHA1 Message Date
Jeffrey Zhang
4c207bc039 Fix rabbitmq upgrade permission issue
During the upgrade from Mitaka to Newton, the uid/gid may change for the
same image. Especially on Ubuntu, we moved to Ubuntu Xenial in Newton
and it added systemd related user which break all the uid/gid during an
upgrade. It will the permissions in all docker named volumes.

This fix extends set_config.py to set the proper permission during
container start. This is super light then add commands in
extend_start.sh file  or add ansible tasks.

This patch just fixes rabbitmq case. Other services will be fixed in
following patches.

Partial-Bug: #1631503
Change-Id: Ib17027b97abbc9bf4e3cd503601b8010325b5c5b
2016-10-13 01:19:05 +08:00
Jeffrey Zhang
7608f1ee65 Revert "Bind EPMD to api interface address"
This issue still exsits when disable ipv6 feature.

This reverts commit 5480bd9b1d3a9efcd3618ddf12718d2621ceeb47.

Change-Id: I1e6c6bff5585cf5a49890668203d6971112c32f1
2016-09-24 11:25:28 +08:00
Jeffrey Zhang
5480bd9b1d
Bind EPMD to api interface address
Closes-Bug: #1562701
Change-Id: Ica68bdee81223232995bc21ad5e5d5fbf9e8b05f
2016-09-14 11:35:10 +08:00
Serguei Bezverkhi
134089d6cd Adding required check for Orchestration Kubernetes
Thgis PS add missing check for Kubernetes orchestration engine,
without these changes, running kolla-ansible genconfig fails
for Kubernetes environment.

TrivialFix

Change-Id: I25eeb7ae3ddba7c924f6d48aa24afdbe74227170
2016-09-12 15:32:42 -04:00
Duong Ha-Quang
d96464e9ee Improve rabbitmq-clusterer template code format
TrivialFix

Change-Id: I735091c4d044344361e604014f3877b608223204
2016-08-19 00:34:16 +07:00
Ken Wronkiewicz
cc4150292c Fix intf address for RabbitMQ and disable cluster for Kube
enable_rabbitmq_cluster is now a "yes" by default but you can set it
to "no" if you want to disable clustering under any circumstances.

The agreement made at OpenStack in Austin was that Kolla-Kubernetes
would concentrate on RabbitMQ and MariaDB without clustering but
with persistent storage and workload migration, then examine how to
do proper distributed functionality as the project progresses, so I
am just following what we'd already agreed upon.

First, it helps us deal with issues of version upgrades without
dealing with clustered version upgrades and the synchronization
thereof.

Second, it provides an alternative model for durability when used in
Kubernetes.  Understand that, if we disable RabbitMQ's clustering,
Kubernetes is still able to re-schedule the queue off of a failed node
in ways that Kolla-Ansible is not.  There are known issues with
RabbitMQ clustering, especially with auto-heal turned on.  For many
small-to-mid-sized clusters, it's going to provide for a better
operator experience to have the known potential for a 30 second blip
after RabbitMQ node failure than it is to have the known potential
for partition and data loss and/or manual operations after you've
turned off auto-heal.

Kolla-kubernetes has already turned off host networking for the
RabbitMQ pod; it's safe to set the interface address in the
Kubernetes context.

The question was asked why don't I just set the RabbitMQ cluster to be
a single instance.  It's unlikely that Kubernetes RabbitMQ with a
PetSet will be clustered in the same declaritive fashion as the
rabbitmq-clusterer plugin. Easier to just disable it and worry about
how to configure the kube-friendly clustered RabbitMQ at a later point
in time.  Furthermore, it's an entirely valid case for many OpenStack
control planes hosted atop Kolla-Kubernetes to accept the possibility
of a 30-60 second blip in lieu of the long and questionable history
of RabbitMQ clustering in production.

Co-authored-by: Ryan Hallisey <rhallise@redhat.com>
Change-Id: I7f0cb22d29a418fce4af8d69f63739859173d746
Partially-implements: blueprint api-interface-bind-address-override
2016-08-10 09:40:54 -04:00
Jeffrey Zhang
e7441a4212 Configure the rabbitmq ha policy in config file
Closes-Bug: #1580884
Change-Id: Ief5917d48dbf6abe4a5861e73b24d534b889bd52
2016-05-23 10:27:33 +08:00
Davanum Srinivas
48b4b15828 Avoid _ in rabbitmq_clusterer.config
Trying to use ConfigMap's in Kubernetes leads to an interesting
problem. We use the file name as the key and the contents of the
file as the text value. The ConfigMap is mounted on the container
as a volume and the key is then used as the name of the file. The
problem is that kubernetes has a limitation on the name of the
key

https://github.com/kubernetes/kubernetes/blob/release-1.2/docs/design/identifiers.md

Which means we cannot use '_' in the name of the file.

Closes-Bug: #1581162
Change-Id: I2d9ec80f989c30893b019954fe18b3623d27a076
2016-05-13 07:39:12 -04:00
Martin André
ed1c71837f Clarify comment about binding erlang to IPv4
The comment was confusing and not explaining what the real issue is
when binding erlang to an IPv4 address.

Change-Id: I819ea137fa37c0b2711efb1e7cb1e518ae26b9ab
Related-Bug: #1562701
2016-04-11 11:16:37 +02:00
Vikram Hosakote
915d3f12b5 Fix rabbitmq crash in centos gate
Please refer to the Closes-Bug identifier for detailed information
pertaining to this issue.

Closes-Bug: #1562701

Change-Id: I77563930e14e11ea48e7edfef0bff80002279381
2016-04-11 06:28:19 +00:00
Jenkins
3424aefe4b Merge "Add quotes for RBMQ nodes definition" 2016-04-10 03:25:14 +00:00
Proskurin Kirill
7829aa27b3 Add quotes for RBMQ nodes definition
erlang parser, cant parse hostname with minus symbol, it returns:
Ignoring external configuration due to error: {1,erl_parse,"bad term"}

Adding single quotes fix this issue.

Co-Authored-By: weiyu <weiyu@unitedstack.com>
Closes-Bug: #1540234
Change-Id: I80e0789aa31febd552a851e6dc3a835d89c0e9d1
2016-04-08 17:29:13 +00:00
SamYaple
8b3f0d0857 Use ubuntu Mitaka repo
The rabbitmq-server package is upgraded to 3.5.7 in cloud-archive
so we update centos to match

The xen-utils package now needs an explict version, xen-utils-4.6 is
what is provided by cloud-archive mitaka

Libvirt 1.3 is in the ubuntu cloud-archive. This has a new daemon for
logging that needs further implementation in newton. For now, it has
been disabled within the qemu.conf

Co-Authored-By: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
TrivialFix
Change-Id: I84217824817c484b6800a64cbd7767b127a3098e
2016-03-14 15:52:48 +00:00
Éric Lemoine
1ded68d2d3 Make Heka collect RabbitMQ logs
Partially implements: blueprint heka
Change-Id: I8fd3324daf15e52712591c2b3cbec613d82b73b3
2016-02-19 20:32:25 +00:00
Sam Yaple
84540a0632 Revert "fix miss rabbitmq config when hostname include special character"
This change breaks ubuntu

This reverts commit 04992a3de0a181a658cae2561a3a1adce313bbf1.

Change-Id: I5e38d4c4a37ee90603ad04ab4b9d03298b6b2eb2
2016-02-04 11:47:28 +00:00
weiyu
04992a3de0 fix miss rabbitmq config when hostname include special character
Change-Id: I46db4d3547b120d1ccd87a48e31b699bdd1aa1a0
Closes-Bug: #1540234
2016-02-02 18:37:44 +08:00
Ryan Hallisey
22def41d37 Drop root privileges for rabbitmq
Drop root privileges for rabbitmq.  Only the rabbitmq user
will be able to execute chown of /var/lib/rabbitmq.

Change-Id: I546e6b475a8462bfbc75972854e1fee64f96d9cb
Partially-Implements: blueprint drop-root
2015-11-12 11:38:17 -05:00
Sam Yaple
d01e9a43dd Use rabbitmq-clusterer when deploying
Change-Id: I2a9c6fa16444a2142ab77f58d188eda84a2e59fd
Partially-Implements: blueprint rabbitmq-clusterer
2015-11-03 04:51:45 +00:00
Sam Yaple
5f200e0446 Fix issue with su and bad kernels
Long story short, some kernels before 3.15 had an issue with using su
in a container when the network namespace was --net=host. The gate
has a 3.10 and a 3.13 kernel and has a problem with this. This changes
everything to use sudo

backport: liberty
Partially-Implements: blueprint functional-testing-gate
Change-Id: I4d79ccaa1cddffcc8393f64e7e1be2538efe33e5
2015-10-13 15:13:55 +00:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
rthallisey
a0bffb2581 Replace config-external with a JSON file for Rabbitmq
Change-Id: Ibb30af44a9362278eff012ff1145374788b06cd5
Partially-Implements: blueprint replace-config-external
2015-09-18 15:19:06 -04:00
Sam Yaple
fe2e454f26 Fix RabbitMQ for Ubuntu
In rabbitmq we removed the requirement for hostname since that is
already installed.

Change-Id: Ia2355e332d53763db630d19663c2ddc8bf3aa425
Paritially-Implements: blueprint install-from-ubuntu
2015-08-20 14:43:32 +00:00
Sam Yaple
3a78bbdef0 Update rabbitmq confs and ports
Cleanup all options in the rabbitmq confs. Allow all ports to be
configurable.

Change-Id: I9b3b485a4f3a25d20c0f19d13638f717daa169dc
Partially-Implements: blueprint update-configs
2015-08-10 05:02:25 +00:00
Sam Yaple
0382909dbb Rename role name to service name
The original purpose for having an abstract like 'database' rather than
the service name of 'mariadb' has been change. Our direction is different
and this patch reflects consistent naming throughout

Change-Id: I704896191cc5243f9dab2a4cca9120e9dc2ceb2c
Closes-Bug: #1478328
2015-07-30 19:35:17 +00:00