RETIRED, Heat templates for deploying OpenStack
Go to file
Michele Baldessari 1bdefbe59d IHA Default the compute endpoint check script to internal
Currently we instantiate a novaclient.client Client object without explicitely
passing any endpoint_type in kwargs. The Client object defaults to using
'publicURL': https://github.com/openstack/python-novaclient/blob/stable/queens/novaclient/client.py#L116

In some environments the access to publicURL is not desired and likely the wrong default.
So this needs to be a) configureable and b) default to internalURL when nothing is specified.

We make this configurable by leveraging the os_interface key in the
placement section of nova.conf as that is what specifies the endpoint
type since ocata: https://docs.openstack.org/releasenotes/nova/ocata.html#other-notes

We also check for the existance of the [placement]/valid_interface key
and will use that instead if it is present as it is the proper
recommended way to get this information as of queens (see
https://review.openstack.org/#/c/492247/). Since it is a list
of preferred endpoint URLs, we take the first one.

Tested by making sure via tcpdump that the internal_url was being hit
after restarting the nova_compute container with the patched code:
(overcloud) [stack@undercloud-0 ~]$ openstack endpoint list |grep comput
| 8ad225f34170467a84513c5b447662dc | regionOne | nova         | compute        | True    | admin     | http://172.17.1.16:8774/v2.1                   |
| 9a15e824601f43629b03ec99589c3d83 | regionOne | nova         | compute        | True    | internal  | http://172.17.1.16:8774/v2.1                   |
| c5b964700daf4abfac5060432debdbe3 | regionOne | nova         | compute        | True    | public    | https://10.0.0.101:13774/v2.1                  |

[root@compute-0 ~]# tcpdump -i any -nn host 172.17.1.16 and port 8774
09:29:57.824687 IP 172.17.1.10.37254 > 172.17.1.16.8774: Flags [S], seq 3520534439, win 29200, options [mss 1460,sackOK,TS val 564789919 ecr 0,nop,wscale 7], length 0
09:29:57.824946 ethertype IPv4, IP 172.17.1.16.8774 > 172.17.1.10.37254: Flags [S.], seq 3844540290, ack 3520534440, win 28960, options [mss 1460,sackOK,TS val 564810385 ecr 564789919,nop,wscale 7], length 0
09:29:57.824946 IP 172.17.1.16.8774 > 172.17.1.10.37254: Flags [S.], seq 3844540290, ack 3520534440, win 28960, options [mss 1460,sackOK,TS val 564810385 ecr 564789919,nop,wscale 7], length 0

Change-Id: Ifbb40e2a2222c229fd71eca2c4c36daa448e492d
Closes-Bug: #1788584
2018-08-23 12:14:40 +02:00
ci Add a FreeIPAExtraArgs param to ci/scripts/freeipa_setup.sh 2018-08-16 19:55:00 +02:00
common Merge "Parallelize server pre and post steps" 2018-08-21 19:03:14 +00:00
deployed-server ControlPlaneSubnetCidr using get_attr 2018-07-14 09:11:28 +02:00
docker Merge "Fix bind-mount to manila's bootstrap container" 2018-08-22 14:06:39 +00:00
docker_config_scripts Improve nova statedir ownership logic 2018-07-09 17:07:30 +01:00
environments Merge "undercloud: revert to using the iscsi deploy interface by default" 2018-08-22 13:57:02 +00:00
extraconfig IHA Default the compute endpoint check script to internal 2018-08-23 12:14:40 +02:00
firstboot Change template names to rocky 2018-05-09 08:28:42 +02:00
network Merge "Edit some post update tasks logic" 2018-08-18 20:00:48 +00:00
plan-samples Role specific derive parameters workflow parameter 2018-06-28 08:10:27 -04:00
puppet Merge "Assert container's ssl cert exists before upgrade." 2018-08-22 14:18:16 +00:00
releasenotes Merge "Clarify ironic classic driver removal reno" 2018-08-22 14:06:41 +00:00
roles Merge "Fix typo" 2018-08-20 19:26:41 +00:00
sample-env-generator Merge "Disable recursion in Designate-managed BIND" 2018-08-03 00:08:27 +00:00
scripts Cleanup hosts name on initial install 2018-07-09 15:02:08 -06:00
tools Merge "Fix logic around heat output exclusions handling" 2018-08-20 19:26:42 +00: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 remove scen000 update job from gate as it's non-voting 2018-08-21 00:14:46 -04: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 Improve nova statedir ownership logic 2018-07-09 17:07:30 +01:00
LICENSE Add license file 2014-01-20 11:58:20 +01:00
README.rst Fix RST syntax (needed by release) 2018-07-25 22:39:40 -04:00
all-nodes-validation.yaml Change template names to rocky 2018-05-09 08:28:42 +02: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 rocky 2018-05-09 08:28:42 +02:00
capabilities-map.yaml Merge "Add networking-ansible ML2 plugin support" 2018-07-05 17:44:05 +00:00
config-download-software.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
config-download-structured.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
default_passwords.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
hosts-config.yaml Change template names to rocky 2018-05-09 08:28:42 +02:00
j2_excludes.yaml Remove ipv6 specific network templates 2017-08-31 13:12:17 -07:00
lower-constraints.txt add lower-constraints job 2018-04-20 16:10:28 -04:00
net-config-bond.j2.yaml DnsServers using get_attr 2018-07-14 09:19:12 +02:00
net-config-bridge.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-linux-bridge.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-noop.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-standalone.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-static-bridge-with-external-dhcp.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-static-bridge.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-static.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
net-config-undercloud.j2.yaml Add per-network routes to NIC templates 2018-07-30 09:53:30 +02:00
network_data.yaml Fix typo in network_data files 2018-08-20 08:25:15 +02:00
network_data_ganesha.yaml Fix typo in network_data files 2018-08-20 08:25:15 +02:00
network_data_routed.yaml Fix typo in network_data files 2018-08-20 08:25:15 +02:00
overcloud-resource-registry-puppet.j2.yaml Merge "Break out image prepare into its own "service"" 2018-08-10 02:31:33 +00:00
overcloud.j2.yaml Merge "Add BlacklistedIpAddresses stack output" 2018-08-17 11:30:36 +00:00
plan-environment.yaml Add name and description fields to plan-environment.yaml 2017-04-12 17:25:40 +02:00
requirements.txt Add validation for hiera interpolation in services 2018-04-18 10:11:39 +02:00
roles_data.yaml Merge "Add NovaResumeGuestsStateOnHostBoot and NovaResumeGuestsShutdownTimeout" 2018-08-08 12:39:02 +00:00
roles_data_undercloud.yaml Merge "Break out image prepare into its own "service"" 2018-08-10 02:31:33 +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 Improve nova statedir ownership logic 2018-07-09 17:07:30 +01:00
tox.ini Fix python3 support in yaml-validate script. 2018-07-27 15:20:32 +02: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:

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

X

keystone

X

X

X

X

X

X

X

X

X

X

glance

rbd

swift

file

rgw

file

file

file

file

file

cinder

rbd

iscsi
heat

X

X

ironic

X

mysql

X

X

X

X

X

X

X

X

X

X

neutron

ovs

ovs

ovs

ovs

ovs

ovn

ovs

ovs

ovs

neutron-bgpvpn

wip

ovn

X

neutron-l2gw

wip

om-rpc rabbit rabbit

amqp1

rabbit rabbit rabbit rabbit rabbit rabbit
om-notify rabbit rabbit rabbit rabbit rabbit rabbit rabbit rabbit rabbit
mongodb
redis

X

X

haproxy

X

X

X

X

X

X

X

X

X

memcached

X

X

X

X

X

X

X

X

X

pacemaker

X

X

X

X

X

X

X

X

X

nova

qemu

qemu

qemu

qemu

ironic

qemu

qemu

qemu

qemu

ntp

X

X

X

X

X

X

X

X

X

X

X

snmp

X

X

X

X

X

X

X

X

X

X

X

timezone

X

X

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

designate

X

octavia

X

X