41 Commits

Author SHA1 Message Date
Swapnil Kulkarni (coolsvap)
435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00
Mauricio Lima
2c34214388 Remove unecessary blank lines
TrivialFix

Change-Id: I1f03d428c380dfdbde5ef33e7ea43cbf5e9154ce
2016-05-02 07:44:29 -04:00
Swapnil Kulkarni (coolsvap)
e561ce2fc2 Update Ironic dockerfile for formatting
Change-Id: I73fd2030f353f7daa35e71b62491cdf0b3fcf5cf
Partial-Bug:#1569417
2016-04-12 21:31:01 +05:30
Andrey Shestakov
6345313d17 Add missing files in ironic containers
Added missing package for qemu-img in centos container
Added pxelinux.0 in ironic-pxe in centos container

TrivialFix

Change-Id: I706284824f915caf974b1247520c3e4025c47f57
2016-03-11 16:10:28 +02:00
Allen Gao
235e95885b Move ironic-discoverd to ironic-inspector
Closes-Bug: #1551052
Change-Id: Ic226287bbf1f1e8d5cc2e1d80ce2975448b1f95c
2016-02-29 11:47:52 +08:00
SamYaple
2514bcf0c3 Correct issue with virtualenv rootwrap
Because we use rootwrap in a venv we need to update the exec_dirs.
Without doing this *some* commands will break for various reasons that
I won't get into in this review in detail. But this is required for
neutron-l3-agent in a container + drop-root.

Change-Id: I1a09f7188fdd501b7ce251d9f2fb0e5b10222142
Partially-Implements: blueprint drop-root
2016-02-06 06:48:59 +00:00
Andrey Shestakov
5855a07212 Add bootstrap task for ironic-pxe
PXE files should be copied after volume mount to avoid overwrite.

Change-Id: I023cc316e6873abd658478dfa05be839e44a80c7
Closes-bug: #1538164
2016-01-26 15:35:09 +00:00
Andrey Shestakov
9da034dc0a Fix ironic-pxe map-file location
map-file should not be overwriten by volume

TrivialFix

Change-Id: I57bf963fd4af8c010fda0c4504e83dc33f6e9162
2016-01-26 14:28:21 +00:00
Andrey Shestakov
ccc2ad57eb Ironic ubuntu binary container
Change-Id: I94ef03c11657d36261f3ddc63056422f84ec2c6a
Partially-Implements: blueprint binary-ubuntu
2016-01-20 12:14:16 +00:00
Wanlong Gao
e25c12fee6 ironic-conductor: install ipmitool for source deploy in centos
Change-Id: Ib6b095341c8d63b365d3575478b4dafa69720b63
Closes-Bug: #1534900
2016-01-16 16:19:39 +08:00
Wanlong Gao
d1d8610d9e Remove old config-external.sh
TrivialFix

Change-Id: Ib1923d8782699904cbc6a71d2f326d9c207d0005
2016-01-15 13:36:11 +08:00
Martin André
30d29b6f3d Cleanup dependencies for ironic-base
Rely on packagers for managing dependencies.

openstack-ironic-common now pulls the required packages:

https://github.com/openstack-packages/ironic/blob/rpm-master/openstack-ironic.spec

TrivialFix

Change-Id: Ib1d18c4e50a8786c29bf88d9b661905eb8b657c5
2016-01-05 09:58:03 +09:00
Jenkins
a5a5b3fd61 Merge "Create ironic-pxe container with ironic-base" 2015-12-29 03:55:52 +00:00
Andrey Shestakov
56d24970fa Create ironic-pxe container with ironic-base
/tftpboot directory should be writeable by ironic-conductor.

TrivialFix

Change-Id: I870a786d41a6feb8e0786b6e86a5caf1f9ceb079
2015-12-28 19:55:34 +02: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
Andrey Shestakov
386bcff4a1 Remove user 'ironic' from ironic-pxe
TFTP server should runs as root user

Change-Id: I80064edf991d5f466a5711f1ab80ec8df43b785b
Closes-bug: 1528341
2015-12-22 08:40:20 +02: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
Andrey Shestakov
69fc0bbde7 Add required packages to ironic-conductor container
ironic-conductor service requires qemu-img and ipmitool utils.

TrivialFix
Change-Id: I5489087031c9b209ead862a531ce4544e20265ee
2015-11-26 16:22:45 +02:00
Swapnil Kulkarni (coolsvap)
44251da0c6 Drop root for ironic
Updates to ensure commands run in the ironic containers
are done as the 'ironic' user rather than root.

Change-Id: I491041ce02fb5dd3eb60c6ae9169f26d8a8919dd
Partially-Implements: blueprint drop-root
2015-11-24 21:28:38 +05:30
Swapnil Kulkarni (coolsvap)
e61b917bb8 Added ironic-common to ironic base container
Change-Id: I5e167fc2e1363eb407016a059acc868e7cf73563
Closes-Bug:#1519409
2015-11-24 21:28:12 +05:30
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
Andrey Shestakov
df02ffe1c5 Fix /etc files location for ironic-base building from sources
Ironic config files should be palced to /etc/ironic/*

Closes-Bug: #1518433
Change-Id: Ic82dbb9a28ed3adb6bfca2d0f715da3a7bbc4698
2015-11-20 21:46:42 +02:00
Sam Yaple
1a676a36e9 Adjust package name for Ubuntu Ironic
We target 14.04 which has the package name 'syslinux'
>14.04 has the package name 'pxelinux'

TrivialFix
Backport: Liberty
Change-Id: Id0f4f503257d62d9ce45be5eb8f4faa766244d0a
2015-11-04 07:43:57 +00:00
Sam Yaple
1be8b67f56 Ironic binary shouldnt use upper-constraints
TrivialFix
Related-Id: I9fbfa7ca442063db52c8b14586176ab994d2cf46
Change-Id: Ic1a7f311a323a3fed296ef2b76cd2dbde96053e2
2015-10-21 10:54:58 +00:00
Paul Bourke
3391a32802 Use openstack/requirements for ironic
See Iccb4e99f8e4b6659a19c1817d0f4c697824af25c for context.

Change-Id: I9fbfa7ca442063db52c8b14586176ab994d2cf46
Partial-Bug: #150530
2015-10-15 11:10:01 +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
Jeff Peeler
717ed63b56 Fix up ironic Dockerfiles to build
The dockerfiles for each of these containers were hacked to force
install the most recent version of the package, even though the newer
version had a lower version number. Delorean has fixed the issue by
bumping the epoch, so the hack is no longer required.

backport: liberty

Change-Id: I8d9c071d84e53280d3cadfceb9034bb96f64f3a3
Closes-bug: #1503785
2015-10-07 13:33:19 -04: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
Sam Yaple
3a56ce1826 PXE for Ironic for ubuntu
This makes Ironic build properly from source.

Change-Id: Ic61cd945760843aae1f0a01738bca3b818fd2f69
Closes-Bug: #1500577
2015-10-04 03:59:23 +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
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
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
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
be230d47eb Merge "Add Ansible support for Heat" 2015-08-31 11:12:24 +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
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
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