191 Commits

Author SHA1 Message Date
Jenkins
037bdca42d Merge "bootstrap takes place on the wrong node" 2015-11-06 03:32:36 +00:00
Jenkins
58a9759b84 Merge "Allow disabling of sysctl values" 2015-11-06 03:31:22 +00:00
Sam Yaple
e2bc9dcf79 bootstrap takes place on the wrong node
The bootstrap must occur on the nova-api node due to binding in the
nova-api directory (same goes for all other services)

Closes-Bug: #1513439
Backport: Liberty
Change-Id: Iab88b49712828085e4d7e7f85e6d8f0b7999a9bf
2015-11-05 16:30:44 +00:00
Sam Yaple
1efdf4574d Allow disabling of sysctl values
The main reason for this change is to allow the DinD stuff to work. It
has limited use outside of that use case, but it may still be useful
to others in the future.

Change-Id: Ib3a4639cfb3fc0d378d33fc8b9ff8eb597f818ab
Partially-Implements: blueprint multinode-gate
2015-11-05 16:29:25 +00:00
Sam Yaple
347730cec8 Remove vip for rabbitmq
Adjust all the configs to list all the rabbitmq hosts rather than
running rabbitmq through the VIP. This is made possible by clusterer
which has already merged.

Change-Id: I5db48f5f10ec68f4c8863a29bc13984f6845a4f9
Partially-Implements: blueprint rabbitmq-clusterer
2015-11-05 15:43:20 +00:00
Vladislav Belogrudov
f4eb89f8b0 HAProxy does not have murano-api configuration
This commit fixes configuration for murano-api HA

Change-Id: I6b6f2c266cbb4c8131a949e31094572dad91fc40
Closes-Bug: #1510921
Backport: Liberty
2015-11-01 20:27:02 +00:00
Sam Yaple
b2ac6e80cd Add tty to containers
sudo requires a tty to function by default on centos. Instead of
tweaking the sudo conf we can just add a tty. This has the added
advantage of making the containers more friendly if you have to
`docker exec -i <container> bash` into them.

Change-Id: If97a02ca1d37c243a787d98ade54bde8d641aecd
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-14 10:54:33 +00:00
Sam Yaple
c5be228be8 Bump ansible to 1.9.2
Ansible 1.9.2 contains the fix needed for docker-py >1.2.0

This is needed for some gate reasons, but it is also a good version
bump because it fixes a few issues with delegate_to.

Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:34 +00:00
James McCarthy
c879b1f271 Updated haproxy config to include swift api
Closes-bug: #1503197
backport: liberty
Change-Id: I5c233298312dabeb43efa4821855c77fd81aae67
2015-10-06 10:30:04 +01: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
Jeff Peeler
f5a50a1d7d Add Ansible support for Ironic
Configuration based off upstream documentation here:
http://docs.openstack.org/developer/ironic/deploy/install-guide.html

A few notes:
-ironic-api is not configured to use mod_wsgi
-several places it's noted that discoverd is going away and needs to be
replaced with ironic-inspector - (sqlite connection should be changed
too)
-currently enabling ironic reconfigures nova compute (driver and
scheduler) as well as changes neutron network settings
-a nice enhancement would be to configure the web console

Required post-deployment configuration:

Create the flat network to launch the instances:

neutron net-create --tenant-id $TENANT_ID sharednet1 --shared \
--provider:network_type flat --provider:physical_network physnet1

neutron subnet-create sharednet1 $NETWORK_CIDR --name $SUBNET_NAME \
--ip-version=4 --gateway=$GATEWAY_IP --allocation-pool \
start=$START_IP,end=$END_IP --enable-dhcp

And then the above ID is used to set cleaning_network_uuid in the neutron
section of ironic.conf.

Change-Id: I572e7ff1f23c4e57a2c50817cafe9269fd9950dd
Implements: blueprint ironic-container
2015-09-28 16:10:43 -04:00
Sam Yaple
ae30857144 bind haproxy to single interface
Change-Id: I0c9d85ec7da98d32b94d1e61538fe20333536d39
Closes-Bug: #1500159
2015-09-27 09:17:51 +00:00
Sam Yaple
9f99d63ea2 Stop haproxy from listening on ports it shouldnt
Haproxy is currently setup to listen on all services, even ones that
aren't being installed (e.g. cinder or swift). This patch places
conditionals around those groups.

Change-Id: Ia1ff873ce075768dfebf442aabf13604076ce637
Closes-Bug: #1500157
2015-09-27 08:46:04 +00:00
Sam Yaple
89ecfc164e Replace config-external - haproxy keepalived
Change-Id: I668c31401305713e720f0f0ae8ec18e320ea1c76
Partially-Implements: blueprint replace-config-external
2015-09-25 11:06:27 +00:00
Hui Kang
83157d1a19 Add nova_novncproxy port to haproxy configuration
Make novncproxy_port configurable

Change-Id: I54f7918b1927562baf2e125b7f5c8edaec87e993
Closes-Bug: #1497673
2015-09-22 15:48:09 +00:00
Qiu Yu
c7ceca711a Expose HAProxy stats for management purpose
Change-Id: Ia7263a9993e29c8f3db71e86264b786398224223
Closes-Bug: #1496658
2015-09-17 09:55:27 +08:00
Jenkins
d5990ce93f Merge "First keepalived container is started with wrong priority" 2015-09-10 12:17:28 +00:00
Vladislav Belogrudov
808aa0e5c3 Ansible does not wait for virtual IP to appear
VIP takes time (10-30 seconds) to appear on one of network nodes.
Ansible does not wait for the VIP and starts keystone. The latter
fails because it cannot connect to database thru the VIP.

Change-Id: Ie951ee22565bdbe8ccb68522648758a7174ba156
Closes-Bug: #1494253
2015-09-10 13:47:46 +03:00
Vladislav Belogrudov
9d156eb005 First keepalived container is started with wrong priority
First keepalived container is started with priority 0 but the
latter should be in range 1-255. This gives error and keepalived
resumes with default priority 100.

Change-Id: Ib11d0072a96b818d86c81a32e78118c0c82b74d8
Closes-Bug: #1494237
2015-09-10 13:22:00 +03:00
Sam Yaple
c68c9d95fc Gather facts from the hosts before using them
Haproxy needs to have gathered facts from all hosts that it will use
information about. In this case it must talk to all of the api hosts
as well as the database and rabbitmq hosts before generating the
configuration file.

Change-Id: I99b7dbebd5a6193e192ee258ddf576d18db90ed7
Closes-Bug: #1482406
2015-09-07 12:04:28 +00:00
Steven Dake
5e521f0550 Add Ansible support for Heat
This changes bootstrapping of the Heat container to bootstrap
the Heat container with a heat domain user.  This requires some
work from bootstrap.yml to pass in several environment variables
needed by the heat domain setup script.

Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Iab05983754fa514835cb5ff54d775faa18773110
Partially-implements: blueprint ansible-heat
2015-08-29 23:58:54 -07:00
Sam Yaple
2868390503 Update Haproxy for Horizon
Change-Id: I725efca9f26b73abd855e6fc90fc1694c4a9d22a
Parially-Implements: blueprint ansible-horizon
2015-08-25 07:41:13 +00:00
William Frischemeier
c4611eca8e Load ip_vs module for keepalived
If ip_vs is not loaded keepalived will enter a restart loop.  To fix that
load ip_vs module every time we start the container.

Change-Id: I6b39d8654cc6a6da7a9162e5c3efab073746b246
Closes-Bug: #1486276
2015-08-19 17:45:16 -04:00
Jenkins
b36abefd8f Merge "Update mariadb confs and ports" 2015-08-13 20:19:44 +00:00
Sam Yaple
061d290e53 Remove bootstrap.yml abstraction for haproxy
Change-Id: Ia7328ff96ba22db1b132bfefaa433af9dc666cbf
Partially-Implements: blueprint remove-abstraction-ansible
2015-08-13 05:10:08 +00:00
Sam Yaple
cf3fd4043a Update mariadb confs and ports
Cleanup all options in galera.cnf. Bind to all interfaces and ports
appropriately.

Change-Id: I516613d09673ba61aadda2c7bbb4abbbe4ea47ac
Partially-Implements: blueprint update-configs
Closes-Bug: #1478330
2015-08-13 02:27:38 +00:00
Jenkins
15f058d243 Merge "Update nova.conf and ports" 2015-08-12 20:22:37 +00:00
Jenkins
15041bd4cc Merge "Update rabbitmq confs and ports" 2015-08-12 20:22:30 +00:00
Swapnil Kulkarni
18f0e536f6 Add ansible support for Cinder
Change-Id: I0694e5ad95aa7f924ebd3a29dff1f85e6307b7ae
Partially-implements: blueprint ansible-cinder
Partially-Implements: blueprint remove-abstraction-ansible
Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
2015-08-12 03:41:48 +00:00
Sam Yaple
d91346377e Update nova.conf and ports
Cleanup all options in the minimal nova.conf. Remove options where
the default value was specified explicitly. Updated ports and bindings
to be configurable.

Partially-Implements: blueprint update-configs
Change-Id: I0bca7a8f9c4c6fa40145d66a95de7e98edc0edce
2015-08-10 23:54:52 +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
1ab8bc184c Fixes group name for keepalived.conf
Also included is removing the executable bit on haproxy.cfg.j2 as it
should not have those permissions in the repo. It has no affect on the
templating process.

Change-Id: I9c76e528896bdf1799b8eeb62ae77bc4ad0b4449
Closes-Bug: #1482832
2015-08-08 05:28:07 +00:00
Jenkins
4811fd7251 Merge "Add check_script for haproxy in keepalived" 2015-08-07 18:38:43 +00:00
Sam Yaple
98a379b0fd Reduce dependencies on the dest nodes
Currently we require a slew of deps on each destination node, this
includes a gcc compiler and installing things via pip. We can remove
these dependencies by containerizing them and running and Ansible
inside the container itself. The container would then report back
facts about idempotency.

DocImpact
Closes-Bug: #1481495
Implements: blueprint containerize-dependencies
Change-Id: I3dfccbf9fafc06ffc36e78f3006fe5d3367891df
2015-08-06 01:32:05 +00:00
Sam Yaple
8ede380f1d Add check_script for haproxy in keepalived
This patch checks that haproxy is alive and running. It does this by
using socat to talk to the haproxy socket. That socket will only
respond successfully when haproxy is active and functional.

Change-Id: I528588d5742071103c28109a69842a6f935232c2
Closes-Bug: #1478570
2015-08-05 11:10:53 +00:00
Vladislav Belogrudov
2887c6d2e4 Add missing slash if docker registry is specified
If user specifies registry a full image name is constructed by
concatenation of the registry, namespace and image. Currently
concatenation does not include '/' if registry is non-empty but
it should. If registry is empty '/' is not required.
This fix covers both use cases with help of Ansible filter.

Change-Id: I0588dd0da55d777e6caa7eb47d51b2435d38d5e0
Closes-Bug: #1479013
2015-07-31 18:38:16 +03:00
Jenkins
e9db94135d Merge "Rename role name to service name" 2015-07-31 09:03:50 +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
Sam Yaple
3bc9adf9b2 Forces metadata to bind to single interface
Also adds haproxy config for metadata.

Change-Id: I65c1ae5f491d66bf4dccaa38a9a2ad4026c1f72e
Closes-Bug: #1478333
2015-07-30 19:10:11 +00:00
Sam Yaple
ab9f652113 Add keepalived to ansible
Adds the needed ansible bits to support keepalived

Closes-Bug: #1479934
Change-Id: Iace29b23a0e923b1f5dc9a4f5bc0f88afce3ae62
Partially-Implements: blueprint ansible-service
2015-07-30 19:08:22 +00:00
Michal Jastrzebski (inc0)
2d920745a4 Ansible install of HAProxy
This commit consists HAProxy ansible bits including config generation,
container deployment and hot reloads.

Closes-Bug: #1477915
Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Ie93fa68fdb6b2885889c992ff1267d38b68e0cbc
Partially-implements: blueprint ansible-service
2015-07-28 15:46:42 +00:00