summaryrefslogtreecommitdiff
path: root/docker/ironic/ironic-base
AgeCommit message (Collapse)AuthorFilesLines
2022-10-10Fix writable rootwrap/privsep configRadosław Piliszek1-3/+1
Fixes a hypothetical security issue related to privilege escalation via rootwrap/privsep. A potential vulnerable service could previously allow writes to its rootwrap/privsep config and thus allow for more commands to be run with root privileges via rootwrap/privsep. For a succesful attack, this would also require the service to allow to run arbitrary commands via rootwrap/privsep. Thus far, no such vulnerabilities have been reported and thus this fix is simply strengthening the container images against such an issue in the future. Change-Id: I92c81c77e6a16570a108cde8031f7977930fb02a Closes-Bug: #1874298
2022-04-21flatten images a bitMarcin Juszkiewicz1-9/+7
As we have one type of images now some RUN calls could be merged so we will have less layers in resulting images. Change-Id: I5178c58fbd8c65efe825dc249c0f1368ef0fe8e0
2022-04-11Adjust permissions on _extend_start files.Tim Shearer1-1/+1
Explicitly set the permissions on the kolla-toolbox kolla_extend_start file. Also, since all extend_start files are sourced rather than executed, the executable bits are now cleared throughout the project. Change-Id: I5c2deb4a2e33575d57c852089f856a9acc6818d0
2022-04-09docker: drop binary partsMarcin Juszkiewicz1-13/+0
Big patch drops all mentions of binary images support. Suggestions are welcome how to split it into parts or handle better. Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2020-07-07copy rootwarp files form venv in ironic baseSean Mooney1-1/+1
This change modifies the ironic base container to copy rootwarp filters from the virtual env rather than the source code directory. This is need because some required filters have been moved to ironic-lib and are not present in the /ironic dir. The rootwrap filters are not automitaclly installed in /etc/... due to kolla use of virtual envs and https://github.com/pypa/wheel/issues/92 Closes-Bug: #1886663 Change-Id: Idb0a675d92bab8b9a0cf5209f0a06e996e96033c
2020-03-01Add block labels to all DockerfilesChristian Berendt1-0/+2
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2019-01-17Use base_package_typeAlex Schultz1-2/+2
This change updates the docker files to use base_package_type instead of doing specific distro checks for the rhel/deb generic cases. The base_distro is still available and is used when a specific distro needs a customization but if the differences are purely rpm vs deb, then the base_package_type can be used. Change-Id: I8d720bb185df65a0178061ccf20b1ab2265da2c5
2017-05-03Override image's meta info.Jawon Choo1-1/+1
centos based images have wrong label info, these changes fix own image's name and build-date. Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c Closes-Bug: #1680341
2017-04-20Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2Chen1-1/+1
Use LABEL instruction instead of MAINTAINER (deprecated) instruc- tion as suggested by Docker's official dockerfile guide. docs.docker.com/engine/reference/builder/#maintainer-deprecated Closes-Bug: #1683652 Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
2017-04-04debian: enable all images enabled for UbuntuMarcin Juszkiewicz1-1/+1
Debian support is not maintained in Kolla so it got a bit behind Ubuntu one. This changeset enables Debian for all images. Jessie (even with backports) may be too old for some images though. Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order like it is done for RPM distributions. Partially-Implements: blueprint multiarch-and-arm64-containers Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
2017-03-31Use separate sudoers for ironic conductor modprobeMark Goddard2-3/+3
The original fix (8b101b28a1040fd6b4753c09364106274d7e6e09) for bug 1676466 added unnecessary entries to the sudoers file in the ironic-base image. These included a rootwrap entry pointing to the virtualenv used by source type images (not present in binary type images) and a modprobe iscsi_tcp which is only required by the ironic-conductor image. This change adds a single sudoers file for the iscsi_tcp modprobe to the ironic-conductor image and reverts to the common pattern of adding a sudoers file to ironic-base only for source type images. Change-Id: I89f1c4bd741de9ba184f14fcbcb708636616e420 Closes-bug: #1678143 Related-bug: #1676466 Related-bug: #1667864
2017-03-27Add ironic sudoers file to binary packages as wellDan Prince1-2/+2
When built as binary packages Ironic conductor would fail to start due to a new 'sudo modprobe iscsi_tcp' command added in 05c0d6998bdda155c925d563b75ac353303f93ff Change-Id: I74ebbc2ec612e1068ac82225dc79e9ee0b6c23f4 Closes-bug: #1676466
2017-03-14Load iscsi_tcp module when starting ironic-conductorJeffrey Zhang1-1/+1
ironic-conductor depends on iscsi_tcp module Change-Id: I1dd7d1a8cd67bbdfc1262b39aa96997c12681900 Closes-Bug: #1672245
2017-02-17Use install-pip macro in most source imagesChao Guo1-1/+6
1. Enable customization of pip packages in source branch of most images 2. All pip packages install uniformly through install-pip macro, user can easily customize his own pip command (For example using a mirror) Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com> Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
2017-01-17use static uid/gid in imagesSam Yaple1-4/+4
This centralizes all user and group creation into a single source. This will fix any current and furture uid/gid mismatches (such as with nova-libvirt). In the process, we also unify users between the distros in a standard way. The users in the following containers change from thier defaults: Ubuntu: _chrony user is now chrony Ubuntu: memcache user is now memcached All: qemu user is used for ownership and socket permissions All uid and gid numbers are customizable via kolla-build.conf Co-Authored-By: Kris Lindgren <klindgren@godaddy.com> Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543 Partially-Implements: blueprint static-uid-gid
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-10-03Fix ironic failedJeffrey Zhang3-4/+25
* Mount system folder in ironic-conductor * Add package need in ironic-conductor * Fix the log path issue * Add ironic sudoer in ironic-base * Fix credential issue * Do not start nova-compute when enable ironic Closes-Bug: #1629334 Change-Id: If9d478c6513de37465403d458a88cf0da7ebd8a6
2016-09-13Add header blocks to all DockerfilesPaul Bourke1-0/+2
Change needed to add header blocks to all Dockerfiles, similar to the base. Use case is to easily run something before packages are installed, e.g. to COPY a local rpm in that can be added to the package list. Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee Closes-Bug: 1618969
2016-08-25Customizations for IronicShaun Smekel1-9/+8
This patchset contains customization of Dockerfile of Ironic containers. Change-Id: If6ffb741111127886f754ddebd17059174387fc8 Partially-implements: blueprint third-party-plugin-support
2016-05-26Update ubuntu dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+1
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe Closes-Bug: #1569417
2016-02-29Move ironic-discoverd to ironic-inspectorAllen Gao1-1/+2
Closes-Bug: #1551052 Change-Id: Ic226287bbf1f1e8d5cc2e1d80ce2975448b1f95c
2016-02-06Correct issue with virtualenv rootwrapSamYaple1-1/+2
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-01-20Ironic ubuntu binary containerAndrey Shestakov1-0/+6
Change-Id: I94ef03c11657d36261f3ddc63056422f84ec2c6a Partially-Implements: blueprint binary-ubuntu
2016-01-05Cleanup dependencies for ironic-baseMartin André1-6/+0
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
2015-12-27Fix pip install settingsSamYaple1-1/+1
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-11-27Source installation in virtualenvMichal Rostecki1-1/+1
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-24Drop root for ironicSwapnil Kulkarni (coolsvap)1-0/+2
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-24Added ironic-common to ironic base containerSwapnil Kulkarni (coolsvap)1-0/+1
Change-Id: I5e167fc2e1363eb407016a059acc868e7cf73563 Closes-Bug:#1519409
2015-11-23Remove hardcoded MAINTAINER in DockerfilesSwapnil Kulkarni (coolsvap)1-1/+1
Added new option in kolla-build.conf Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56 Closes-Bug:#1514304
2015-11-20Fix /etc files location for ironic-base building from sourcesAndrey Shestakov1-1/+1
Ironic config files should be palced to /etc/ironic/* Closes-Bug: #1518433 Change-Id: Ic82dbb9a28ed3adb6bfca2d0f715da3a7bbc4698
2015-10-15Use openstack/requirements for ironicPaul Bourke1-1/+1
See Iccb4e99f8e4b6659a19c1817d0f4c697824af25c for context. Change-Id: I9fbfa7ca442063db52c8b14586176ab994d2cf46 Partial-Bug: #150530
2015-09-28Add Ansible support for IronicJeff Peeler1-0/+1
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-28Implement a install_type and install_metatypeSteven Dake1-1/+1
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-27Remove all fail sections for UbuntuSam Yaple1-7/+2
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-04Add 'rhel' for RPM distrosSteven Dake1-1/+1
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-04Merge "Allow arbitrary source archive name to be imported into Dockerfile"Jenkins1-2/+2
2015-09-03Allow arbitrary source archive name to be imported into DockerfileVladislav Belogrudov1-2/+2
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-03Create openstack-base containerSam Yaple1-1/+1
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-08-31Merge "Add Ansible support for Heat"Jenkins1-2/+0
2015-08-31Remove dest_filename from build.iniSam Yaple1-1/+1
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-29Add Ansible support for HeatSteven Dake1-2/+0
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-28Move docker_templates to docker dirSam Yaple1-0/+33
Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir