Don't use sudo in base.

Install.d hooks are already root, we don't need plain sudo there.

Change-Id: I69747049b2f5f649eb503a24487bbb3a4151ae21
Verify Ubuntu Cloud Images using SHA256SUMS

Relies on https://cloud-images.ubuntu.com being served by a cert signed
by one of the CA's trusted by the build host.

Change-Id: I690b755acca54789110c2c8fa723c8b87b2485c9
Namespace SHA256SUMS file to distro/release/arch

Its possible other images will want to use the same filename

Change-Id: Iae393bfc71205d39e2bc6e12f5524824607d6101
Fix heat-cfntools to work on Fedora

Also add redhat-lsb to Fedora images for lsb_release which should prove
useful as a way to do distro-specific things.

Change-Id: Ie32566349319ca244fa02065bb9f81c36c1b49fb
Add a cinder element.

Change-Id: I4729cf003896c3b4f8267d16e1b4822099231051
Improvements to glance element:

- Perform config installation with os-config-applier
- Known-working config files
- Perform service restarts using os-refresh-config hooks
- Collapse g-api and g-reg into a single element, at least for now

Change-Id: Ie40c9725cbc27445e10ffde8eeff422bd121d5b5
Allow elements to include skeleton config:

This code provides 'use-config-templates' for elements
to use to install os-config-applier templates to
/opt/stack/openstack-config-templates.

These templates will be filled in from heat
metadata by os-config-applier upon first boot.

This change updates keystone to install templates
in this way as an example.

Change-Id: I0be0a79a431e9ba5b80e84f130c48d5ce8b100ae
Seperate install of services and start scripts:

This allows openstack services to be git/pip installed
without installing any startup scripts.

This is useful for keystone-db or nova-db elements, for
example, where the service must be installed to perform
database migration, but no service start scripts need
be installed.

Additionally, add a tool to create openstack sql databases.

Change-Id: I72751d4da59f8597d20aea2f27a9dfabe2f63a8f
Update keystone element to use os-refresh-config.

Change-Id: I15595d80ee7fad04d964aaa83a403d9303f6aa55
Add a nova-baremetal element.

Change-Id: I4b439485c32402fa98e45dfea976538e43b770ad
Add a quantum element.

Change-Id: I9de3d85e800c9ea9accafffc92e1cfcafa5c3fdd
Add a horizon element.

Change-Id: Ie585a7ea63ba5b5b8b064df738e9616827e913fa
Add a nova-virt element.

Change-Id: I2e5cbfdfd0da930050ec86d6ee536910bebc64c9
TO PROPOSE: Add a bootstrap element.

Change-Id: Ic300e39a56f401be4d88feb6cdf85c851982282c
TO PROPOSE: Touch a first-boot.status file:

After running first-boots scripts, both to indicate
that the scripts have completed, and also to record
the exit status.

This is useful for automated testing:
  - tests can wait until first-boot scripts have
    completed before commencing testing
  - tests can abort further testing if first-boot
    scripts have failed.

Change-Id: Idec63de858c15def8c621056232aad45eab225e8
DO NOT MERGE: tim element

Change-Id: I2d8927a391306b21cac0a913153dbd3fc3c4ace4
DO NOT MERGE: bin/boot-elements

Change-Id: I0d4e61d0f00a8635ad27c37eb96d226269f27ab3
local-config element adds authorized_key for root:

Currently, the local-config and stackuser elements
are intertwined.  local-config installs an authorized_key
for stackuser, if the stackuser element is in use.

This change does two things:
- add authorized_key for root from local-config element,
    regardeless of whether stackuser element is in use.
- install key for stack user from stackuser element,
    only if local-config element is in use.

Change-Id: I0d07b61404119ea0650c5c0fb98d6786adcf3ca9