64 Commits

Author SHA1 Message Date
Jenkins
28ef995398 Merge "Neutron ubuntu binary container" 2015-12-31 15:22:25 +00:00
Artur Zarzycki
0ce55a9edd Neutron ubuntu binary container
Change-Id: Iae33dfd72755ddc29961d8624fef2f4eb045816b
Partially-Implements: blueprint binary-ubuntu
2015-12-31 01:04:00 +01:00
SamYaple
cda0459ad1 Fix pip install settings
There were some inconsistencies with pip install instructions
thoughout Kolla. We fix those here.

Additionally, we fix the virtualenv to properly use the site-packages
on the host if a library is not available in the venv.

Change-Id: Ib84d48e8826bb96060338b3fa0782620c98794a8
Related-Bug: #1524684
Closes-Bug: #1529434
2015-12-27 03:35:35 +00:00
SamYaple
4457636167 Add missing contraints
There were some missing constraint caps on our pip installs

TrivialFix

Change-Id: I3d0af9556d08a9a0a99248a9992637d08fd3ad01
2015-12-27 02:22:17 +00:00
Paul Bourke
acb13dc5b9 Install plugins in neutron-server if available
Implements: blueprint neutron-third-party-plugins

Change-Id: I56c56bacd2f06c120b14b00c0b97dd4e39c0afc0
2015-11-30 10:01:06 +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
Swapnil Kulkarni (coolsvap)
59a1c8b9fb Remove hardcoded MAINTAINER in Dockerfiles
Added new option in kolla-build.conf

Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56
Closes-Bug:#1514304
2015-11-23 11:03:47 +00:00
Sam Yaple
baf9d93358 Fix namespace regression for neutron
Due the to way network namespaces work, they will not survive a
container restart. This is not an issue related to Kolla or Neutron
but rather an issue with how network namespaces work.

This is putting back into place a workaround that was in correctly
removed in the past. We simply cleanup the namespace cruft when the
neutron-agents container restarts thus avoiding this issue.

Change-Id: Ic16f2f766b4fa46347ea14a1ece5a4653c69d779
Closes-Bug: #1511216
2015-11-16 20:56:39 +00:00
Angus Salkeld
33d39f2942 Fix validate-all-maintainer.sh to look for Dockerfile.j2
And fix the fallout.

Change-Id: Iccad3f4fdb0a6a7c14246df3408cae0425b833a5
2015-11-09 15:20:13 +10: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
Steven Dake
52eb4d8403 Remove an oslo.message 2.2.0 pin
In https://bugs.launchpad.net/kolla/+bug/1483667, oslo.messaging
was pinned to 2.2.0.  This pin is no longer necessary as this bug
has been fixed upstream.

backport: liberty

TrivialFix

Change-Id: Ica9ae41876a754291d4c6ee1235f6e69a4213463
2015-10-07 22:20:28 -07:00
Jenkins
9d7177574b Merge "Remove which from neutron-server" 2015-10-08 03:07:02 +00:00
Steven Dake
2dead81564 Install agent dependencies from source for CentOS
Several packages are not installed from RPM packages which are
required in order for CentOS from source to operate correctly.

This looked like sudo was failing to execute, but it was because
the dnsmasq binary was not found.

backport: liberty

Change-Id: If23cfbacd55d9089ffec442399ee0151adea923f
Closes-Bug: #1503412
2015-10-06 22:59:53 -07:00
Steven Dake
e6391aff36 Remove which from neutron-server
The which tool is installed in the base image now and this extra
install is duplicated and has no effect.

backport:liberty

TrivialFix

Change-Id: I70c3edb11f5c847063b6e4ab4f9de7184356ce57
2015-10-06 21:50:44 -07: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
cb4e875ae1 Common start.sh
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.

The start.sh is moved into /usr/local/bin/kolla_start in the container

The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.

Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.

Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.

Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
2015-10-06 03:30:26 +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
Jenkins
6a622ec82c Merge "Implement a install_type and install_metatype" 2015-09-28 10:49:53 +00:00
Jenkins
aadbbcbee0 Merge "remove set_configs" 2015-09-28 10:34:58 +00:00
Steven Dake
0e99b69de4 Implement a install_type and install_metatype
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.

Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
2015-09-28 03:16:48 -07:00
Sam Yaple
160f1cc011 remove set_configs
Change-Id: I9bb0a1fac63cc326234b0f06b1e56b43e0753279
Partially-Implements: blueprint replace-config-external
2015-09-27 13:44:50 +00:00
Sam Yaple
39aba34b2a Remove all fail sections for Ubuntu
Ubuntu binary is not supported and may never be. Installing from
cloud-archive packaging is only for the current stable distros, Ubuntu
does not have a Delorean type repo. We place a fail message in the
base image to catch this and remove the messages throughout the
project.

An additional fail message is placed to catch all other things.

Change-Id: Id2953f503ebd42226f6a08e75979ae56511c40f7
Implements: blueprint install-from-ubuntu
2015-09-27 08:10:59 +00:00
Sam Yaple
a1b0518b9a Fix removal of config-external
I removed the files but not the COPY commands thus breaking all of
Kolla

Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c
Partially-Implements: blueprint replace-config-external
2015-09-25 20:08:40 +00:00
Sam Yaple
e2e0fd288f Remove config-external.sh
Removes config-external for all services that have been replaced in
Ansible

Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea
Partially-Implements: blueprint replace-config-external
2015-09-25 13:00:55 +00:00
Ryan Hallisey
2c23f2d445 Replace config-external with a JSON file for Neutron (thin)
This is only for the Neutron thin containers.  The Neutron agents
are still in a fat container.  I'll replace in another patch.

Change-Id: I8533af52bfa3f268aa8ffb1c16ae49f5a300da27
Partially-Implements: blueprint replace-config-external
2015-09-24 08:12:19 +00:00
Vladislav Belogrudov
aec595f7f7 Fix broken centos-source- build: add rdo repository
openvswitch requires rdo repository to be installed

Change-Id: I173bb3d32bcef2b890ab482083b0ffb830c3b7fb
Closes-Bug: #1495470
2015-09-17 16:58:07 +03:00
Vladislav Belogrudov
13d4df321a Source type nova-compute and neutron-agents - no ovs-vsctl
When booting a vm with centos-source nova-compute and
some of neutron-agents fails to find ovs-vsctl binary

Change-Id: If1e7b6513babd5623666f01c68815ea8d0a05428
Closes-Bug: #1495470
2015-09-14 17:58:59 +03:00
Steven Dake
6992049323 Add 'rhel' for RPM distros
Add 'rhel' to list for RPM based distros.  Also sort the distro
list for rpm packages for affected lines.

Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed
Partially-Implements: blueprint rhel-based-image-support
2015-09-04 03:12:15 -07:00
Jenkins
91bc4b094c Merge "Allow arbitrary source archive name to be imported into Dockerfile" 2015-09-04 06:24:28 +00:00
Vladislav Belogrudov
c22cf33268 Allow arbitrary source archive name to be imported into Dockerfile
Currently we cannot import source archives with names different
than expected by hardcoded line in Dockerfiles. This worked well
for Openstack services' tarballs where we expected SERVICE-* root
folder after extraction or kanaka-noVNC for nova-novncproxy docker.
The latter fails if one tries to clone or get tarball under other
names. This fix allows any archive (tar,tgz,zip) or repo name to be
imported into dockerfile.

Change-Id: I869a6a19afaf0e93925572746c22b7589b6600c9
Closes-Bug: #1491415
2015-09-03 16:49:50 +03:00
Sam Yaple
9d3f3f28e2 Create openstack-base container
This creates and moves the dependencies for Ubuntu into a common
openstack-base container. This commit shows dramatically smaller
sizes for all non-openstack containers. The Openstack container remain
the same size.

Change-Id: I2f46420d4b9edcfddda374caddcce906fc708f6c
Partially-Implements: blueprint openstack-common-container
2015-09-03 10:37:45 +00:00
Jenkins
c940e156e3 Merge "Fix KOLLA_CONFIG_STRATEGY in neutron agents" 2015-08-31 05:25:15 +00:00
Sam Yaple
45f625a73e Remove dest_filename from build.ini
We can, and should, figure out the filename dynamically rather than
hardcode that value in build.ini since it is not actually a
configurable paramater.

Change-Id: I496d6555e9fa356ab09e62063fd707f43ed08121
Closes-Bug: #1490386
2015-08-31 04:09:59 +00:00
Steven Dake
f2b9292973 Fix KOLLA_CONFIG_STRATEGY in neutron agents
The change from:
I01220077d8d25db5f69802ad27e745d90826d69b

In some way was lost by the gerrit.  This patch just basically
redoes that work so the neutron agents will work properly.

Change-Id: I92ac1b8601d145a0722b37eda937ee2baac7a7c5
Closes-Bug: #1489664
2015-08-30 12:44:43 -07:00
Sam Yaple
cbd42ca6e9 Move docker_templates to docker dir
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.

Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
2015-08-28 13:33:50 +00:00
Sam Yaple
13062e23e8 Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and
naming despite the file structure changing. The symlinks to build had
to be updated generating lots of "deleted" and "new_file".

The new structure is:

docker/${base_distro}/${type}/${container}

base_distro == centos, ubuntu, fedora, etc
type == source, binary, rdo

type rdo is a symlink to binary for backwards compatibility

Two new flags are added to the build-all script to support the ability
to support different base distros and a flag to support binary or source
containers.

There are several added folders that are empty to hold the directory
structure for future containers of these types.

To use a prefix other than centos-rdo- you can set PREFIX in the toplevel
directory .buildconf file

Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
2015-05-15 01:32:22 -05:00
Fang Fenghua
f374a02a75 linuxbridge check.sh not right
linuxbridge check.sh script got wrong
value of status.

Change-Id: I975562a62c9ebf7afc22289dc96e672ed877537c
Closes-Bug: #1452626
2015-05-08 00:32:54 +08:00
Steven Dake
14fb8fd69a Make neutron work with Kilo
Neutron was loading a bunch of modules that are not currently
supported in Kolla.  Remove them as they were causing problems
loading Neutron.

Partially-Implements: blueprint port-kilo

Change-Id: If53071bbb0a22aa05219b9e99ca6d693f96db4ce
2015-05-06 13:54:04 -07:00
Steven Dake
2ef9203ece Move dnsmasq-neutron.conf to /etc/neutron/dnsmasq
The default dnsmasq configuration file doesn't operate with the Kilo
agents in /etc/neutron when used with the --config-dir option.  Instead move
it to a subdirectory.

Change-Id: Iab8a54e879f8e630ba38205750ca9670e82834df
Partially-Implements: blueprint port-kilo
2015-05-06 13:54:04 -07:00
Steven Dake
4942e642cf The Neutron agents need their configuration directory specified
Add a --config-dir specification to each agent run.

Change-Id: I0426caf2ca17185c0789753d4aa9637c5b4327ec
Partially-Implements: blueprint port-kilo
2015-05-06 13:54:04 -07:00
Steven Dake
dd06c2347b The neutron dockerfile needs an update for Kilo
policy.json comes from the openstack-neutron package and is required
for the agents to run.  So install it.  fwaas_driver.ini has been deleted
in master and in the kilo branch, but the agents won't run without the
file present.  So copy one from the Juno release.

fwaas_driver.ini is probably not actually required, but there is a
configuration problem somewhere in our Neutron code base.  We are out
of time for the Kilo branch, so this short term workaround should be fine.

Change-Id: I154599925308765349634b1a53e598599fc20ec1
Partially-Implements: blueprint port-kilo
2015-05-06 13:54:04 -07:00
Steven Dake
d30f69bc83 Port to icehouse
This represents making build-docker-images --release build
with the icehouse tag and causes docker-compsoe to pull from
the icehouse tag.

Partially-implements: blueprint port-kilo

Change-Id: I66b2c39abc55c0f47152dd90e696fc46b9c58f50
2015-05-06 09:58:43 -07:00
Steven Dake
61cc479e90 Make neutron-server upgrade the database to head
Rather then upgrading to a specific version of OpenStack, just
upgrade to Head.  This works for both juno and kilo.

Change-Id: I6305218eabd7de0878e24c8fdae968ac6d612175
Partially-implements: blueprint port-kilo
2015-05-06 05:33:55 -07:00
Chen Zhiwei
76c1fe6371 Change the default shell to bash
Unify the shell to bash in all Kolla scripts.

Change-Id: Ib9591b2f8f344eb88455c5e9b7ecf2164fb5960a
Implements: blueprint use-bash-shell
2015-04-27 13:26:37 +08:00
Daneyon Hansen
17fc2d9b47 Removes existing network namespaces for neutron-agents container
Previously, network namespaces would not work correctly when
restarting or stop/rm/start the neutron-agents container. This
is because network namespaces created within the container are
associated to the container's pid: /pid/$CONTAINER_PID/ns/net.
With this patch, when a container starts or restarts, the l3/dhcp
agent start scripts will remove any existing qrouter/qdhcp network
namespaces before starting the agents. The agents will recreate the
necessary network namespaces since they are stored in the db.

Closes-Bug: 1444219

Change-Id: Ia86729766fe8c2fc145b3a02d519746b149a73bb
2015-04-21 07:50:48 +00:00
Steven Dake
64a2cf40a5 Add workaround to work with cirros image
The cirros image uses an old dhcp client which does not work
properly with hardware that has checksum offload enabled.  Add
a bootp rule to rewrite the checksum via iptables.

Latest cirros 0.3.33 is afflicted by this bug.

Change-Id: Ibfd1f87af5d0bef9fcb1354121e76e4e0db8ab5e
2015-04-15 19:18:41 -07:00
Steven Dake
095fbd7d7c Neutron doa in current form
The nova-config.sh script was exiting because of incorrect shell syntax.

The correct syntax for a regex search is
[[ haystack =~ needle ]].  The .*needle.* is unnecessary.  I think this shell
script exited because a period was missing.

Change-Id: I3aca5e0729eb5fedbe9ecb4d75ed85d5a1c7815a
2015-04-14 18:55:48 -07:00
Daneyon Hansen
882a859ff5 Removes check_required_vars for Log Files
Previously, check_required_vars was requiring log file variables
to be set in openstack.env. This would cause an error when
starting nova/neutron containers that used default (blank) log
file settings. Since the log files are not required
for the services to start, the default log files are left blank
(without a value in the K/V pair). This patch removes the
log_file variable for check_required_vars in each nova/neutron
script.

Change-Id: I169baab28f63a0e0ae06c8aef21b5e8d3155bdda
2015-04-13 17:17:52 +00:00
Daneyon Hansen
ed107a5e26 Adds Neutron Agents Support
Previously, the agents ran in seperate containers. Since some of
the agents create and use network namespaces, runnning them in
seperate containers has become a challenge. This patch adds
neutron agent support in a single container.

Partially Implements: blueprint compute-operation-neutron

Change-Id: If4f893abd50d90b58e8435ec2659870dce36951c
2015-04-13 07:34:12 +00:00
Daneyon Hansen
2f2bb366e0 Adds neutron-server to neutron container-set
Adds neutron-server components of the neutron container set.

Partially Implements: blueprint compute-operation-neutron

Change-Id: I63525ae85f4ead4e010cdb9b6bc8059bb9d252e7
2015-04-10 03:11:23 +00:00