RETIRED, Heat templates for deploying OpenStack
Go to file
Michele Baldessari 1d704d4733 Fix gnocchi-upgrade Table <..> already exists errors
Currently we are calling /usr/bin/gnocchi-upgrade
--sacks-number=SACK_NUM from each node where gnocchi-api is part of the
role. gnocchi-upgrade seems to be racy and we sometimes end up with the
following error:

2018-03-14 12:39:39,683 [1] ERROR    oslo_db.sqlalchemy.exc_filters: DBAPIError exception wrapped from (pymysql.err.InternalError) (1050, u"Table 'archive_policy' already exists") [SQL: u'\nCREATE TABLE archive_policy (\n\tname VARCHAR(255) NOT NULL, \n\tback_window INTEGER NOT NULL, \n\tdefinition TEXT NOT NULL, \n\taggregation_methods TEXT NOT NULL, \n\tPRIMARY KEY (name)\n)ENGINE=InnoDB CHARSET=utf8\n\n']
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1182, in _execute_context
    context)
  File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 470, in do_execute
    cursor.execute(statement, parameters)
  File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 166, in execute
    result = self._query(query)
  File "/usr/lib/python2.7/site-packages/pymysql/cursors.py", line 322, in _query
    conn.query(q)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 856, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1057, in _read_query_result
    result.read()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1340, in read
    first_packet = self.connection._read_packet()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 1014, in _read_packet
    packet.check_error()
  File "/usr/lib/python2.7/site-packages/pymysql/connections.py", line 393, in check_error
    err.raise_mysql_exception(self._data)
  File "/usr/lib/python2.7/site-packages/pymysql/err.py", line 107, in raise_mysql_exception
    raise errorclass(errno, errval)
InternalError: (1050, u"Table 'archive_policy' already exists")

Let's run it from a the bootstrap node by wrapping it into the
bootstrap_host_exec magic.

Change-Id: I106512eeffff3425608a543f9bc5e6a9508d15e5
Closes-Bug: #1755564
2018-03-14 20:49:05 +01:00
ci Make ping test support older overcloud release. 2018-03-06 12:04:47 +00:00
common Consume RoleData config from config download files 2018-03-07 13:57:08 -05:00
deployed-server Merge "Introduce wait_backoff, fail_if_empty wrappers" 2018-03-02 13:40:49 +00:00
docker Fix gnocchi-upgrade Table <..> already exists errors 2018-03-14 20:49:05 +01:00
environments Merge "Enable containers by default" 2018-03-08 17:55:24 +00:00
extraconfig Add KernelIpForward configuration 2018-03-07 08:28:13 +00:00
firstboot Adding a workaround for enabling steering in ConnectX-3 devices 2018-02-26 06:55:51 +00:00
network Merge "Add enpoints for TripleO UI Config" 2018-03-05 00:39:10 +00:00
plan-samples Update default value for derive params workflow inputs 2018-01-15 05:50:47 -05:00
puppet Merge "Add IronicAutomatedClean parameter" 2018-03-08 21:53:26 +00:00
releasenotes Merge "kernel: make ExtraKernelModules and ExtraSysctlSettings role-specific" 2018-03-08 18:39:08 +00:00
roles Merge "Add a ComputeInstanceHA role" 2018-03-04 13:57:41 +00:00
sample-env-generator Merge "Add support of netapp configuration for glance in THT" 2018-03-08 14:35:00 +00:00
scripts Avoid awk error in hosts-config.sh for large deployments 2017-04-07 10:50:39 +01:00
tools Add extra yaml validations in upgrade tasks. 2018-02-21 11:10:42 +01:00
tripleo_heat_templates Do not generate apache/haproxy certs for invalid networks 2018-02-08 12:50:04 +00:00
validation-scripts Use ipaddress module 2018-02-27 18:01:21 +01:00
zuul.d Merge "Zuul: Remove project name" 2018-02-20 05:06:14 +00:00
.gitignore Sample environment generator 2017-06-12 15:02:50 -05:00
.gitreview Update stackforge references to openstack 2013-08-17 22:57:57 -04:00
.testr.conf Sample environment generator 2017-06-12 15:02:50 -05:00
LICENSE Add license file 2014-01-20 11:58:20 +01:00
README.rst Update CI coverage in README 2018-01-08 08:58:40 -08:00
all-nodes-validation.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
babel.cfg Add release configuration. 2013-10-22 17:49:35 +01:00
bindep.txt Add in roles data validation 2017-07-07 09:51:40 -06:00
bootstrap-config.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
capabilities-map.yaml Add cisco VTS ML2 template for a dockerized service and default environment settings 2018-02-20 21:11:19 +01:00
config-download-software.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
config-download-structured.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
default_passwords.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
hosts-config.yaml Change template names to queens 2017-11-23 10:15:32 +01:00
j2_excludes.yaml Remove ipv6 specific network templates 2017-08-31 13:12:17 -07:00
net-config-bond.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-bridge.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-linux-bridge.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-noop.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-static-bridge-with-external-dhcp.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-static-bridge.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-static.j2.yaml Render NIC config templates with jinja2 2018-02-13 00:19:37 -08:00
net-config-undercloud.j2.yaml Merge "Add ovs_extra netconfig for undercloud CI compat" 2018-03-06 00:55:47 +00:00
network_data.yaml Return old ranges to network_data.yaml 2018-02-22 12:55:37 +01:00
network_data_ganesha.yaml Return old ranges to network_data.yaml 2018-02-22 12:55:37 +01:00
overcloud-resource-registry-puppet.j2.yaml Enable containers by default 2018-03-01 11:26:15 +02:00
overcloud.j2.yaml Do not use the 3rd argument of yaql groupBy 2018-02-19 16:32:42 +01:00
plan-environment.yaml Add name and description fields to plan-environment.yaml 2017-04-12 17:25:40 +02:00
requirements.txt Updated from global requirements 2017-11-16 11:30:33 +00:00
roles_data.yaml Fix invalid Ceph and BlockStorage role template 2018-02-22 11:08:36 +01:00
roles_data_undercloud.yaml Add TripleOFirewall service to undercloud roles 2018-02-17 01:42:06 +00:00
setup.cfg Drop deprecated templates/Makefile/merge.py 2015-11-25 15:00:13 -05:00
setup.py Updated from global requirements 2017-03-28 13:03:01 +00:00
test-requirements.txt Merge "Introduce tests for yaql structures" 2018-01-31 09:24:26 +00:00
tox.ini Add "clean" tox target 2017-12-13 17:14:36 -06:00

README.rst

Team and repository tags

image

tripleo-heat-templates

Heat templates to deploy OpenStack using OpenStack.

Features

The ability to deploy a multi-node, role based OpenStack deployment using OpenStack Heat. Notable features include:

  • Choice of deployment/configuration tooling: puppet, (soon) docker
  • Role based deployment: roles for the controller, compute, ceph, swift, and cinder storage
  • physical network configuration: support for isolated networks, bonding, and standard ctlplane networking

Directories

A description of the directory layout in TripleO Heat Templates.

  • environments: contains heat environment files that can be used with -e

    on the command like to enable features, etc.

  • extraconfig: templates used to enable 'extra' functionality. Includes

    functionality for distro specific registration and upgrades.

  • firstboot: example first_boot scripts that can be used when initially

    creating instances.

  • network: heat templates to help create isolated networks and ports
  • puppet: templates mostly driven by configuration with puppet. To use these

    templates you can use the overcloud-resource-registry-puppet.yaml.

  • validation-scripts: validation scripts useful to all deployment

    configurations

  • roles: example roles that can be used with the tripleoclient to generate

    a roles_data.yaml for a deployment See the roles/README.rst for additional details.

Service testing matrix

The configuration for the CI scenarios will be defined in tripleo-heat-templates/ci/ and should be executed according to the following table:

- scn001 scn002 scn003 scn004 scn006 scn007 scn009 non-ha ovh-ha
openshift

X

keystone

X

X

X

X

X

X

X

X

glance

rbd

swift

file

rgw

file

file

file

file

cinder

rbd

iscsi
heat

X

X

ironic

X

mysql

X

X

X

X

X

X

X

X

neutron

ovs

ovs

ovs

ovs

ovs

ovn

ovs

ovs

neutron-bgpvpn

wip

ovn

X

neutron-l2gw

wip

rabbitmq

X

X

X

X

X

X

X

X

mongodb
redis

X

X

haproxy

X

X

X

X

X

X

X

X

memcached

X

X

X

X

X

X

X

X

pacemaker

X

X

X

X

X

X

X

X

nova

qemu

qemu

qemu

qemu

ironic

qemu

qemu

qemu

ntp

X

X

X

X

X

X

X

X

X

snmp

X

X

X

X

X

X

X

X

X

timezone

X

X

X

X

X

X

X

X

X

sahara

X

mistral

X

swift

X

aodh

X

X

ceilometer

X

X

gnocchi

rbd

swift

panko

X

X

barbican

X

zaqar

X

ec2api

X

cephrgw

X

tacker

X

congress

X

cephmds

X

manila

X

collectd

X

fluentd

X

sensu-client

X