Columns needs to be non-nullable for DB2

For DB2, we can not create constraints over nullable
columns. This patch makes some related changes to
035_event_uuid_to_id.py for Heat.

Change-Id: I6d251fa503848e03603a13ecb742d4915f0f6972
Closes-Bug: #1328045
Co-authored-by: Matt Riedemann <mriedem@us.ibm.com>
Fix DB2 column 'id' autoincrement issue

After installing heat against DB2, we can't insert data in table
event, the reason is that "event_table.c.tmp_id.alter(
sqlalchemy.Integer, autoincrement=True)" can't make sense after
above "tmp_id=>id" transformation, Now need work around it.

Change-Id: I50025fc5db87d458e660d42c773d799fc36f1b27
Closes-Bug: #1316041
ResourceGroup add remove_policies property

To cater for the requirement of TripleO (and others) to specify a
victim for removal from a Resource group ("eliding" in merge.py speak)
add a new property, which enables specific indexes to be passed on
update, which will force removal of those specific resources.

In future it may be that we add additional ways to specify the removal
policy, so this interface is a list of policies, with each policy being
a map taking an optional list of arguments.

'resource_list' policy added now, which takes one of the following:

1. Resource name (as specified in the nested stack, obtainable e.g via
heat resource-list --nested-depth $n <parent stack>, or by doing
resource-list directly using the nested stack ID obtainable via
physical_resource_id of the ResourceGroup resource.

2. The nested resource refid - this is typically (but not always,
particularly for AWS resources) the resource physical_resource_id,
and is obtainable via either get_resource or the "refs" attribute
of the ResourceGroup.

Note that once removed, the resource name is never reused, so the
%index%, where used, will always increment on replacement.

Change-Id: Icbc76b54bae3eb39efdaa704b036b1bbb94db206
blueprint: resourcegroup-force-remove
Merge "Columns needs to be non-nullable for DB2"
Merge "Fix DB2 column 'id' autoincrement issue"
Merge "ResourceGroup add remove_policies property"