Set statuscode=404 in NotFoundException in tests

when resource can'n be found,neutron will set
statuscode=404 in NotFoundException,so add statuscode
in exception to make fake client have same action.

Change-Id: I6597f080903501d9fe6050893054cc7dba6a595b
Fix start_with_acquired_lock - pass kwargs to func

This method of ThreadGroupManager was not passing kwargs
to the function to be started.

Closes-Bug: #1288627
Change-Id: Icaaa012bcc65c67f3e8ecc2878dee2a78121e357
Fix InternalException raised on stack-show

Getting attributes of a OS::Nova::Server raises a 500 error if the server
doesn't exist. So stack show doesn't work. We should catch the exception
and return the default values of the output keys of the server while
getting attributes to make sure the api works.

Change-Id: If569b4d73abbce93d3c56c45a1eb284720c6e416
Closes-Bug: #1279085
Remove unused versions define in template_format.py

Remove unused 'HEAT_VERSIONS' and 'CFN_VERSIONS' define in
template_format.py.

Change-Id: Icb6920fa481259868b6bf2feaab9859a13c59467
Removing unnecessary required=True options

Property with a default value should not have required=True,
since it has no effect (the default value would be used if a property
were not given, making it not required).

Change-Id: I760ed5c010c9ff3c0e4dc0fc7860f1e18147921d
Default properties to the empty dict in ResourceGroup

Sets the properties of the grouped resource to {} when it's None to make
sure the resource is built properly.

Change-Id: I2938c741063159ef81a7996d203adaf466cf19c4
Closes-Bug: #1291421
KeyError generated when using a provider template

The function for registering information about provider templates
referenced via urls is causing a KeyError. This patch checks for
checks for the existance of the specified resource befor removing
from the registry. This will prevent KeyErrors in stacks referencing
provider templates that are persisted in the database.

Partial-Bug: #1288541
Change-Id: Id58d5bfeac896d0d52eb4262b25eff3a5fe2238c
Reimplement L3Agent as router's property

We implemented Neutron's L3Agent resource as Heat's RouterL3Agent resource at
once.

  https://review.openstack.org/#/c/61388/

However, that model can change the router_id when doing stack-update.
The bug 1272254 was caused by that model.

We discussed about how to resolve the bug 1272254 with the Heat community.
The conclusion is to remove RouterL3Agent, then to reimplement agent_id as
router's property. This model can't change router_id. So its model can resolve
the bug.

Closes-bug: #1272254
Change-Id: Id9f75920ec46ec32f3e41bdb97f89a7fd09490ec
Include environment resource in documentation

Generate a specific environment directory with the content of the Heat
etc/ directory to include global template resources in the
documentation.

Change-Id: Ic22c759de4b4df99fd2884704ca7acf84d5e2952
Closes-Bug: #1287164
Fix typo in HOT spec

This patch fixes a simple typo in hot_spec.rst which was introduced
in a recent patch.

Change-Id: I62bfac04a46b39bc53320c00ecb9a8b9623975fe
Merge "Fix typo in HOT spec"
Merge "Remove unused versions define in template_format.py"
Merge "KeyError generated when using a provider template"
Merge "Reimplement L3Agent as router's property"
Merge "Removing unnecessary required=True options"
Merge "Fix InternalException raised on stack-show"
Merge "Default properties to the empty dict in ResourceGroup"
Merge "Include environment resource in documentation"
Merge "Set statuscode=404 in NotFoundException in tests"
Merge "Fix start_with_acquired_lock - pass kwargs to func"