Steven Hardy [Thu, 9 Apr 2015 14:01:08 +0000 (15:01 +0100)]
post-deploy hook for rhel registration
Adds a potential usage of the post-deploy hooks to register a server
with RHN or a satellite.
Note this requires some additional parameters, which can be specified in
environment_rhel_reg.yaml, and this must be passed into the call to heat
via another -e parameter. An alternative may be to have a global
extraconfig_env.yaml at the top level, which the scripts always pass, or
to use the global environment (/etc/heat/environment.d/default.yaml) on
the seed.
Co-Authored-By: James Slagle <jslagle@redhat.com>
Change-Id: Ia6fd270122cbc2e51beb672654e5e1ebd3bd2966
Jenkins [Wed, 29 Apr 2015 20:08:27 +0000 (20:08 +0000)]
Merge "Disable dhcp_domain in Nova for the overcloud as well"
Jenkins [Wed, 29 Apr 2015 20:08:21 +0000 (20:08 +0000)]
Merge "Remove hardcoded references to .novalocal in hostnames"
Jenkins [Wed, 29 Apr 2015 18:57:02 +0000 (18:57 +0000)]
Merge "Add hooks for extra post-deployment config"
Jenkins [Wed, 29 Apr 2015 14:13:10 +0000 (14:13 +0000)]
Merge "Add RabbitMQ as a Pacemaker resource when EnablePacemaker"
Jenkins [Tue, 28 Apr 2015 13:55:42 +0000 (13:55 +0000)]
Merge "Configures haproxy as a Pacemaker resource"
Jenkins [Tue, 28 Apr 2015 13:55:03 +0000 (13:55 +0000)]
Merge "Switch VIP management from Keepalived to Pacemaker"
Giulio Fidente [Tue, 21 Apr 2015 14:57:39 +0000 (10:57 -0400)]
Add RabbitMQ as a Pacemaker resource when EnablePacemaker
Change-Id: I43a74c1db324144d33e96a94cb718db30e0fd243
Giulio Fidente [Tue, 28 Apr 2015 09:43:13 +0000 (05:43 -0400)]
Disable dhcp_domain in Nova for the overcloud as well
The overcloud networking is managed by Neutron so we do not want
Nova to append its default domain part to hostnames.
Change-Id: Ic1edda158bf0579ed34455ad27db8ca444d26b85
Giulio Fidente [Tue, 28 Apr 2015 09:38:11 +0000 (05:38 -0400)]
Remove hardcoded references to .novalocal in hostnames
Remove references to the .novalocal domain part in the hosts file.
Change-Id: Idf14907adaf2f35440b6f28870fe18434eadd1be
Depends-On: Iadfdf4120c4d1c9b6976321753957fd4eecf301c
Jenkins [Mon, 27 Apr 2015 14:21:00 +0000 (14:21 +0000)]
Merge "Make all default values match overcloud defaults"
Giulio Fidente [Mon, 20 Apr 2015 17:05:25 +0000 (13:05 -0400)]
Configures haproxy as a Pacemaker resource
Change-Id: I6bf5ada5a5298f4079594f3cc8b01ac0ef85876e
Giulio Fidente [Mon, 20 Apr 2015 11:20:07 +0000 (07:20 -0400)]
Switch VIP management from Keepalived to Pacemaker
Change-Id: I45511569fda6b00ca35b1e590537a29271e56ce0
Depends-On: I98b9b3dbc48009ce255d964ac580e1a31f279f1e
Dan Sneddon [Wed, 15 Apr 2015 00:21:49 +0000 (17:21 -0700)]
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
Steven Hardy [Thu, 9 Apr 2015 13:28:10 +0000 (14:28 +0100)]
Add hooks for extra post-deployment config
Adds optional hooks which can run operator defined additional config on
nodes after the application deployment has completed.
Change-Id: I3f99e648efad82ce2cd51e2d5168c716f0cee8fe
Steven Hardy [Thu, 2 Apr 2015 13:52:18 +0000 (09:52 -0400)]
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
Jenkins [Wed, 22 Apr 2015 20:05:51 +0000 (20:05 +0000)]
Merge "Set EnablePacemaker == false be default"
Dan Prince [Wed, 22 Apr 2015 12:47:37 +0000 (08:47 -0400)]
Set EnablePacemaker == false be default
Pacemaker is a new feature and should probably be disabled
by default.
Change-Id: I840d08c9e0563aeb7128eb2b21929612b7a5bf7a
Dan Prince [Sat, 11 Apr 2015 02:14:44 +0000 (22:14 -0400)]
Parameter to enable/disable controller swift store
Adds a new ControllerEnableSwiftStorage parameter that
can be used to enable/disable use of the contoller node
as a Swift storage node.
Change-Id: Ic54144f4a46a671818c2f12e419cfa619b0dc1f9
Dan Prince [Fri, 10 Apr 2015 22:52:14 +0000 (18:52 -0400)]
Add option to enable ceph storage on controller
This patch adds a new ControllerEnableCephStorage option
which can be used to install and configure Ceph storage
(OSD) on the controller node.
The default is to have this disabled by default (this is
probably a more production like setting).
The motivation for this change is to help facilitate CI
jobs which actually use Ceph. Right now we have an issue
where once the Heat stack finishes Ceph is configured
and ready, but Cinder volume (required by our CI
devtest_overcloud.sh test) may or may not have had
enough time to recognize the amount of storage
on the remote Ceph storage nodes. Waiting another
periodic cycle for Cinder volume to recognize the
actual amount of storage on the remote OSD nodes
would work but there isn't a good way to do this
ATM. The right solution here is probably to
implement Heat breakpoints in our CI. As we haven't quite
landed that change, another option is to simply
make the controller node also be a Ceph storage node.
Since this runs as "step 2" within the controller
it ensures that the OSD will be available and thus
Cinder volume will register the correct amount of
storage on startup.
Enabling this feature also matches what we do with Swift
storage on the Controller (although we should provide
an option to actually disable this as well).
Change-Id: Ic47d028591edbaab83a52d7f38283d7805b63042
Jenkins [Tue, 21 Apr 2015 10:57:51 +0000 (10:57 +0000)]
Merge "Perform basic setup of Pacemaker cluster using puppet-pacemaker"
Jenkins [Tue, 21 Apr 2015 06:50:03 +0000 (06:50 +0000)]
Merge "Refresh description for swift/cinder/ceph storage nodes"
Jenkins [Tue, 21 Apr 2015 00:34:46 +0000 (00:34 +0000)]
Merge "Add support for Redis configuration"
Giulio Fidente [Fri, 17 Apr 2015 18:19:36 +0000 (20:19 +0200)]
Perform basic setup of Pacemaker cluster using puppet-pacemaker
Depends-On: Ia1bbf53c674e34ba7c70249895b106ec0af3c249
Change-Id: Ifa9f579d26a3cba9f8705226984c7b987ae0ad1c
Giulio Fidente [Fri, 17 Apr 2015 13:02:10 +0000 (15:02 +0200)]
Refresh description for swift/cinder/ceph storage nodes
These appear in the Tuskar UI and CLI so are worth keeping
consistent with those of the controller/compute nodes
Change-Id: I7cdd3a67d6f190f43e279fad0c4bf5f409d1e161
Yanis Guenane [Wed, 25 Mar 2015 09:55:46 +0000 (10:55 +0100)]
Add support for Redis configuration
Add support for Redis configuration on the overcloud controller role.
Change-Id: I917ff1e7c0abf9d76b9939a97978e858268deac2
Depends-On: I80a6c284af9eceb6b669a03c5d93256261523331
Emilien Macchi [Thu, 16 Apr 2015 13:33:58 +0000 (09:33 -0400)]
puppet: add missing ::glance include on controller
On Controller node, we also need to include ::glance if we want to have
common Glance bits (packaging included).
This is a Puppet best practice.
Change-Id: I967c06b2c78d8f3aa5fa984b518d34c813426a2e
Jenkins [Thu, 16 Apr 2015 08:23:28 +0000 (08:23 +0000)]
Merge "Do not downcase IP addresses"
Jenkins [Thu, 16 Apr 2015 08:22:42 +0000 (08:22 +0000)]
Merge "Perform basic setup of pacemaker cluster on controllers"
Emilien Macchi [Wed, 18 Mar 2015 16:01:20 +0000 (12:01 -0400)]
puppet: Ceilometer use MongoDB datastore backend
This patch configure Ceilometer to use MongoDB backend.
Change-Id: I22be0e22e7a3991ebd2d3aa7d14c518418a2458a
Yanis Guenane [Wed, 15 Apr 2015 12:41:25 +0000 (14:41 +0200)]
Fix MongoDB setup on nonha setup
Currently a replset parameter is set in mongodb.conf no matter if we are
in a ha or nonha setup. This install fine, but on a nonha setup it prevents
any program from using MongoDB, since no replset has been initialized. It
generates the following error when a program tries to use it :
not master and slaveOk=false
To prevent this issue a replicatset is initialized in both ha and nonha
setup, this way if another MongoDB node is added to the pool, it will be
able to attach automatically
Change-Id: I65e3f1ad35cb0cd31f6771444a0cffdf7569222f
Jenkins [Tue, 14 Apr 2015 19:03:36 +0000 (19:03 +0000)]
Merge "Make memcached bind on ctlplane instead of 0.0.0.0"
Giulio Fidente [Tue, 14 Apr 2015 18:36:12 +0000 (20:36 +0200)]
Do not downcase IP addresses
Change-Id: I0655b7cae2c436944833894bf9837877b3a69878
Jenkins [Tue, 14 Apr 2015 17:52:38 +0000 (17:52 +0000)]
Merge "puppet: implement MongoDB on controller nodes"
Jenkins [Tue, 14 Apr 2015 17:50:36 +0000 (17:50 +0000)]
Merge "Make rabbitmq bind on ctlplane instead of 0.0.0.0"
Emilien Macchi [Wed, 18 Mar 2015 16:01:20 +0000 (12:01 -0400)]
puppet: implement MongoDB on controller nodes
This patch aims to configure MongoDB server on controller nodes with
Puppet.
It also create a default replicaset for Ceilometer, so MongoDB can be
highly available when multiple controllers are run.
Change-Id: I3c1ff06ebc3c9dac44fc790caaea711d0eba4bb7
Giulio Fidente [Fri, 10 Apr 2015 21:40:26 +0000 (23:40 +0200)]
Perform basic setup of pacemaker cluster on controllers
Change-Id: Ia2e4eae619ca95c0f417f713676732eb4f01304b
Depends-On: I9563eec0a2266deb2ebef2e3d76ae89d39b2be29
Jiri Stransky [Fri, 10 Apr 2015 09:28:44 +0000 (11:28 +0200)]
MariaDB bind on correct address
Despite passing bind-address for MariaDB in overcloud_controller.pp
correctly, it was always trying to bind on 0.0.0.0. The problem is
caused by Galera's config file (we install Galera into the image even
though we don't use it yet). Galera's default config file contains
override of the bind-address value to 0.0.0.0, and the setting from
galera.cnf took precendence over what was in server.cnf.
The mariadb-galera-server package assumes that the main config happens
in galera.cnf and it ships an almost empty server.cnf. We now have an
EnableGalera param, when it's set to true the mysql module will manage
galera.cnf instead of server.cnf, overriding the default values from
galera.cnf and fixing the issue.
Change-Id: I7c2fd41d41dcf5eb4ee8b1dbd74d60cc2cabeed9
Closes-Bug: #
1442256
Jenkins [Thu, 9 Apr 2015 20:18:38 +0000 (20:18 +0000)]
Merge "Wire in list of controller nodes as memcache_servers for Swift proxy"
Jeff Peeler [Tue, 7 Apr 2015 22:10:19 +0000 (18:10 -0400)]
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
Jiri Stransky [Fri, 3 Apr 2015 14:24:55 +0000 (16:24 +0200)]
Pass in libvirt_rbd_secret_key for nova compute
Passing the key explicitly into nova::compute::rbd means that Puppet
will not attempt to fetch the key using `ceph auth get-key <keyring>`,
having these effects:
* One reason for compute node to have access to the client.admin key is
gone (in current implementation it does have access to the key, but
this change is a step towards removing it).
* Ceph cluster doesn't have to be running at the time when Puppet runs
on compute node, meaning we don't have to serialize things more than
we do now.
Also adding the ComputeCephDeployment as a dependency of
ComputePostDeployment, otherwise the hiera file it creates might be
created *after* Puppet configuration happens on compute nodes, and the
values it provides would be missing during the Puppet run on the compute
nodes.
Change-Id: Id3166e6d5f01d18ec8a5033398bb511f4321a5e8
Depends-On: I70da06159c0d3c6fa204b5f7a468909ffab4d633
Partial-Bug: #
1439949
Giulio Fidente [Wed, 8 Apr 2015 22:26:02 +0000 (00:26 +0200)]
Make rabbitmq bind on ctlplane instead of 0.0.0.0
Change-Id: I353cffc13f56b54ce2d2aeb1468b9a7c51765d7c
Giulio Fidente [Wed, 8 Apr 2015 22:21:09 +0000 (00:21 +0200)]
Make memcached bind on ctlplane instead of 0.0.0.0
Change-Id: I06f7066bf9eacf3ef0f5d73c0cfa65eaf4f74cff
Giulio Fidente [Tue, 7 Apr 2015 15:22:24 +0000 (11:22 -0400)]
Wire in list of controller nodes as memcache_servers for Swift proxy
Change-Id: Id193f8c13e3ad3e05bd884be5ba65621b9369d0e
Jenkins [Mon, 6 Apr 2015 05:23:38 +0000 (05:23 +0000)]
Merge "Remove enforced deps on RabbitMQ resources before config"
Jenkins [Mon, 6 Apr 2015 05:15:32 +0000 (05:15 +0000)]
Merge "Update descriptions comments for Ceph params"
Giulio Fidente [Thu, 2 Apr 2015 11:07:45 +0000 (13:07 +0200)]
Remove enforced deps on RabbitMQ resources before config
This should have been removed with change
I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
Change-Id: I20d4099aabe5ae9f89db45fd3db585067cab01f5
Jenkins [Fri, 3 Apr 2015 12:18:15 +0000 (12:18 +0000)]
Merge "Provide a way to know the boostrap_nodeid IP"
Giulio Fidente [Fri, 3 Apr 2015 04:09:56 +0000 (06:09 +0200)]
Remove deprecated ceph-source.yaml
Ceph will not be supported in the (already) deprecated with-mergepy
templates.
Change-Id: If6482b4ac03899ea552442edf01ebfeb4fb97a7a
Dan Prince [Thu, 2 Apr 2015 14:15:11 +0000 (10:15 -0400)]
Update descriptions comments for Ceph params
When trying out Ceph functionally the CephClusterFSID parameter
must be a UUID.
Additionally, the MonKey and AdminKey parameters should be
generated via ceph-authtool (or equivalently generated) to
ensure they work properly with the Ceph configuration.
Change-Id: I0c327843ef225d330d1c668f53324973c78d3505
Yanis Guenane [Thu, 2 Apr 2015 07:42:08 +0000 (09:42 +0200)]
Provide a way to know the boostrap_nodeid IP
Currently it is possible to know what is the hostname of the boostrap
nodeid but not its IP. Since depending on the use case the use of the IP
might be needed, a way to have access to this information should be
provided.
Change-Id: I9d0a7ee7de2088ddb87e0d8a8ae2b3ac75b0e78d
Jenkins [Thu, 2 Apr 2015 07:33:08 +0000 (07:33 +0000)]
Merge "Restructure Ceph/Puppet params to reflect changes in puppet-ceph"
Jenkins [Wed, 1 Apr 2015 19:26:14 +0000 (19:26 +0000)]
Merge "puppet: wire in osfamily hieradata support"
Dan Prince [Wed, 4 Mar 2015 17:09:57 +0000 (12:09 -0500)]
puppet: wire in osfamily hieradata support
This updates all of the puppet roles to use an optional
osfamily hieradata file which can be used to provide
distro specific settings.
Also, updates the controller role to make use of this
new file for setting the rabbitmq package_provider
parameter.
Change-Id: I46417db51b87b82bf276dfcef5647a90c37fb07d
Jiri Stransky [Thu, 19 Mar 2015 14:03:04 +0000 (15:03 +0100)]
puppet: add debug mode for OpenStack services
Propagate the top-level Debug parameter wherever it makes sense.
Swift doesn't have this kind of debug setting, it only allows to
configure log levels, so we'll need a different approach there.
Change-Id: I15332315a2fbaeaf924cde4e748fb0e064a778b7
Jenkins [Wed, 1 Apr 2015 08:51:08 +0000 (08:51 +0000)]
Merge "Set all RabbitMQ queues as mirrored when clustered"
Jenkins [Wed, 1 Apr 2015 08:49:39 +0000 (08:49 +0000)]
Merge "Ensure all Rabbit params are propagated to interested nodes."
Jenkins [Tue, 31 Mar 2015 19:38:50 +0000 (19:38 +0000)]
Merge "lb: Allow multiple backend"
Jenkins [Tue, 31 Mar 2015 12:48:45 +0000 (12:48 +0000)]
Merge "Implement mongo_node_ips hiera key"
Jenkins [Tue, 31 Mar 2015 12:48:23 +0000 (12:48 +0000)]
Merge "Refactor allNodesConfig"
Jenkins [Tue, 31 Mar 2015 11:53:28 +0000 (11:53 +0000)]
Merge "puppet+devtest: make compute nodes reachable"
Yanis Guenane [Thu, 26 Mar 2015 15:54:48 +0000 (16:54 +0100)]
lb: Allow multiple backend
Currently tripleo::loadbalancer allow a controller to have only itself
as a backend for a service, no matter the number of controller nodes.
This patch fixes that using all controller nodes available.
Change-Id: Ic8fc022b84850c669b19d37da7f275d9c811e694
Depends-On: I2a46c250bc3325eef9c3128cac2ab45c88b1ae75
Dan Prince [Sun, 29 Mar 2015 01:46:54 +0000 (21:46 -0400)]
puppet: correct cinder enabled_backends format
This resolves a formatting issue with the Cinder enabled_backends
config file setting. Previously we would potentially construct
an array with an undef value at the end if iscsi was enabled
but ceph was not (this is the case for our current CI job).
When an array formatted like ['tripleo_iscsi', undef] is then
passed to join() in puppet-cinder to construct a string it leaves
us with an extra ',' on the end of the string. This causes
problems in that cinder-volume loads an extra (system default)
cinder volume process which is not expected.
Because Fedora uses LIO as a default it was causing about half
of our CI runs to fail if the tgtadm cinder-volume process
wasn't being chosen by the scheduler.
Closes-bug: #
1437708
Change-Id: I3383012cb43792f334fdf789dc13147a3cb5ad63
Giulio Fidente [Fri, 27 Mar 2015 20:13:59 +0000 (16:13 -0400)]
Restructure Ceph/Puppet params to reflect changes in puppet-ceph
A change [1] in puppet-ceph offers more flexibility but breaks
backwards so we had to update our composition layer as well; we gain
control of the cephx keyring in the template though.
1. Ie6adbd601388ab52c37037004bd0ceef9fc41942
Change-Id: Ia8196849afce2969daa608828cec81ebe3ac96e1
Jiri Stransky [Thu, 26 Mar 2015 13:59:19 +0000 (14:59 +0100)]
puppet+devtest: make compute nodes reachable
Compute nodes run libvirt, which automatically creates a default network
which has the same address space (192.168.122.*) as the libvirt default
network on the host machine where devtest is running. This overlap
causes that when a compute node wants to send a packet to the host
machine (192.168.122.1) it gets incorrectly routed through the compute
node's own virbr0 instead of br-ex. The current solution does not seem
to be enough because libvirt gets started and creates the default
network before Puppet is triggered on compute nodes. Making sure the
libvirt default network is destroyed on the compute node fixes the
issue.
We don't have any puppet modules in OPM that would deal with libvirt
networks and it's probably not worth exploring and adding one because of
this small issue (i don't expect another use case of managing libvirt
networks directly), so i'm using an exec with proper idempotency
check.
Change-Id: Icde12aa204ed1f7fa35b0525875ce07db34dc42c
Closes-Bug: #
1436822
Jiri Stransky [Wed, 25 Mar 2015 14:38:38 +0000 (15:38 +0100)]
Implement mongo_node_ips hiera key
We need a list of hosts where MongoDB is supposed to run (as a list of
IP addresses, not names) to implement MongoDB support in overcloud.
Change-Id: I4b80f13be7e50630314d0642fa32b7763b6a2921
Jiri Stransky [Wed, 25 Mar 2015 13:30:01 +0000 (14:30 +0100)]
Refactor allNodesConfig
* Create hiera file 'all_nodes' instead of 'rabbit' -- we'll want
allNodesConfig to create keys for more services (e.g. mongo_node_ips)
and it's not necessary to create a separate hiera file for each.
* Rename rabbit_nodes to mongo_node_names -- we'll have more node lists,
some services will need hostnames, some services will need IPs, some
might need both, so we shouldn't have ambiguity in the hiera key
names.
Change-Id: If80f9c9b2849ae893e1ab78f1c4d246a2468665c
Giulio Fidente [Wed, 18 Mar 2015 18:59:55 +0000 (14:59 -0400)]
Set all RabbitMQ queues as mirrored when clustered
Purpose of this change is to enable on the server
side the ha-mode policy for all queues when nodes
are clustered.
Change-Id: I16e3d375aabac9dbcdc198c71069086951e40fc0
Giulio Fidente [Fri, 13 Mar 2015 11:33:21 +0000 (07:33 -0400)]
Add support for Neutron l3_ha option in puppet templates
With this change we wire the NeutronL3HA parameter to the puppet
class, where needed.
Change-Id: I37b3850f71885a93859b5e51925df379616fc6ab
Giulio Fidente [Wed, 18 Mar 2015 18:57:56 +0000 (14:57 -0400)]
Ensure all Rabbit params are propagated to interested nodes.
Change-Id: I1bb8ee15d361638d77c5df7f8c03561c34f4c88f
Jenkins [Thu, 19 Mar 2015 12:31:42 +0000 (12:31 +0000)]
Merge "controller-puppet: Honor MysqlRootPassword"
Jenkins [Thu, 19 Mar 2015 11:29:59 +0000 (11:29 +0000)]
Merge "Correct the parameter_defaults section name."
Jenkins [Thu, 19 Mar 2015 11:18:48 +0000 (11:18 +0000)]
Merge "puppet: tidy up the Nova ceilo auth configs"
Jenkins [Thu, 19 Mar 2015 11:13:10 +0000 (11:13 +0000)]
Merge "puppet: tidy up the Nova glance API server config"
Jenkins [Thu, 19 Mar 2015 11:07:35 +0000 (11:07 +0000)]
Merge "puppet: tidy up the compute nova neutron config"
Jenkins [Thu, 19 Mar 2015 11:03:38 +0000 (11:03 +0000)]
Merge "puppet: use identity_uri and auth_uri"
Jenkins [Thu, 19 Mar 2015 09:14:49 +0000 (09:14 +0000)]
Merge "Add support for Ceph as a Cinder and Nova backend"
Dan Prince [Tue, 10 Mar 2015 14:27:56 +0000 (10:27 -0400)]
puppet: use identity_uri and auth_uri
This patch updates the puppet modules to use new identity_uri
and auth_uri settings instead of the old 'auth_host' parameters
for keystone auth_token middleware. This avoids some deprecation
warnings in our puppet logs.
Change-Id: I805b28d4135b13eef7082fda78956816c985c323
Giulio Fidente [Wed, 18 Mar 2015 16:54:33 +0000 (12:54 -0400)]
Update puppet post config to enable stepped deployments
The upcoming heat hook/breakpoint features will enable stepped deployments
via setting stop points via the resource_registry.
For this to work, we need hard dependencies between each step of the
puppet deployments, because the current "soft" dependencies caused by the
name property only influences the hook script application ordering, not
the graph traversed by heat during deployment.
Since removing the name: puppet_n completely removes some useful self-
documenting context, move this to a resource naming convention, which
should also be useful for heat hooks/breakpoints, as they are expected
to support globbed specification of each step.
Related heat patch (not yet landed, but this is not dependent on it):
https://review.openstack.org/#/c/146123/
Change-Id: I05b02a46d4e80c08a308d033c33d4901c8f6c94e
Yanis Guenane [Wed, 11 Mar 2015 09:14:35 +0000 (05:14 -0400)]
Add support for Ceph as a Cinder and Nova backend
This commit aims to add support for Ceph as a cinder and a nova backend.
* Allows creation of Ceph pools from heat (Default: volumes, vms)
* Creates the proper ceph user and inject the keys
* Applies the proper configuration in cinder.conf and nova.conf
* Enable the backend out of the box
Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Change-Id: Ic17d7a665de81a8bab5e34035abe90eda4bc889f
Jenkins [Wed, 18 Mar 2015 15:50:09 +0000 (15:50 +0000)]
Merge "puppet/loadbalancer: use puppet-tripleo"
Yanis Guenane [Wed, 18 Mar 2015 14:54:45 +0000 (15:54 +0100)]
controller-puppet: Honor MysqlRootPassword
Currently the MysqlRootPassword parameter is retrieved from the
templates but not honored, preventing a user to specify it.
This commit fixes that.
Change-Id: Ib6842736a37aea3cc16f1a7c75fc877408682bf7
Jenkins [Mon, 16 Mar 2015 19:02:42 +0000 (19:02 +0000)]
Merge "Make heat auth_encryption_key random"
Emilien Macchi [Fri, 27 Feb 2015 09:20:34 +0000 (10:20 +0100)]
puppet/loadbalancer: use puppet-tripleo
The loadbalancer Puppet code moved to puppet-tripleo (lightweight)
composition layer.
This patch aims to use it and refactor the loadbalancer.pp file.
Co-Authored-By: Dan Prince <dprince@redhat.com>
Change-Id: I1765ac9b6cb01cb64d5d28dad646674ddca859e9
Steven Hardy [Fri, 20 Feb 2015 17:04:47 +0000 (12:04 -0500)]
Make heat auth_encryption_key random
Currently we have a hard-coded default for auth_encryption_key,
which isn't ideal as it's used as a salt for the DB encryption.
Instead, reference an OS::Heat::RandomString resource so we create
a random key for each deployment.
Change-Id: Ic76b89db17603c114d98d28c01f75cc287fb2e90
Dan Prince [Thu, 12 Mar 2015 21:46:46 +0000 (17:46 -0400)]
puppet: tidy up the Nova ceilo auth configs
Updates the puppet configuration for the Ceilometer auth agent
so that we do the join conversions in the Heat templates and
use only hiera for configuration of the ::ceilometer::agent::auth
class.
Change-Id: I932afafe21b2485a0581ac3910ac9d46161eee0d
Dan Prince [Thu, 12 Mar 2015 21:42:31 +0000 (17:42 -0400)]
puppet: tidy up the Nova glance API server config
Updates the puppet configuration for the Nova glance configs
so that we do the join conversions in the Heat templates and
use only hiera for configuration of the ::nova class.
Change-Id: Id12fb05470470558f1dccd45150bfce00a554466
Dan Prince [Thu, 12 Mar 2015 21:29:07 +0000 (17:29 -0400)]
puppet: tidy up the compute nova neutron config
Updates the puppet configuration for the Nova neutron configs
so that we do the join conversions in the Heat templates and
use only hiera for configuration of the ::nova::network::neutron
class. This updates the compute configuration to match what
we now do on the controller as well.
Change-Id: I2b352551777f64e0ceb119f48cc3b3ab1779f4d5
Yanis Guenane [Mon, 9 Mar 2015 11:17:31 +0000 (12:17 +0100)]
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
Jenkins [Thu, 12 Mar 2015 10:28:26 +0000 (10:28 +0000)]
Merge "Puppet: Configure neutron_api_class on controller"
Jiri Stransky [Wed, 11 Mar 2015 17:44:28 +0000 (18:44 +0100)]
Puppet: Configure neutron_api_class on controller
We're already configuring Neutron in Overcloud, but the controller
is still configured to use the default Nova neutron_api_class for
default configuration for networking, which means it used Nova Network
and not Neutron. This causes some of the Nova API is_neutron
checks to behave incorrectly.
This patch updates the controller to use nova::network::neutron (like
we already do on the overcloud_compute.pp role). As part of the change
several of the compute specific hiera settings for the
nova::network::neutron class have been moved to common.yaml.
Change-Id: Id2d5a5a0aa1ca087de714880ef1ea98484b06849
Jenkins [Wed, 11 Mar 2015 19:07:18 +0000 (19:07 +0000)]
Merge "puppet: add ordering for Neutron agents"
Emilien Macchi [Tue, 10 Mar 2015 23:01:11 +0000 (19:01 -0400)]
puppet: add ordering for Neutron agents
Before starting the Neutron agents, we need to make sure neutron-server
is running so we don't have a race when starting the services.
This patch adds some orchestration to do it.
Change-Id: I24db069d6af1fadd302b0924f769db3f58f65685
Yanis Guenane [Mon, 9 Mar 2015 16:16:12 +0000 (17:16 +0100)]
Include cinder::glance into the ctrl manifest
Include ::cinder::glance into the controller manifest to have proper
(upstream) default value for cinder's glance related parameters.
Change-Id: I9ac83b9e997d3c2502b08b642d4e41dba36ddf67
Emilien Macchi [Fri, 6 Mar 2015 20:10:47 +0000 (15:10 -0500)]
Puppet: define swift_store_auth_address in hiera
This patch updates the glance::backend::swift implementation to
use only hiera variables instead of a mix of hiera, and inline
class variables.
Nothing was functionally wrong with the previous approach but now
that we can compose more freely using the SoftwareDeployment defining
all the variables in Hiera makes sense and is cleaner.
Change-Id: I6d319841488d2ed94e088a5ac21e41dcd964ed1a
Co-Authored-By: Dan Prince <dprince@redhat.com>
Dan Prince [Sat, 7 Mar 2015 03:09:05 +0000 (22:09 -0500)]
puppet: set heat-user using class parameter
The puppet-heat module just added a new class
parameter to help manage instance_user today in
I44fef59d3ed1f7851d8504855a7ae0d5460fdc84. This
actually broke us because we were setting it manually
via heat_config (puppet doesn't allow two settings).
Change-Id: Ib25e8de8ca3849701d506a5d0c956a6f3317ac8a
Closes-bug: #
1429328
Dan Prince [Wed, 4 Mar 2015 17:12:04 +0000 (12:12 -0500)]
Correct the parameter_defaults section name.
Also, we can actually uncomment this now that heatclient 0.3
has been released.
Change-Id: I0b4ce13f1426c364ea7921596022e5165e025fdb
Emilien Macchi [Sun, 1 Feb 2015 23:52:18 +0000 (18:52 -0500)]
Puppet: First support Ceph
This is a first implementation of Ceph support in TripleO with Puppet:
* Install ceph-mon on controller node
* Install ceph-osd on cephstorage node
Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Change-Id: I48488cbe950047fae5e746e458106d6edb9a6183
Jenkins [Tue, 24 Feb 2015 21:17:36 +0000 (21:17 +0000)]
Merge "Add allNodesConfig to Swift storage nodes"
Jenkins [Tue, 24 Feb 2015 21:17:30 +0000 (21:17 +0000)]
Merge "BlockStore: Exec puppet after all configuration"