This change ensures that api services deployed with apache+uwsgi
by default with devstack. User can still deploy apache+mod_wsgi
by setting WSGI_MODE=mod_wsgi in local.conf.
Using HEAT_USE_APACHE=False or HEAT_USE_MOD_WSGI=False
(for backward compatibility) would deploy the services
without apache.
Change-Id: Ia5e28e2987b4aeab6c049a3bde3a956204ddc5d9
Depends-On: I3b77aafc6104119503363e5db36b0379964daba5
We reset the metadata for resources when mark healthy
in change Ibd6c18acf6f3f24cf9bf16a524127850968062bc,
but it doesn't work, because resource policy and group
inherit from multiple class, and the method
'handle_metadata_reset' actually be called now is wrong.
This patch will fix it.
Change-Id: I8583f26b6c8f6c814a00a0a38042484378fa53db
Closes-Bug: #1672596
Formalise the format for the output data from a node in the convergence
graph (i.e. resource reference ID, attributes, &c.) by creating an object
with an API rather than ad-hoc dicts.
Change-Id: I7a705b41046bfbf81777e233e56aba24f3166510
Partially-Implements: blueprint stack-definition
setUp and tearDown will be automatically called around each
testcase, so this is to remove setUp and tearDown that doing
nothing additional than super to keep code clean.
Change-Id: I8b6943602419d3f360991721d90b61888b55ea60
It makes no sense for an exception that is used for local flow control -
especially flow control between the Resource superclass and its
subclasses - to be defined in the heat.common.exceptions module where
user-facing exceptions whose definitions must be shared between the engine
and api are defined.
This patch moves it back to the original, correct location and adds
docstrings so people will actually know what it's for.
Technically both this and the original move were breaking changes to the
third-party Resource plugin API. This exception seems much less likely to
be in widespread use than UpdateReplace (c.f. preceding patch) though.
This reverts commit 5120f096d7.
Change-Id: I73dc671cd7e6e37ecb0f13545c7fa93d58e6e8ff
Related-Bug: #1611104
Scaling policies(alarm_url) are normally expected to be
used with 'alarm_actions' of Alarm resource plugins by
the template author. However, we should not check for the
alarm state before proceeding on handling the signal.
This would provide flexibility to use these policies with
other alarm actions like 'insufficient_data_actions',
if required.
Change-Id: I733f986c9ac151f76aa997d26e9b9cf8afd9f6c9
Closes-Bug: #1598044
Don't resize and send notifications when there is no
change in size i.e. max/min has been reached.
This also refactors some exception handling logic.
Change-Id: I1bb226b3067178dbdab2947609c53f3434aff9fe
Related-Bug: #1555748
- Fix update stuck in IN_PROGRESS if issued within
the cooldown period after CREATE_COMPLETE.
- Fix update stuck in IN_PROGRESS if issued when scaling
is happening.
Change-Id: I31074783f525ea811056e8df7ff46545e58075b5
Closes-Bug: #1559132
Cooldown behavior changed in commit:
50cc71e33c
Restore the cooldown behavior so that when a group does not encounter
scaling activity, a cooldown period is not activated.
Closes-Bug: #1555748
Change-Id: Icf5df6a48afb9f56aa1c3f1622d33b9998aca39c
It is convenient to have all exceptions in exception module.
Also it is reduces namespace cluttering of resource module and decreases
the number of dependencies in other modules (we do not need to import resource
in some cases for now).
NoActionRequired exception is moved in this patch.
Change-Id: Idf9bfaa8a51dd6ea679a0148c712529e3c3b072a
The signal() method of resource class doesn't add
event to event list if the signal can not be performed i.e.
handle_signal raise exception. So it is needed to raise exception
if asg in cooldown. Otherwise the event will be added to event list
in SIGNAL_COMPLETE state, but no action will be performed.
Change-Id: Iebdb6c9231aef90d11428ca6beed150cfba2715f
Closes-Bug: #1486945
* Stub out actual API calls that weren't done before
* Sort URL args for consistent checking
partial blueprint heat-python34-support
Change-Id: Ia4cb336cf2b4b7c56a9d32f82de0281c7ab76e60
There are cases where it takes a long time to create a new resource as
requested by the scaling operation on an ASG resource, for instance, a
nova server creation followed by a complex SoftwareDeployment. During
this process, additional alarms may come in but failed to be blocked
by the current cooldown checking mechanism because the very first
timestamp has yet to be generated. This is leading to unexpected size
adjustment to the ASG.
This patch augments the existing cooldown checking mechanism with a
scaling-in-progress test so that additional alarms arriving during
the very first scaling operation will be ignored.
Change-Id: Ib8aa83eed366df7097c9cbb9247eca866ae4b620
Closes-Bug: #1375156
This patch adds a new attribute to scaling policies allowing it to be
called by the ceilometer service user using trusts on alarming.
Implements: blueprint trust-alarm-urls
Change-Id: Ic039d9aaf3804ab09e3d546d3ae55a18b528d585
This will allow Resources to hold weak references to Stacks (so as to avoid
circular references) without causing the Stack object to be prematurely
deleted.
Change-Id: Ia76da7bc51042fb3598ef2a660d6fbf78137a37b
Related-Bug: #1454873
If we get repeat signals that cause no concrete actions
this can cause large quantities of senseless events that
suppress useful events.
Change-Id: I79374d27648319f241f36ab041784fab37823ddb
Closes-bug: #1445361
Adds `min_adjustment_step` property to ScalingPolicy
resource. It represents the minimum number of resources
that are added or removed when AutoScaling group scales
up or down. This can be used only when specifying value
`percent_change_in_capacity` for `adjustment_type` property.
Change-Id: Ia8976e52047ab47245566487ce1872a8890bcff2
Closes-Bug: #1447913
This might prevent possible clashes when tests are run in parallel.
Please note, that default stack name generated by
heat/tests/utils.py:parse_stack is now random instead of 'test_stack'.
Please provide an exact (and preferrably unique) stack name to this
function if you want to assert on it.
Those tests that relied on the default 'test_stack' name have been
fixed. Those tests that were explicitly using a rather nonunique name
have been fixed too.
Change-Id: I3b82bbdd1f59020b13c48c929a45411d54ea9085