Opening stable/juno

Bump version to next stable release on juno branch, and set
defaultbranch in .gitreview for convenience.

Change-Id: Ibf7cf581c92bdfc53b161324f4a48a968abd2dee
Don't stop update immediately on error

When an error occurs during a stack update operation,
don't immediately stop the operation. Instead,
wait up to 4 minutes for resources already in progress
to complete before forcibly cancelling them.

Change-Id: Ib089dbc675c519668a44d1b0e3214feca5079978
Closes-bug: #1381984
(cherry picked from commit ddd6fc16d765e9f5aff8d8e173402caa6de6196d)
Tolerate null on Json db load

A icehouse->juno migration issue has surfaced where
resource.properties_data is null for existing resource records.

This change fixes the Json db type to treat None the same as
the serialized JSON 'null'.

Change-Id: Ia0b9a23a7798c95fbbcba439ffb8203b50367e7c
Closes-Bug: #1383505
Correct CA cert argument for glanceclient

Heat need to pass the CA cert to glanceclient to load image data
during stack creation when glance api is configured with SSL.
Currently the client is passing the wrong cert key to glanceclient.
The key should be 'cacert' instead of 'ca_file'.

Change-Id: Ie542dda1354776e62507240c917c1cffbc222f17
Closes-Bug: #1384626
(cherry picked from commit fa7fd9d9882baf028efe0807840a4a8180cc9b9c)
Fix add_dependencies for floating_ip resource

The cause of problem is related with tricky method of Dependencies
class. So required_by method returns dictionary with resources which
have current resource in dependency. In the same time port resource
does not require floating ip, contrariwise floating ip require port.
As result required_by will not return depended port. There is one
way to solve issue: use dictionary of requires resources.

Also this patch fixes missed code error with incorrect using properties
attribute for value fixed_ip.

Notice that both these issues were not detected, because:
 - method port_on_subnet is not executed, because required_by was always
   empty dictionary.
 - current test has shadow mistake. Dependencies for router_interface
   always contain FloatingIP resource, because router gateway also was
   presented in using templates and during creation graph FloatingIp
   automatically was added to result dictionary.

Change-Id: Ida30e51d526a3f5d2a4d0a4102b1036f1c518302
Closes-Bug: #1384114
(cherry picked from commit 29dbe697516e3e5dd38a926b76f623661cbce020)
Merge "Correct CA cert argument for glanceclient" into stable/juno
Add CERT file support in heat-keystone-setup-domain

Add below options to support ssl connection.
--insecure
--os-cacert
--os-cert
--os-key

Change-Id: I9d1fd07df783d7410ac3f51b5d4e8434d57182a4
Close-bug: #1387063
(cherry picked from commit 8d4e7acb83add56b2105b9da2b5d263cec1d7cdd)
Merge "Fix add_dependencies for floating_ip resource" into stable/juno
Always using domain id to create domain project or user

Add a function to get domain id from a domain name,
and use domain id to create domain project or user.

Change-Id: Ie97c179e62311406201476c0d4c43a731c48908c
Partial-Bug: #1376213
(cherry picked from commit f4998edf938ee83bcecfe8cf4d66822c98bdabb4)
Inherit roles for create_trust_context()

For the stable/juno backport, the default value of
trusts_delegated_roles is left unchanged, so deployers
will see no change on upgrade, unless they explicitly
choose to update their heat.conf. Note that previously
an empty list caused an error (it's invalid to
delegate zero roles via a trust), so this is not a change
of behaviour of a previously working configuration.

Change-Id: I3f1b70b78b91bfac9af5fadb71140679b208c999
Closes-bug: #1376562
(cherry picked from commit aab01c00ff330d743fc15e97d7ae144eac5015bb)
Mark stack_domain_admin_password as a secret option

Add secret=True to option stack_domain_admin_password,
so that will avoid logging this option in engine.log.

Closes-Bug: #1392162
Change-Id: I04071f37a0053b969dc31a69e62ba9abb075c590
(cherry picked from commit 0307d0267713ed18309ecea5359f002d388eaf34)
Update sample conf for new oslo.db release

oslo.db just released a new version, and it's broken our gate config
check, so update it.

Change-Id: I0d077d0f55fbc2ab9faac5ff9deaadba00452869
Closes-Bug: #1393559
(cherry picked from commit c0f8529dabbf064bb582d5b10e032070f90ccc89)
unconfigured clients look in the [clients] section for defaults

This change enables clients that have no specific settings in
the [clients_xxx] sections of the configuration file to get defaults
from the [clients] section.

Change-Id: I071bd77a2e1f0ad366b80c095917a8debc5cef2b
Closes-Bug: 1379958
(cherry picked from commit 4fd5087499b0f3dae16b183eba825e642efb0e95)
RandomString don't skip superclass validation

Ensure the superclass validation happens as well as the class-local
additional stuff.

Change-Id: I3fdc6e5d6a4ca741cdd12ca0ed6ceb908c03ae9f
Closes-Bug: #1392754
(cherry picked from commit 02c4b2441e12ed12fa58ddd9858b5d91314668ee)
Merge "Inherit roles for create_trust_context()" into stable/juno
Make sure that property defaults are converted correctly

If a developer defines a default boolean as "true", then we really want
True when we do "self.properties['bla']" not 'true', otherwise this
is not consistent.

Change-Id: I3705e573e2fd68a04b26c5589d38f84d68641738
Partial-bug: #1375151
(cherry picked from commit 04585f6107f7851d10c5393da74a30ac1c9e2c50)
Use properties in ceilometer alarm not parsed_template('Properties')

The main point of this patch is to pass the default values defined
in the property schema into ceilometer.

Closes-bug: #1375151
Change-Id: Icfc917a02c2e6404213ec020a9aba24fcbb4168a
(cherry picked from commit adcdf7c9e32b28b1d1ca9ef014e3742f431cb655)
Correctly set CombinationAlarm repeat_actions

Previously, the value of the repeat_actions property has no effect on
combination alarm creation, so this attribute defaulted to false on the
Ceilometer side, breaking Heat autoscaling.

Now, this attribute is set correctly as a top-level attribute on the
alarm.

Closes-Bug: #1394159

Change-Id: I1335d5664e9f3f408fbe6815d6cd6fd0a75ba1b8
(cherry picked from commit 02ec693a4701f3423be811a3a5de334c78744465)
Merge "Mark stack_domain_admin_password as a secret option" into stable/juno
Move implementation_signature to StackResource

We need to use common logic for the update determination which
uses implementation_signature, so move the common code from
TemplateResource to the StackResource base-class.

Change-Id: Ibd64b3607721487be5b0562cdb54e6c76db51149
Partial-Bug: #1389499
(cherry picked from commit f5221feb8bf9066b1a9cf078f224f8b00cacb5fc)