76 Commits

Author SHA1 Message Date
Jeffrey Zhang
a692718c00 Ensuring the openvswitch_db is ready before creating bridges
Change-Id: I42550c57222de4ad5556e95d40bb96528bc1d085
Closes-Bug: #1533942
2016-02-12 02:02:34 +08:00
SamYaple
ddb7cd88c5 Convert Neutron to thin containers
*** Requires Docker 1.10 which is released ***

Documentation will be in the next patch. You must set the following
in your docker.service daemon control file for propogation to work:

    [Service]
    MountFlags=shared

======================================================================

Thanks to mount propagation in Docker 1.10 we can use thin containers
finally! This is extremely useful to operators since now they can
access the network namespaces from the hosts (outside the neutron
container). But additionally it allows us to implement the VPN agent
and other services easier.

Neutron containers and the neutron role are brought into the standards
of the new Kolla. Completely with drop-root and ansible formating
updates.

The ip_wrapper.py script was (thankfully) not needed so it has been
removed from the repo.

Partially-Implements: blueprint upgrade-neutron
Change-Id: Iaf5555283240457e1912459f397a6393d886fba1
2016-02-06 07:13:47 +00:00
SamYaple
e8d66766f0 Fix gate for docker 1.10
Docker 1.10 has broken the gate and this patch will correct that
breakage.

The issue comes with rsyslog. Due to a commit in Docker 1.10 [1] we
must change the way we get the log socket for rsyslog. The /dev/
folder will no longer populate as we used it. So instead we simply
make a new socket in a path we control and share that to the correct
location in the containers.

Additionally, adjust the gate for new Docker daemon.

[1] https://github.com/docker/docker/pull/16639
Partially-Implements: blueprint kolla-upgrade
Change-Id: I881a2ecdf6d7b35991e1d38a3f3e60d022d6577f
2016-02-06 06:48:53 +00:00
SamYaple
80b7266ed1 Rename kolla_ansible to kolla_toolbox
This change is needed for clarity. We have a kolla-ansible script.
We have a kolla-mesos repo. We plan to have a kolla-ansible repo.
Already we have had far too much confusion about whether we are
talking about the container or the project. Naming this kolla-toolbox
eliminates all of that confusion and its probably a bit more accurate
of a name too.

Closes-Bug: #1541053
Change-Id: I8fd1f49d5a22b36ede5b10f46b9fe02ddda9007e
2016-02-02 18:12:15 +00:00
SamYaple
6d8959a962 Update all bootstraps to use Label
Add bootstrap label to all bootstrap containers to ensure that when
the a new container is launched a difference is seen between it and
the bootstrap container since we cannot rely on ENV variables for
this. This only affects mariadb at this stage, but it is needed to
ensure rabbitmq works when we switch to named volumes.

Change-Id: Ia022af26212d2e5445c06149848831037a508407
Closes-Bug: #1538136
2016-01-28 20:26:41 +00:00
Michal Jastrzebski
375965ddfb Add stub upgrade.yml
After introduction of pull action and turing every main.yml into
{{action}}.yml we lost ability to perform upgrade

Change-Id: Ie9fa2cd083b061033abc733fba53d54f9c55e393
Fixes-Bug: #1538210
2016-01-26 11:52:19 -06:00
Jenkins
801f84ed11 Merge "Add debug option in config file" 2016-01-21 22:44:03 +00:00
Ice Yao
e1ff26612f remove option verbose define in defaults/main.yml
References: https://review.openstack.org/#/c/269042/

TrivialFix

Change-Id: Ief08781342a06f956fc4cf00ba4383759da8c897
2016-01-20 16:17:05 +08:00
Ice Yao
83df0f8612 Add debug option in config file
Config file use *_logging_debug as debug default value

Change-Id: I41102fff9056a82f7307694252adff0aedcf2658
2016-01-20 15:44:27 +08:00
Wanlong Gao
66f5802daa Use driver instead of deprecated notification_driver in config
TrivialFix
https://review.openstack.org/#/c/249508/

Change-Id: Ie2732ee116b6b4b3e0210eb1f62fc72878d8c277
2016-01-19 17:09:19 +08:00
Allen Gao
3729755da0 remove option verbose from config files
Option "verbose" from group "DEFAULT" is deprecated for removal.
Its value may be silently ignored in the future.

If this option is not set explicitly, there is no such warning.
Furthermore, the default value of verbose is true, so there is
no need to set this value in config files.

TrivialFix

Change-Id: I3ec2a8900c984a64bc0645672ef89a63975f7f4e
2016-01-18 21:29:36 +08:00
Wanlong Gao
181b4947dd Use auth_type instead of deprecated auth_plugin
TrivialFix

Change-Id: I33924d6de43126ff8523883eebce703c976f9a1a
2016-01-16 07:44:14 +08:00
Hui Kang
a755aa88e4 Fix wrong integration bridge configuration name in ml2 conf
Change-Id: Idd8d0c41fb527634fcbb74da415c99a3e3995e3c
closes-Bug: #1534666
2016-01-15 12:08:18 -05:00
SamYaple
79f4883cc8 Allow neutron role to pull images
Change-Id: I81b75f51937c0365cfc3b7066d5f418a8bacd7ea
Partially-Implements: blueprint pre-pull-images
2016-01-06 04:23:28 +00:00
SamYaple
8af400733d Convert to named volumes instead of data container
This intentionally leaves out rabbitmq from this patchset. It will
require additional work to remove its data container

UpgradeImpact
Partially-Implements: blueprint docker-named-volumes

Change-Id: Id68b8e43a3c077ef4f4f4d67ea34d0692e66eef7
2016-01-03 16:44:44 +00:00
SamYaple
4bd6285dc7 Convert neutron to kolla_docker
Change-Id: Id58586ac20ee081eb731deb23e5f8dc26dfb8cc2
Partially-Implements: blueprint kolla-docker-module
2015-12-31 16:38:56 +00:00
Hui Kang
047dbf12e0 Enable nova fake driver in nova containers
- See instructions in doc/nova-fake-driver.rst

Implements: blueprint nova-fake-driver

Change-Id: I553a40c2df39bdcc391eb1b8b2b8fd5f4ed48c33
Signed-off-by: Hui Kang <kangh@us.ibm.com>
Signed-off-by: Marcio D. Silva <marcios@us.ibm.com>
2015-12-29 06:39:35 -05:00
Jenkins
027e70f9a2 Merge "Simplify config creation" 2015-12-23 13:19:08 +00:00
Jenkins
4a2e728688 Merge "Convert to pymysql" 2015-12-22 15:47:02 +00:00
SamYaple
026942e9c5 Convert to pymysql
Closes-Bug: #1528432
Change-Id: I6e56f283521b29678964cb655ac3cff2d13b8246
2015-12-22 04:30:32 +00:00
SamYaple
ed82afa8e9 Simplify config creation
Convert config creation from a playbook to an action_plugin. This
reduces the complexity and confusion while retaining the same augment
structure and flexibility.

This allows us to remove the 0-byte files as requirements. They will
still be used if they are present (this means we require additional
documentation around them).

DocImpact
Closes-Bug: #1528430
Change-Id: I2c789f6be9f195c7771ca093a6d59499564b4740
2015-12-22 04:28:53 +00:00
OTSUKA, Yuanying
903c7d4c3f Fix retrieving api_interface
In heterogeneous environment, api_interfaces are different each other.
So we should specify it from hostvars.

Implements: bp configure-network-interface
Change-Id: Id15d70bfb9ebb62a64a3847a6b77407efb171dbe
2015-12-16 15:55:11 +09:00
Sean Mooney
9ce814619a configure ovs bridge in openvswitch-db container
- this change moves the ovs_ensure_configured.sh  file to the
  openvswitch-db container.
- this change reorders the plays in ansible/roles/neutron/tasks/start.yml
  to configure the ovs bridges before starting the vswitchd container.

Change-Id: Ied1a82d48377534c15680406df9a96caf3b79515
Closes-Bug: #1522133
2015-12-03 20:13:21 +00:00
Michal Rostecki
febcb600f1 Source installation in virtualenv
Use virtualenv for installation of OpenStack projects and
dependencies to avoid conflicts with Python libraries installed
by non-OpenStack binary packages.

Change-Id: I21ecd673b2e93335b1d3dd4e279e940c9d694c3c
Implements: blueprint virtualenv
2015-11-27 10:22:17 +01:00
Jenkins
6fb514e06b Merge "Fix neutron ml2 configuration for Ironic" 2015-11-26 14:36:57 +00:00
Andrey Shestakov
a83e53f15e Fix neutron ml2 configuration for Ironic
vxlan should be allowed in tenant_network_types because it used in
tunnel_types.
Allow all flat networks when ironic enabled.

TrivialFix
Change-Id: I39b2fbf26bb4c9047e7c3ea5ca7749ae113e4ed8
2015-11-26 11:48:50 +00:00
Ryan Hallisey
6989e876f7 Add OVS-data container
Change-Id: I488b386ef6864f88b7693cf028626330f5414638
Implements: blueprint ovsdb-data
2015-11-25 14:04:47 -05:00
Sam Yaple
970617b80a Make the database json variable more readable
Additionally remove tty from the container cleanup docker section. It
was added in a sed in a previous patchset by serves no purpose.

Change-Id: Ib617870616bca687f72ffaa44b2e9a3a11ef1011
Partially-Implements: blueprint cleanup-playbooks
2015-11-23 17:24:22 +00:00
Hui Kang
790bf336d5 Fix bootstrap for services
The bootstrap tasks could be started on any node listed in the
site.yml

The issue is that all the tasks must run on the same node, and the
only node that all the tasks can run on is the 'api' node due to
needing to start the bootstrap container which binds in the configs.

delegate_to is required to ensure that the proper node gets the task.

Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Ica04ab366777a571a92212ac22c482f1881d4ecd
Closes-Bug: #1513598
Related-Bug: #1513439
2015-11-23 17:09:36 +00:00
Sam Yaple
6b28343017 Incorrect parsed variable name
database_user_create was not correctly referenced when parsing the
variable names. This could never actually lead to a situation that
reported a false change, but it could break an operation if you were
using the --step option with ansible and skipped the database create
task.

TrivialFix
Backport: Liberty

Change-Id: Idf69fffcc3814f509448ccea11b7d175f074ccf1
2015-11-09 10:47:15 +00:00
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
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
Jenkins
fbf0daf1de Merge "Neutron-server should be on control group" 2015-10-09 17:28:23 +00:00
Nguyễn Duy Vũ (CBR09)
44d1103587 Neutron-server should be on control group
It's convenient for tools/init-runonce work properly
Closes-Bug: #1503999
backport: liberty
Change-Id: I2d9f97e59ae4de3404f95a5231103cdd40a68835
2015-10-09 23:43:02 +07:00
Sam Yaple
a38868f9cb Fix wrong sysctl variable name (part 2)
Change-Id: I8e4c9beb90a0b289f56947ca6292f6455e26e07b
Closes-Bug: #1503416
2015-10-07 07:59:25 +00:00
Jenkins
719740ade8 Merge "Set sysctl values" 2015-10-06 05:20:36 +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
Sam Yaple
0700100d82 Set sysctl values
A few sysctl values are required for networking to work. All of them
are documented at docs.openstack.org and while some of them are the
defaults on systems, they should be explicitly set since networking
will break without them set.

Change-Id: I4507eb2602e52eeab61bdceea4c94b1c35696a7d
Closes-Bug: #1482794
2015-10-04 06:29:20 +00:00
Jenkins
2599e221a8 Merge "Neutron Agents json support" 2015-09-29 10:12:57 +00:00
Ryan Hallisey
4f15ac8008 Neutron Agents json support
Neutron Agents is a special case for json support. Since it's a fat
container, there will be multiple commnds that will need to be run
in the container.  In order to account for this, the commands will be
hardcoded until the agents are split out to their own containers.
The files will be copied the normal way.

Co-Authored-By: Steven Dake <stdake@cisco.com>

Change-Id: I9fc226cc7b82c2594db5814d30d453a29a4af8c0
Partially-Implements: blueprint replace-config-external
Closes-Bug: #1500566
2015-09-28 23:45:03 -07: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
76920be5fa Rename ovs to openvswitch
Our openvswitch image does not follow the naming convention of any of
our other containers and it should.

Change-Id: If1b815117bb39df74061218e48778479b8d674bc
Closes-Bug: #1500392
2015-09-28 11:10:17 +00:00
Sam Yaple
94ea43fa55 Replace config-external - openvswitch
Change-Id: Ib05442c6ee146d2deb49fc235ba16fc7e0c3d6c8
Partially-Implements: blueprint replace-config-external
2015-09-27 13:44:50 +00:00
Jenkins
d66eaf65e3 Merge "Add missing when statments when copying JSON files in ansible" 2015-09-25 13:53:11 +00:00
Ryan Hallisey
0ebb67346f Add missing when statments when copying JSON files in ansible
Change-Id: I865b3f4c63520ec318c8b50f4ba60b5715d283ee
Partially-Implements: blueprint replace-config-external
2015-09-24 13:36:54 -04:00