This module adds no value over vendor's higher-level deployment
abstractions anymore, so just retire it.
Bump version number to 0.2.9, indicating the "last" version.
Change-Id: If271953feb474d76b1a6ff027cf073203ed5a1f4
This commit adds support for the OpenStack Icehouse release.
Add the auth_encryption_key parameter to the heat::engine call
More recent versions of the puppet-heat module, starting in Dec '13,
require a auth_encryption_key parameter to be passed to the engine
class. Kickstack didn't pass on the parameter, which caused the
installation of Heat to fail. This commit adds the parameter, sets
it automatically and exports it as fact.
Applying this fix makes deploying Heat via Kickstack possible again.
Add database configuration to neutron.conf
Previous versions of Kickstack would have the database configuration in
the plugin. By now, apparently, the recommended mechanism is to have the
DB configuration happen in neutron.conf -- at least the ML2 class of the
Neutron module doesn't even implement database parameters anymore. Thus,
we need the database configuration in neutron.conf. This commit adds the
required parameters to the neutron class.
Bump dependency on puppetlabs-openstack to 4.0.0
Add three new template files required for Icehouse
Icehouse doesn't ship the L2 OVS agent configuration file by default
anymore, so we need to supply it. Also, the Upstart jobs for Neutron
on Ubuntu 12.04 are broken for setups using OVS instead ov ML2. Fix
them by supplying appropriate replacements.
Ensure the L2 configuration file and Upstart job works properly
The Icehouse packages for Ubuntu assume that Neutron is using the ML2
plugin by default; older setups using OVS continue to be supported for
this release though. However, when installing the L2 agent package for
OVS, the Upstart file is broken for OVS (i.e. non-ml2) usage and the
OVS configuration file is missing altogether. These commits add back
a proper OVS configuration file and ensure that on Ubuntu systems, the
Upstart job makes the agent watch out for the correct configuration
file (the OVS one instead of the ML2 one).
Ensure Neutron is properly configured for Nova notifications
Starting with the Icehouse release, Neutron can talk to Nova directly
using so-called notifications. For this to work, Neutron needs to
know how to talk to Nova. This commit enables the required portion
of functionality by calling neutron::server:notifications in the
Neutron puppet module. Also, the Nova API address is exported as a
separate fact in the Nova module. Also, the Nova API IP is exported
as a separate fact.
Also, this ensures that on Debian and Ubuntu systems, the default file
for the Neutron server points to the appropriate OVS configuration if
OVS is used as a driver instead of ML2.
Change call of the repo function to match new name
puppet-openstack 4.0.0 and newer use openstack::resources::repo to add
the OpenStack software repositories locally; this commit makes Kickstack
use the new name.
Move the neutron nova notification stuff into a separate class
Properly define auth URI for Cinder
Newer versions of the puppet-cinder module automatically guess what the
Auth URI is if it's not set separately; by setting it explicitly, we
make sure it has the right value all the time.
Ensure directories are there before installing files
The current OVS agent packages don't even ship the directory required
for the OVS agent configuration file anymore; create it before putting
the file in place.
Don't explicitly enable Securitygroups anymore
Previous versions of kickstack had to enable Securitygroups because the
Neutron module was broken; the module was fixed now, so this is just not
necessary anymore.
This deletes the neutron nova notifications call from server.pp
Not required here anymore as this has moved into a separate class.
Include the nova notifications class in api role
Change-Id: Ifc10b7b981153e0261da76cd290bce7337c1e6be
All of Kickstack's dependent modules are available on the Puppet
Forge, as of release 0.2.0. Remove references to dependent modules
previously available only through GitHub, and replace them with a
simple "puppet module install" command.
Change-Id: I103e34620b18694ef81929a030348e1588ec85cd
Now that the repo has been set up on StackForge, add a .gitreview
file to facilitate the standard Gerrit Workflow.
Change-Id: I39b2d86eacdba390efdfa822a9ee052217dc1097
Post-Havana, tunnel_network_type is deprecated in favor of
tunnel_types, and the puppetlabs-neutron module recently reflected this.
Update to be in line with current versions of that module.
The nova module has added a "utilities" class, which installs
libguestfs-tools. Since this installs a slew of dependencies that
only make sense to install on a compute node, the install_utilities
parameter was subsequently added in Git, but has not yet been released
to the Puppet Forge. So as to not make people depend on a version of
puppetlabs-nova that isn't yet on the Puppet Forge, accept the silly
package installation for now, but add the parameter, to be uncommented
when the fix makes it into a module release.
With puppetlabs-openstack now having sane dependencies on
puppetlabs-{neutron,heat,ceilometer}, the Modulefile can
be greatly simplified. In addition, there are now much cleaner
versions of inifile and vswitch, so we can simply use those.
Explicitly create the external bridge (br-ex) on the node running
the L3 agent.
The neutron module creates bridge_uplinks only when bridge_mappings is
non-empty. That's bogus for GRE configurations, so create the "bridge
uplink" manually.
If Cinder binds its iSCSI portal to the 0.0.0.0 address, then Nova
will attempt to connect (with iscsiadm) to a portal at 0.0.0.0, which
is obviously bogus.
Instead, bind to the IP of the management interface, so iscsiadm can
properly access the portal.
By default (unless running in debug mode), Django will only allow
access to Horizon through the Horizon host's FQDN. Add
kickstack_horizon_allow_any_hostname, which when set to true will
override by allowing access through any hostname, or the host's IP
address.
Strangely, the L2 agent relies on the availability of
bridge_uplinks. The corresponding bridges are only created by the L3
agent. Hence, on the network node only, make sure we have L3 set up
before we tackle L2.
We want to be able to force a package version across all OpenStack
server services, and facilitate updates/upgrades. Hence, add
package_ensure to all services, and populate it with a global
Kickstack variable.
puppet-heat has two classes that add endpoints, one named
heat::keystone::auth (as usual) and one named
heat::keystone::auth_cfn. So as to be able to create endpoints with
classes named other than "auth", add a second parameter to
kickstack::endpoint to support that.