summaryrefslogtreecommitdiff
path: root/docker/nova/nova-api
AgeCommit message (Collapse)AuthorFilesLines
2020-01-14Refactor Apache httpd setupMark Goddard1-13/+1
All Apache httpd setup has been moved to a new helper script, kolla_httpd_setup. This includes the existing clean of /run/httpd, /var/run/httpd, /tmp/httpd etc. Horizon has an additional bit of Apache config for Debian/binary, which has been kept in extend_start.sh for horizon. Change-Id: Ia2af74b69c151db0bd7e452460b0babcee50b282 Related: blueprint centos-rhel-8 (cherry picked from commit 8484190e77e4237247dac7fba128e5a111fc9918)
2019-08-20Support DB bootstrap from Nova Conductor containerDoug Szumski1-0/+4
Currently the Nova API container does all the database bootstrapping for Nova. In a deployment with more than one active cell, it makes more sense for the conductors to bootstrap their own databases, rather than have the Nova API container do it. This change adds support for that. Until the support is actually used, we leave Nova API as-is. Partially Implements: blueprint support-nova-cells Change-Id: Id3a78b6838a3aae04f5dd5bd6ec928359297cfd3
2019-06-17Run nova api_db sync before db syncMark Goddard1-2/+2
Backport: Stein, Rocky Since cells v2 was introduced, nova operators must run two commands to migrate the database schemas of nova's databases - nova-manage api_db sync and nova-manage db sync. It is necessary to run them in this order, since the db sync may depend on schema changes made to the api database in the api_db sync. Executing the db sync first may fail, for example with the following seen in a Queens to Rocky upgrade: nova-manage db sync ERROR: Could not access cell0. Has the nova_api database been created? Has the nova_cell0 database been created? Has "nova-manage api_db sync" been run? Has "nova-manage cell_v2 map_cell0" been run? Is [api_database]/connection set in nova.conf? Is the cell0 database connection URL correct? Error: (pymysql.err.InternalError) (1054, u"Unknown column 'cell_mappings.disabled' in 'field list'") [SQL: u'SELECT cell_mappings.created_at AS cell_mappings_created_at, cell_mappings.updated_at AS cell_mappings_updated_at, cell_mappings.id AS cell_mappings_id, cell_mappings.uuid AS cell_mappings_uuid, cell_mappings.name AS cell_mappings_name, cell_mappings.transport_url AS cell_mappings_transport_url, cell_mappings.database_connection AS cell_mappings_database_connection, cell_mappings.disabled AS cell_mappings_disabled \nFROM cell_mappings \nWHERE cell_mappings.uuid = %(uuid_1)s \n LIMIT %(param_1)s'] [parameters: {u'uuid_1': '00000000-0000-0000-0000-000000000000', u'param_1': 1}] (Background on this error at: http://sqlalche.me/e/2j85) Despite this error, the command actually exits zero, so kolla does not notice the failure. This change reorders these two commands to run the api_db sync before the db sync. Change-Id: I0514c02aaee1a413a7979c3a426e0484df839861 Closes-Bug: #1832860
2019-06-07Merge "Debian/Ubuntu: more python3 packages for binary"Zuul1-2/+2
2019-06-06Debian/Ubuntu: more python3 packages for binaryMark Goddard1-2/+2
backport: Stein During the switch to Stein UCA, we did not switch all packages to python 3 for Debian/Ubuntu binary images. This change switches some more of those packages. Change-Id: I0bff21384d88ea678608392de2db1ba418c96665 Co-Authored-By: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2019-06-06Debian/Ubuntu: move to Python 3 for source imagesMarcin Juszkiewicz1-1/+1
Commit 43b74ccc157c0b50138c3785ed91dab504895571 enabled use of Python 3 based packages but not switched to use Python 3. Some of images still contain Python 2. There are two reasons: - Ceph (ceph-common depends on Py2) - python3-ldappool on Ubuntu 18.04 In Ceph situation Py3 packages were added. For second one we can not do anything - Py2 dependency got dropped in Ubuntu 18.10 version. Removed neutron-server-plugin-networking-infoblox due to being not maintained. Once https://review.opendev.org/#/c/657578/ get merged someone may revert that part. Implements: blueprint debian-ubuntu-python3 Depends-on: Ie2a1077f7def0743f1403341985e2109aa490026 Change-Id: Ibfe0c2b8be98db56c61f74fb0247488ab3749ef4
2019-06-03create missing apache2 directory on Debian/UbuntuMarcin Juszkiewicz1-0/+1
Ubuntu/source deployment of several images (horizon, placement-api, zun) failed with: + exec /usr/sbin/apache2 -DFOREGROUND apache2: Syntax error on line 80 of /etc/apache2/apache2.conf: DefaultRuntimeDir must be a valid directory, absolute or relative to ServerRoot Change-Id: Ie2a1077f7def0743f1403341985e2109aa490026
2019-03-12Add python3 packages for RHEL systemsAlex Schultz1-2/+12
RDO is currently working on python3 support for the next version of CentOS/RHEL based systems. This package uses the distro_python3 flag that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to use the python3 specific package names. This change only adds python3 package names for RHEL systems. Conflicts-With: https://review.openstack.org/#/c/636457/ Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a Related-Blueprint: python3-support
2019-01-17Use base_package_typeAlex Schultz1-4/+4
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
2018-06-11Fix nova-api extend_start.shyatin1-2/+2
Patch https://review.openstack.org/#/c/558765 added an extra closure bracket }, this patch fixes it. Change-Id: I379ff17856509c9321b86c13a72eacc18f5c1202 Closes-Bug: #1775698
2018-06-05Apply Nova rolling upgrade logicDuong Ha-Quang1-0/+11
This patchset apply Nova rolling upgrade logic [1] [1] https://docs.openstack.org/nova/latest/user/upgrade.html Change-Id: I2cc973896d08988c0db121673d357fd1d37e6e6c Implements: blueprint apply-service-upgrade-procedure
2017-05-12Fix if $user is root at extend_startegonzalez901-1/+1
In ubuntu is not evaluating correctly if $user == root check at extend_start. Changing to "$(whoami)" == 'root' fixes the issue Change-Id: I296a1f98764cdfa09650c483bc7beba53e6bdba4 Closes-Bug: #1690360
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-20Merge "Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2"Jenkins1-1/+1
2017-04-20Add missing cleanup step for new apache imagesMartin André1-0/+13
A few new images got apache as part of blueprint apache-packages-for-apis without a cleaning up. Without this step the containers may fail to restart due to runtime files already present. This commit fixes it for all images with the exception of heat-base so that it can be cleanly backported to stable/ocata. It also removes the unused APACHE_DIR variable from freezer-api and keystone extend_start.sh script. Change-Id: I47d75221b3d1aae91f11d3e0da83e221a00315b7 Closes-Bug: #1679565
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-2/+2
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-28Alphabetize packagesEduardo Gonzalez1-7/+7
Some images have packages sorted alphabetically and some not. Unify common style between all images. Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-03-27RHEL: Add mod_ssl for services running over httpdJuan Antonio Osorio Robles1-4/+8
This apache module is necessary for when one wants to use TLS for the services running over httpd. This only addressed RHEL based systems at the moment, since there is no such package available for Ubuntu. This requires apache2.2-common which will carry a lot more dependencies; So I think this should be handled and decided in a separate patch. when installing mod_ssl in RHEL-based distributions, an ssl.conf file is installed in the /etc/httpd/conf.d directory. This file tells httpd to listen on port 443; however, we don't want to do this by default, since this should be explicitly enabled by the container's configuration. This line is thus removed from the configuration. A release note was added, which specifies this. And the last sentence can be removed if this is addressed for debian/ubuntu as well. Related-Bug: #1675490 Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: Id6215d31547247309d43c031e163fa9e4c4ec5dc
2017-03-23Prevent apache from listening on port 80Martin André1-3/+9
A few new images got apache as part of blueprint apache-packages-for-apis without restricting it to listen on port 80. This commit fixes it for all images with the exception of heat-base so that it can be cleanly backported to stable/ocata. Co-Authored-By: Juan Antonio Osorio Robles <jaosorior@redhat.com> Change-Id: Idd3bbeffea9233eaed420798e22ea9a3a517c166 Closes-Bug: #1675308
2017-02-05Remove include_header and include_footer in all DockerfilesJeffrey Zhang1-1/+0
include_header and include_footer parameter is already removed, remove them in all Dockerfiles. Add missing footer block. Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-01-12Add Apache packages to nova-api containerDan Prince1-2/+25
Some projects that use Kolla docker containers (TripleO) run nova-api under httpd. This patch adds the httpd package so that it exists in the container and can optionally by used via Docker entrypoints. As many of these projects do not require the use of Apache (it is opt-in) at this point not all deployment frameworks support the use of it so the existing configuration defaults have been left as-is for now. Partial-Blueprint: apache-packages-for-apis Change-Id: Id22da4626c659d8c9f457b71d9423e5fd9e8c25a
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
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 NovaPaul Bourke1-7/+14
Change-Id: I7556d6cd473516c7ceb4aba7c1ba1130af2544ee 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-04-13Update Nova dockerfiles for formattingSwapnil Kulkarni (coolsvap)1-1/+2
Change-Id: Ie3731732f2026cd0d3a1bda2925be2b6479ae5c7 Partial-Bug:#1569417
2016-04-05Adds migration step from nova to nova_api databaseSerguei Bezverkhi1-0/+1
This patch adds a missing required step to migrate information from the nova to the new nova_api database. Closes-Bug: #1565497 Change-Id: Ia1554e12c688e5a6509af2d37f1825fd4ab666be Co-Authored-By: Steven Dake <stdake@cisco.com>
2016-02-23Remove duplicate code in nova extend_start.shÉric Lemoine2-9/+2
Change-Id: I37d737509bc7cf3dc74bb13ecb0a6ae68080556e Partial-Bug: #1546944
2016-02-19Make Heka collect Nova logsÉric Lemoine1-0/+7
Partially implements: blueprint heka Change-Id: I67dfc5d762d74454e4a852dd61c57fe9cd4b78c8
2016-02-02Create nova-api databaseSamYaple1-0/+1
This is a required patch. Kilo introduced a nova-api database but didn't use it. [1] Mitaka now uses it and has broken booting instances. [2] [1] https://wiki.openstack.org/wiki/ReleaseNotes/Kilo#OpenStack_Compute_.28Nova.29 [2] https://github.com/openstack/nova/blob/df0fca62cf5324f5b6eae0fed1f88c6c9ed61c71/releasenotes/notes/request-spec-api-db-b9cc6e0624d563c5.yaml Change-Id: If0a7f4ba4937fab8d60f5236ca00db06faa768c7 Closes-Bug: #1540579
2015-12-31Nova ubuntu binary containerArtur Zarzycki1-0/+7
Change-Id: I1bb609dc4d77250c45ffa7e00ea603d24cbcfd6e Partially-Implements: blueprint binary-ubuntu
2015-12-03Drop root for novaSwapnil Kulkarni (coolsvap)2-1/+3
Updates to ensure commands run in the nova containers are done as the 'nova' user rather than root. Change-Id: I0dd0276c2848ad77d92d350dfa0f20161329ed55 Partially-Implements: blueprint drop-root
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-10-13Fix issue with su and bad kernelsSam Yaple1-1/+1
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-06Common start.shSam Yaple2-9/+2
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-09-28Merge "Implement a install_type and install_metatype"Jenkins1-1/+1
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 set_configsSam Yaple1-5/+0
Change-Id: I9bb0a1fac63cc326234b0f06b1e56b43e0753279 Partially-Implements: blueprint replace-config-external
2015-09-25Fix removal of config-externalSam Yaple1-1/+0
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-25Remove config-external.shSam Yaple1-10/+0
Removes config-external for all services that have been replaced in Ansible Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea Partially-Implements: blueprint replace-config-external
2015-09-23Replace config-external with a JSON file for Novarthallisey1-6/+5
Change-Id: I38c545484a7b1f3906d844eb3a7486e11c4b276a Partially-Implements: blueprint replace-config-external
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-08-28Move docker_templates to docker dirSam Yaple3-0/+48
Updated build.py to reflect this change. Deprecate --template option and make it a noop. Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2 Partially-Implements: blueprint remove-docker-dir