Make sure heat-manage does not use heat.conf logging
in the heat-db-setup script as the logging directory
might not be setup yet.
Change-Id: I16db3fde1c7bfe5f027c77f2a25ffa2104d15491
Closes-bug: #1191925
Currently in Instance.py check_delete_complete method is waiting
for 'NotFound' exception. This change is to wait for 'DELETED'
state to speed up the resource/stack delete.
Closes-Bug: #1243389
Change-Id: I09712f548f40bb13c2b322550007f5bd30dfb3e2
This mostly fixes the accesses to .message, there is still the
translation that is using the .message.
Partial-bug: #1243883
Change-Id: I709f65e39c017d70eaca5d8f6d06e0227b67e816
This has a couple of advantages:
- docs will be easier to generate
- everything property related is in one place
- it's a bit easier dealing with TemplateResources
- it will allow us to set update_allowed on nested schema
Change-Id: I5e59bc07e51fe4c5d58871cb2adcef7e16f9b2af
Partial-bug: #1240583
This fixes an irrating message during test runs:
No handlers could be found for logger "heat.engine.environment"
This was because the environment was loading before the fake logger
was enabled.
Change-Id: I1a40998fe37bf29529ef2eae348c6918bf56966b
I think we have deprecated this directory long enough.
We have proper getting started guides and api docs on openstack.org
Change-Id: Iaee690046866b98eea9a206dc6f2dca9b9af18b6
A wait condition will return an empty dict for its Data attribute
until it has been created, however Fn::Select on Data will be evaluated
before the wait condition is created (for example, during stack-list
or stack-show). The current error raising of Fn::Select leads these
operations to fail.
This change results in Fn::Select evaluation behaving in the
following way:
- KeyError on dict lookup failure results in empty string
- IndexError on list index results in empty string
- Passing an empty string as the value results in an empty string
Closes-Bug: #1243958
Change-Id: I3b01c8ce5dc56e804016274282d2ee69f539bf40
This doesn't solve the problem yet, but clarifies
the format string from the final string.
Partial-bug: #1243883
Change-Id: Ia0f19423248304984cc53926dfb87c6a49c90e11
Keystone needs to be mocked out whenever stacks may do something that
triggers authentication. In this case failures to auth would not result
in a failure of the test because we are not asserting the end state of
the stack or the list of events we expect.
Change-Id: I401971cfc984bd71c611eae70aeb33b2f5a3c8c6
Closes-Bug: #1227962
While these tests do setup a mock for keystoneclient, one of the tests
clears out these stubs before exitting to avoid needing to stub out
things stack_delete_after will do. However, stack_delete_after will
trigger a call to keystoneclient which leads to unmocked calls trying to
reach server.test from inside the tests. These failures go undetected
because they are after the test, and nothing is checking for error
events in this phase.
Change-Id: I608e0b5a263587d5151b4cb4ce3f03e289c4bdca
Partial-Bug: #1227962
This is obvious looking at the code, but if someone ever
reworks it, then we will need this test case.
part of blueprint exclude-resources-option
Change-Id: Ic04b09597ca5d401fcd40ce9241f12c2f7fca04c
self.resource_id = None is used in several resources, which is wrong,
we should be explicitly updating the resource_id in the DB via the
resource_id_set function.
Change-Id: I41e1326fe7e1da364c8e6dd68f572df484beffb3
Although heat's agent tooling is heavily dependent on cloud-init, some
users will want to orchestrate servers that are not cloud-init enabled.
They may use their own agent, or a user_data which is executed as a
script on boot. Possibly the user will also want to specify #cloud-config
user_data explicitly.
This change adds the property 'user_data_format' to OS::Nova::Server
with the available options 'HEAT_CFNTOOLS' or 'RAW'.
The following OS::Nova::Server resource snippet was successfully
executed on a cirros image (which does not support cloud-init)
user_data_format: RAW
user_data: |
#!/bin/sh -v
echo foo > /tmp/bar
This change is completely unrelated to any software configuration
related blueprints, however the property user_data_format has the
potential of supporting more values in the future.
Implements blueprint raw-user-data
Change-Id: I27571620b4fc74a9f82d12a2f754037c00ad81ff
Nova has support to rebuild an instance so that it keeps the same
instance id and address. This is particularly useful for doing image
based updates to servers without incurring additional cost to create new
servers and then delete the old ones.
We still default to replacing, and add a new policy called 'REBUILD' for
the times where we want a resource to be rebuilt on image updates rather
than replaced.
blueprint nova-server-rebuild
Change-Id: If0033f52912e939048b5ebc1ee2e30f67d225f34
The split between calling server.resize() and check_resize() makes
it more complicated to add other tasks that can be done in parallel
with other servers' tasks. By making a resize method which is self
contained we simplify the addition of rebuild in a subsequent patch.
Change-Id: I0490476dbef30571e90b88163fc8ca0670458682
The policy actions assume repeat_actions=true.
For the situation when cpu is high even when a new server is added.
Here we would expect yet-another server to be added but what currently
happens is the alarm will be stuck in the alarm state, but with no
further actions.
We need a default that it sane.
Closes-bug: #1242168
Related-bug: #1223347
Change-Id: I4c6a084076a0cc01ebd0d7431d3fac559161e947
Currently, the cloud_backend configuration option can only use modules
imported in-tree before clients.py is imported. This does not work for
plugins because they are dynamically imported in
heat/engine/resources/__init__.py after clients.py is imported. Change
the cloud_backend module to be specified when the client class needs
to be initialized rather than when clients.py is imported. This change
requires a class to be specified for the cloud_backend rather than a
module name.
Change-Id: I8f2b93bfb6a9585d1e7dc52d70092105b6e1bfaa
Closes-Bug: 1242870