09226a5986
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
(cherry picked from commit
|
||
---|---|---|
.zuul.d | ||
contrib/template-override | ||
doc | ||
docker | ||
etc | ||
kolla | ||
releasenotes | ||
roles | ||
specs | ||
tests | ||
tools | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.yamllint | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
bindep.txt | ||
deliverables.yaml | ||
lower-constraints.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
Kolla Overview
The Kolla project is a member of the OpenStack Big Tent Governance.
Kolla's mission statement is:
To provide production-ready containers and deployment tools for operating
OpenStack clouds.
Kolla provides Docker containers, Ansible playbooks to deploy OpenStack on baremetal or virtual machine to meet Kolla's mission.
Kolla has out of the box defaults for a working basic deployment, and also implements complete customization. This model permits operators with minimal experience to deploy OpenStack quickly and as the operator's experience grows modify the OpenStack configuration to suit the operator's exact requirements.
Getting Started
Learn about Kolla by reading the documentation online Kolla.
Get started by reading the Kolla Ansible Developer Quickstart.
The Kolla Repository
The Kolla repository is one of three deliverables of the OpenStack Kolla project. The three deliverables that make up the Kolla project are:
Deliverable | Repository |
---|---|
kolla | https://git.openstack.org/cgit/openstack/kolla |
kolla-ansible | https://git.openstack.org/cgit/openstack/kolla-ansible |
kolla-cli | https://git.openstack.org/cgit/openstack/kolla-cli |
The Docker images are built by the Kolla project maintainers. A detailed process for contributing to the images can be found in the image building guide.
The Kolla developers build images in the kolla namespace for every tagged release.
You can view the available images on Docker Hub or with the Docker CLI:
$ sudo docker search kolla
OpenStack services
Kolla provides images to deploy the following OpenStack projects:
- Almanach
- Aodh
- Barbican
- Bifrost
- Blazar
- Ceilometer
- Cinder
- CloudKitty
- Congress
- Cyborg
- Designate
- Dragonflow
- EC2-API
- Freezer
- Glance
- Heat
- Horizon
- Ironic
- Karbor
- Keystone
- Kuryr
- Magnum
- Manila
- Mistral
- Monasca
- Murano
- Neutron
- Nova
- Octavia
- Panko
- Rally
- Sahara
- Searchlight
- Senlin
- Solum
- Swift
- Tacker
- Tempest
- Trove
- Vitrage
- Vmtp
- Watcher
- Zaqar
- Zun
Infrastructure components
Kolla provides images to deploy the following infrastructure components:
- Ceph implementation for Cinder, Glance and Nova
- Certmonger a service to simplify interaction with CAs on networks which use PKI.
- Chrony a versatile implementation of the Network Time Protocol (NTP).
- Collectd, InfluxDB, and Grafana for performance monitoring.
- Elasticsearch and Kibana to search, analyze, and visualize log messages.
- Cron for log rotation.
- Etcd a distributed key value store that provides a reliable way to store data across a cluster of machines.
- Fluentd as an open source data collector for unified logging layer.
- Gnocchi a time-series storage database.
- HAProxy and Keepalived for high availability of services and their endpoints.
- Kafka a distributed streaming platform.
- MariaDB and Galera Cluster for highly available MySQL databases.
- Memcached a distributed memory object caching system.
- MongoDB as a database back end for Panko.
- Open vSwitch and Linuxbridge back ends for Neutron.
- Linux ptp an implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux.
- Percona XtraBackup A tool which provides a method of performing a hot backup of your MySQL data while the system is running.
- Prometheus an open-source systems monitoring and alerting toolkit originally built at SoundCloud.
- Qdrouterd as a direct messaging back end for communication between services.
- RabbitMQ as a broker messaging back end for communication between services.
- Redis Sentinel provides high availability for redis along with collateral tasks such as monitoring, notification and acts as configuration provider for clients.
- Sensu workflow automation for monitoring.
- Telegraf as a plugin-driven server agent for collecting & reporting metrics.
- ZooKeeper as a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.
Directories
contrib
- Contains sample template override files.doc
- Contains documentation.docker
- Contains jinja2 templates for the Docker build system.etc
- Contains a reference etc directory structure which requires configuration of a small number of configuration variables to build docker images.kolla
- Contains Python modules for kolla image build system.releasenotes
- Contains the releasenote for all added features in kolla.roles
- Contains Ansible roles used in CI.specs
- Contains the Kolla communities key arguments about architectural shifts in the code base.tests
- Contains functional testing tools.tools
- Contains tools for interacting with the kolla repository.
Getting Involved
Need a feature? Find a bug? Let us know! Contributions are much appreciated and should follow the standard Gerrit workflow.
- We communicate using the #openstack-kolla irc channel.
- File bugs, blueprints, track releases, etc on Launchpad.
- Attend weekly meetings.
- Contribute code.
Contributors
Check out who is contributing code and contributing reviews.
Notices
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries. Docker, Inc. and other parties may also have trademark rights in other terms used herein.