OpenStack Orchestration (Heat)
Go to file
Zane Bitter a08893dc86 Fix entropy problems with OS::Random::String
When generating a random string, once we had selected from the various
required pools, we continued by selecting a pool at random and then
selecting a character from that pool at random. This did not take into
account the differing sizes of the available pools, nor the fact that the
same character could appear in multiple pools, which resulted in a
non-uniform probability distribution of characters. Since users mostly make
use of this feature to generate default passwords for services they are
deploying, this would result in the generated passwords having slightly
less entropy than expected (and pathological cases were possible).

Rectify this by always selecting non-constrained characters from a single
combined pool, and by ensuring that each character appears only once in any
pool we're selecting from.

Since we also want to use this method to generate passwords for OpenStack
Users, the new implementation is in a separate module in heat.common rather
than mixed in with the resource's logic. Also, use a StringIO object to
collect the characters rather than repeatedly appending to a string.

Change-Id: Ia7b63e72c1e3c0649290caf4fea8a32f7f89560b
Closes-Bug: #1757300
Related-Bug: #1666129
Related-Bug: #1444429
(cherry picked from commit 6e16c051ba)
2018-04-05 12:43:13 -04:00
api-ref/source Add converge flag in stack update for observing on reality 2017-08-07 05:39:29 +00:00
bin Remove log translations 2017-03-25 17:11:50 +08:00
contrib Remove usage of parameter enforce_type 2017-05-08 17:55:32 +08:00
devstack Update .stestr.conf with the group_regex 2018-04-05 13:45:42 +05:30
doc Install guide bug fix: incorrect auth_uri for ec2authtoken 2017-09-28 07:57:21 +00:00
etc/heat Mark the default policy usage for neutron resource 2017-05-18 09:18:54 +08:00
heat Fix entropy problems with OS::Random::String 2018-04-05 12:43:13 -04:00
heat_integrationtests Update .stestr.conf with the group_regex 2018-04-05 13:45:42 +05:30
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
playbooks/devstack Migrate grenade jobs to zuul v3 2017-11-30 04:58:26 +00:00
rally-scenarios Update rally link 2017-03-24 11:58:38 +08:00
releasenotes Fix entropy problems with OS::Random::String 2018-04-05 12:43:13 -04:00
tools Remove subunit-trace fork 2017-04-06 11:42:05 -07:00
.coveragerc Update .coveragerc after the removal of openstack directory 2016-11-12 09:21:05 +05:30
.gitignore Add .idea pattern to .gitignore 2017-04-03 09:32:25 +00:00
.gitreview Update .gitreview for stable/pike 2017-08-14 16:52:58 +00:00
.testr.conf Add separate requirements.txt to integration tests 2015-04-01 09:02:13 +00:00
.zuul.yaml Zuul: Remove project name 2018-02-12 15:04:08 -08:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:36 +00:00
HACKING.rst Prepare for using standard python tests 2017-02-04 09:49:18 +01:00
LICENSE Initial commit (basics copied from glance) 2012-03-13 21:48:07 +11:00
README.rst Switch to heat-agents for docs 2017-01-18 11:50:52 +08:00
babel.cfg Add setup.py and friends 2012-03-14 09:25:54 +11:00
config-generator.conf fix heat_keystoneclient config gen 2017-08-22 07:10:42 +00:00
install.sh install.sh: stop using deprecated option group for rabbit 2015-09-01 19:01:34 +02:00
requirements.txt Updated from global requirements 2017-09-21 00:57:46 +00:00
setup.cfg fix heat_keystoneclient config gen 2017-08-22 07:10:42 +00:00
setup.py Updated from global requirements 2017-03-02 17:42:22 +00:00
test-requirements.txt Updated from global requirements 2017-07-28 12:48:50 +00:00
tox.ini Update UPPER_CONSTRAINTS_FILE for stable/pike 2017-08-14 16:53:00 +00:00
uninstall.sh use stderr for error echo message 2016-01-17 05:20:40 +00:00

README.rst

Team and repository tags

image

Heat

Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.

Why heat? It makes the clouds rise and keeps them there.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone https://git.openstack.org/openstack/heat

Python client

https://git.openstack.org/cgit/openstack/python-heatclient

References

We have integration with