The spec tests now expect the modulepath
spec/fixtures/modules to contain links to all
of the modules that are required to run the
unit tests.
In order to run the tests, I need to create links
for these modules, but if I check in those links, it
will mess up the tests when they run in travis-ci.
Previously, swift::storage::xfs was not passing
the correct variable for mnt_base_dir to
swift::storage::mount. $mount_base_dir was incorrectly
specified.
This commit resolves this mistake and ensures that the correct
variable is passed.
Previously, the package for swauth of the swift
proxy was being added based on a variable that
was never set.
This commit updates that conditional to use the
correct variable.
Previously, a copy and paste error had resulted
in 3 definitions of the trunk ppa class.
Two of those were intended to be swift::repo::trunk
and swift::repo::release.
This commit corrects this error.
The default devices path for the storage class
was incorrectly set to /srv/nodes.
This commits updates it to /srv/node so that it is
consistent with the rest of manifests in this module.
Previously, all of the ports used by the storage
class were hardcoded.
This commits adds the following class parameters to
the swift::storage class to allow for configuration
of the ports used by a storage server:
- object_port
- container_port
- account_port
Removes the puppetmaster node declaration so that
this manifest can be imported from the openstack's
manifests/site.pp (so that the openstack project
and the swift project can use the same node
declarations when swift is added as a submodule to
the openstack project)
Updates the code to use node declarations instead
of a case statement. This is done to conform to
the rest of the openstack manifest and may be
reverted at a later date.
Changed the name of the defined resource type:
swift::storage::device to be swift::storage::server.
This change was made in order to better align with
the swift terminology since this define was
configuring a swift component server which has no
direct association with a device.
This commit also makes the swift::storage::server
the only place where the swift server template is
used. This allowed me to assume that the variables
device and bind_port will always be available.
Also updates declarations of the renamed type to
use the correct type name.
Removes the direct server file config from
swift::storage, replacing it instead with
declarations of swift::storage::server.
In the current trunk PPA for oneiric (which is what
I am using for testing), the upstart files seem
to have a problem where they only will start the
swift servers if the file:
/etc/swift/<server_name>-server
exists. Raised as issue: 931893
in Launchpad.
This commit adds puppet code to deploy custom
upstart scripts that have fixed this issue.
This commit cleans up the multi-node example code
for the ringbuilder role.
- adds resource collection code to collect exported
ring balancing resources.
- fixes a typo in the name.
For now, I am assuing that the swift proxy role
also includes the ring building role.
This commit adds a declaration of the
swift::ringbuilder class to the swift_proxy_role
class.
This commit adds a proxy to the apt class in the
pre config manifest.
This is because I am using a squid proxy to speed
up testing in my environment.
I need to expose this as a config option so that
the hardcoded address of my app proxy is not
required for anyone to use this.
Previously, I had created a define intended to
wrap the creation of the storage device endpoints
with their associated ring configs.
I wound up decided against this for two reasons:
- Abtstracting storage endpoints together with
the ring configurations can be confusing b/c it
conflates actions associated with the storage role
with actions associated with the ringbuilding role.
- Abstracting the ring building hides side effects
of this manifest from the user (that it will effect
the ringbuilder role)
This pull request does the following:
- removes the swift::storage::device::* defines
- update the following code to use
swift::storage::device in combination with
ring_*_device
-- examples/multi
-- swift::storage::node
Previously there was not code for role assigment
of a node called swift_storage_3.
This commit updates a conditional statement to
assign a role based on this certname.
This commit updates the node class from using
Swift::Storage::Device to the individual defines.
This change was made b/c we could not dyncamically
set the names of the native types.
This commit removes The swift::storage::node
declaration from the swift::storage::loopback
definition.
This is done to decouple the code that creates
and mounts partitions from the code that creates
swift devices.
Implements three defines that can be used to manage
the three kinds of swift devices:
- objects
- accounts
- containers
These defines wrap swift::storage::device (which
manages rsync modules and swift device configuration)
and add additional resources for managing the
ring device entries.
The defines accept a parameter called manage_ring
which can be used to specify rather the ringbuilding
resources should be declared or exported.
the defined resource types ringbuilder::create
and ringbuilder::rebalance were incorrectly
named.
This commit updates them to the correct names:
- swift::ringbuilder::create
- swift::ringbuilder::rebalance
The code was not robust when no
rows were returned from
swift_ringbuilder(builder_file_path).
The calls to retrieve an array range from the
array of this commands output was returning nil
which caused the failure: undef method each on nil
This change explicitly checks for the case where
there are no rows returned by swift-ring-builder.
This commit refactors the previous site.pp example.
Adds ring building types and removes the ringbuilding
file.
Remove unnessary comments.
Adds requirement that swift proxy is only configured
after the ring is built.