23 Commits

Author SHA1 Message Date
Steven Hardy
08f72b2947 Wire in hieradata overrides via ExtraConfig for BlockStorage
Adds support for global (ExtraConfig) and role-specific
(BlockStorageExtraConfig) hiera overrides, similar to those added
for the Controller and NovaCompute roles.

Change-Id: Iaf9665b53407e6a657f56d6516469f2c88bafbdd
2015-07-16 17:55:48 +01:00
Jenkins
7852f5da56 Merge "Make puppet-applying *Post resources depend on hieradata" 2015-06-24 17:00:17 +00:00
Dan Prince
599dd5ad8d Add support for isolating block storage nets
This patch updates the cinder block storage role
for Puppet so that it supports network isolation.
This includes using the (optional) isolated networks
for MySQL, Glance API, and iscsi network traffic.

Change-Id: Icdfbf5fce7380e6049babca0cd50ca2e4008c1b0
2015-06-21 08:12:41 -04:00
Steven Hardy
1f37302f6b Allow control of hostname formatting
Currently, we use the heat default server names, which results in some
fairly unreadable hostnames due to the level of nesting in the templates.

e.g ov-sszdbj5rdne-0-bhseh65edxv6-Controller-zoqc6tlypbdp

Instead, we allow the user to specify a format string per role, defaulted
to a string which formats the name e.g <stackname>-controller-<index>

e.g overcloud-controller-0

Optionally additional hostname components (not replaced by heat) could be
added, such that deployment time customization of hostnames via firstboot
scripts (e.g cloud-init) may be possible.

Should anyone wish to maintain the old heat-generated names, they can pass
an empty string via these parameters, which heat will treat as if no "name"
property was provided to OS::Nova::Server.

Change-Id: I1730caa0c2256f970da22ab21fa3aa1549b3f90b
2015-06-17 10:23:09 +12:00
Steven Hardy
ec3137dc6e Make puppet-applying *Post resources depend on hieradata
When you do a stack-update which affects, e.g ControllerDeployment
such that some value in hieradata is updated (for example changing
the "Debug" parameter to True), we only write the hieradata file and
don't reapply the manifests.

So we introduce a dependency on the deploy_stdout values from all
hieradata applying configs, such that the manifests will be re-applied
on update if the data is changed.

This requires https://review.openstack.org/#/c/190282/ so that
99-refresh-completed will return the derived config ID as part of the
deploy_stdout payload.

Closes-Bug: #1463092
Change-Id: I1175248c3236d0c42e37d062afce550efce8aadc
2015-06-16 04:12:09 -04:00
Steve Baker
fa477ef380 Config & deployments to update overcloud packages
This change adds config and deployment resources to trigger package
updates on nodes. The deployments are triggered by doing a stack-update
and setting one of the parameters to a unique value.

The intent is that rolling update will be controlled by setting
breakpoints on all of the UpdateDeployment resources inside the
role resource groups.

Change-Id: I56bbf944ecd6cbdbf116021b8a53f9f9111c134f
2015-06-08 16:07:26 +02:00
Jenkins
42e7689e6f Merge "Reuse the various service passwords as db passwords." 2015-05-27 09:38:45 +00:00
Dan Prince
e38f7cae7d Switch net-config templates to use OS::stack_id
This patch removes the custom config_id outputs and replaces
it with OS::stack_id which allows us to just call get_resource
in the parent stack.

The motivation for this change is we'll be adding more os-net-config
templates and it would be nice to take advantage of this newer
template feature.

Change-Id: I6fcb26024b94420779b86766e16d8a24210c4f8e
2015-05-26 08:50:45 -04:00
Dan Prince
b1b66947a0 Add isolated network ports to block storage roles
This patch updates the cinder block storage roles so that
they can optionally make use of isolated network
ports on the storage, storage management, and internal_api
networks.

 -Multiple networks are created based upon settings in the heat
  resource registry. These nets will either use the noop network (the
  control plane pass-thru default) or create a custom Neutron port on
  each of the configured networks.

 -The ipaddress/subnet of each network is passed passed into the
  NetworkConfig resource which drives os-net-config. This allows the
  deployer to define a custom network template for static IPs, etc
  on each of the networks.

 -The ipaddress is exposed as an output parameter. By exposing
  the individual addresses as outputs we allow Heat to construct
  collections of ports for various services.

Change-Id: I4e18cd4763455f815a8f8b82c93a598c99cc3842
2015-05-26 08:50:44 -04:00
Dan Prince
b56c2f01bd Overcloud: bump HOT version to 2015-04-30
This patch bumps the HOT version for the overcloud
to Kilo 2015-04-30. We should have already done this
since we are making use of OS::stack_id (a kilo feature)
in some of the nested stacks. Also, this will give us access to
the new repeat function as well.

Change-Id: Ic534e5aeb03bd53296dc4d98c2ac5971464d7fe4
2015-05-20 11:37:46 -07:00
Derek Higgins
1db5013abd Reuse the various service passwords as db passwords.
We need to stop using "unset" as the password for all databases. Ideally we
would add a "XxxxDSN" parameter (e.g. KeystoneDSN) but this wont work because
we don't know the VirtualIP to pass in.

Until we can come up with a better solution we should at least get rid of
the "unset" passwords.

Change-Id: I31f45912fa9c116ccdee010a2c5d91ea43a25671
Depends-On: I8ffe1eb481f615b0fbe127cd8107f1e70794c839
2015-05-01 17:06:49 +01:00
Giulio Fidente
04027e783f Remove hardcoded references to .novalocal in hostnames
Remove references to the .novalocal domain part in the hosts file.

Change-Id: Idf14907adaf2f35440b6f28870fe18434eadd1be
Depends-On: Iadfdf4120c4d1c9b6976321753957fd4eecf301c
2015-04-28 05:38:11 -04:00
Jenkins
645b447b86 Merge "Make all default values match overcloud defaults" 2015-04-27 14:21:00 +00:00
Dan Sneddon
476a1b347d Separate the network configuration per flavor.
This change allows a different network config for each family of hosts. For
instance, the controller may have a different network configuration than a
block storage node. This change adds a declaration for each family in the
overcloud-resource-registry.yaml & overcloud-resource-registry-puppet.yaml.

Change-Id: I083df7ebbb535f97d8ddec2ac0e06281c55986cd
2015-04-24 16:51:41 -07:00
Steven Hardy
723db1317c Enable passing optional first-boot user-data
Currently all the OS::Nova::Server resource created don't pass any
user-data.  It's possible to pass user-data as well as using heat
SoftwareConfig/SoftwareDeployment resources, and this can be useful
when you have simple "first boot" tasks which are possible either via
cloud-init, or via simple run-once scripts.

This enables passing such data by implementing a new provider resource
OS::TripleO::NodeUserData, which defaults to passing an empty mime
archive (thus it's a no-op).  An example of non no-op usage is also
provided.

Change-Id: Id0caba69768630e3a10439ba1fc2547a609c0cfe
2015-04-24 10:18:31 +01:00
Jeff Peeler
95889dd4ee Make all default values match overcloud defaults
It's very confusing for them to be different, especially in the case of
comparing Tuskar vs non-Tuskar deployments where the parameters are read
from different files.

Note: NeutronPhysicalBridge is named differently in the overcloud
template (HypervisorNeutronPhysicalBridge). This is the only parameter
checked that isn't named exactly the same, hopefully there aren't any
others.

(Checked controller, compute, ceph, cinder, and swift for both puppet
and non-puppet templates)

Change-Id: I48ce1eb40d2d080c589ce619c50eddff17efe882
2015-04-09 12:02:29 -04:00
Giulio Fidente
21eed9350a Ensure all Rabbit params are propagated to interested nodes.
Change-Id: I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
2015-03-19 10:46:02 -04:00
Yanis Guenane
4bc4171a15 Use Cinder multibackend by default
Currently Cinder iscsi backend is configured within the DEFAULT section.
Since we aim to support multibackend, this commit puts the iscsi backend
in its own section and enable it by default configuring it properly.
Also adds a parameter which can be used to disable the default backend.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>

Change-Id: I05fb44b59829c0afa8a6588956a48320f2f65159
2015-03-12 07:05:51 -04:00
Dan Prince
0fce77e3c2 Remove unused cinder params from -without-mergepy
Cinder block storage nodes shouldn't need to know the
AdminPassword and CinderPassword values. There are
no services which require Keystone related passwords
on the block storage nodes.

Change-Id: I4aa89347c60ec6258bd66725a895f6fd2b4844f6
2015-01-27 09:07:19 -05:00
Jenkins
f0ba1a6324 Merge "Remove default flavor from every template" 2014-12-09 21:34:15 +00:00
Giulio Fidente
266b302546 Align the cinder-storage.yaml template with block-storage.yaml
Change-Id: I00af10e07feed6c9c97ee6cad545dbff88cd6afc
2014-12-05 09:58:13 +01:00
Steve Kowalik
6f16c96383 Remove default flavor from every template
With the push to using the new setup-flavors provided by
os-cloud-config, the default flavor will no longer be called
'baremetal', and Heat will always validate the default even if it
is overridden. To that end, remove the default flavor from every
flavor definition. Just to be certain, also add a custom_constraint
to every flavor definition that was missing it.

Change-Id: I24251e73be4e86738857f73b89499f592c4908de
2014-11-27 13:07:10 +11:00
Peter Belanyi
24f40d5312 Add converted version of block and object storage
This patch extends the previous 'Don't use merge.py for overcloud'
commit with the cinder-storage.yaml and swift-storage.yaml templates.

Requirements for this to deploy:

1. Block and object storage images have to be built
(overcloud-cinder-volume and overcloud-swift-storage)

2. The images have to be loaded by devtest_overcloud.sh
OVERCLOUD_CINDER_ID=$(load-image -d $TRIPLEO_ROOT/overcloud-cinder-volume.qcow2)
OVERCLOUD_SWIFT_ID=$(load-image -d $TRIPLEO_ROOT/overcloud-swift-storage.qcow2)

Change-Id: I45f9d9f051970a83e26c0fd924d7c98276958113
2014-10-21 13:39:09 +02:00