105 Commits

Author SHA1 Message Date
Dan Bode
993ed67fd2 Remove inheritance
Part of a code wide refactor to remove unnessary
inheritance.
2012-04-22 12:12:53 -07:00
Dan Bode
047cb81ff3 Remove ppa rspec code
This commit removes the ppa specs since the classes
containing the ppas have been removed.
2012-04-22 12:12:07 -07:00
Dan Bode
24a01d1bea Implement proxy pipline into fragments
The swift pipeline is commonly used to plug
capabilities in.

This pipeline should be implemented in a way that
is easier to extend as people desire additional
pipelines.

This commit implements classes that can be used
to configure the following pipelines:
  - proxy::cache
  - proxy::healthcheck
  - proxy::keystone
  - proxy::swauth

It also reimplements swift::proxy to utilize those
pipelines for configuration.
2012-04-22 12:11:27 -07:00
Dan Bode
84d59985fc Remove ppa config
This commit removes the config for setting up
the custom ppas. The ppas referenced here have
been deprecated.
2012-04-21 12:55:51 -07:00
Dan Bode
59afc07d3b Refactor of swift server configs
This commit performs a refactor of the
swift::storage::config to use fragments.

Updates server templates
  - makes workers,user, and mount_checks configurable
  - adds a default for concurrency
  - makes the pipeline configurable
  - remove vm_test_mode flag

Updates swift::storage::server to use fragments for
the config file.

This has been refactored to allow the end user a
greater level of flexibility over how they can
configure custom plugins for swift.

Also adds additional class params: pipeline,
mount_check, user, workers, concurrency.

Update the unit tests for swift::storage:server
2012-04-21 12:54:17 -07:00
Dan Bode
aaf2784c73 Merge pull request #17 from bodepd/dev
Ensure swift hash is rebuilt for every puppet run
2012-04-13 13:41:59 -07:00
Dan Bode
c9389516ba Ensure swift hash is rebuilt for every puppet run
Previously, the swift caches were being built on the class
instances themselves.

This could result in stale values when puppet runs multiple times
using the same process (like in the case of puppet agent)

This commit uses prefetch to ensure that the retrieved swift ring
values are updated per puppet run.
2012-04-13 13:41:12 -07:00
Dan Bode
cf78b8343e Merge pull request #16 from fcharlier/swift_on_debian
Some modifications to install swift correctly on Debian
2012-04-11 20:05:54 -07:00
Dan Bode
5798be1f04 Merge pull request #15 from bodepd/dev
Replace ppa code
2012-04-10 21:36:02 -07:00
Dan Bode
1841187164 Replace ppa code
Use ppas from keystone
2012-04-10 21:35:15 -07:00
Dan Bode
0a5a91bb68 Merge pull request #14 from bodepd/dev
update ubuntu packages
2012-04-08 21:57:52 -07:00
Dan Bode
f802df8e5a Fix dep issue in swift
The service should definitely not start before
its related package is installed.

And now it doesn't!
2012-04-06 10:55:07 -07:00
Dan Bode
0cbd959761 Upsate trunk for use Ubuntu latest packages 2012-04-06 10:19:29 -07:00
Dan Bode
01b9c7cbd1 Add unit tests for xfs 2012-04-06 10:18:14 -07:00
Dan Bode
c07615d557 Remove patched upstart scripts
I was using older versions of the Ubuntu packages
that shipped with broken upstart scripts.

I am removing these patches now that I am using packages
that work.

Also updates the spec tests to account for the changes.
2012-04-06 09:42:48 -07:00
François Charlier
2474649cb8 Enforce some dependencies
Things were not executed in the right order with the examples/all.pp
2012-03-29 19:48:44 +02:00
François Charlier
dba28ed0a6 Enable other providers than upstart 2012-03-29 19:48:44 +02:00
François Charlier
abc89b899a change port 6010 to 6040 due to a conflict in vagrant 2012-03-29 19:41:18 +02:00
Dan Bode
12275e41ab Add swift trunk ppa
So that I can start testing trunk
2012-03-22 23:06:22 -07:00
Dan Bode
ff6ec8b8dc Merge pull request #13 from bodepd/e1f44ff26f6b6bd00f7b33e65c2e5cc0fbbba0d0
Swift refactor for fedora support
2012-03-22 22:47:36 -07:00
Dan Bode
35bc1051a6 Merge pull request #12 from bodepd/master
glance iteration
2012-03-21 23:19:31 -07:00
Dan Bode
e1f44ff26f Merge pull request #1 from derekhiggins/dev
taking service provider from params file
2012-03-21 15:12:51 -07:00
Derek Higgins
5377fbc2f2 Get service_provider from params file 2012-03-21 15:58:15 +00:00
Dan Bode
cd33a745c5 Add fedora support
This commit adds support for fedora.

It introduces a params namespace class
to hold data differences between ubuntu and fedora.

It also moves the xfs packages into their own class (swift::xfs)
2012-03-20 12:55:34 -07:00
Dan Bode
94fb333ab9 Move generic::upstart to its own file
I am not so sure that having multiple resource
types in the same file is supported as of 2.7.11

I am refactoring this code so that the upstart define
resides in its own file according to our standards.
2012-03-17 01:42:15 -07:00
Dan Bode
a11c1af726 Update memcache bind address to localhost
So that it can be accessed by the swift proxy
from this address.

Previously, it was binding to eth0 and swift proxy
was trying to access it via localhost.
2012-03-14 11:43:44 -07:00
Dan
cf34ab0522 Add ring syncing to the multi node example
This commit adds an example of how to sync rings between
nodes.

The ringbuilder role exports resources representing the ring
databases that need to be synced.

The storage node can then just collect these resources
2012-03-14 05:47:55 +00:00
Dan
6fed9719ed Add code for ring syncing
This commit adds puppet code to handle syncing of the ring
databases.

The class swift::ringserver is used to set up an rsync server
that serve out the ring databases.

The define swift::ringsync is used to rsync these ring databases
to the other hosts.
2012-03-14 05:45:17 +00:00
Dan
f93ba72fbb Munge weights to be in the format %.2f
The swift ring db converts integers into floats with 2 decimal
points percisions. This was causing the ring resources to constantly
resync.

This commit munges weight in the type to the proper format.
2012-03-14 05:41:41 +00:00
Dan Bode
d7698139fe Update spec tests
Add libdistcodename to all apt repo spec tests so
that they will work with the latest version of apt.
2012-03-13 16:42:57 -07:00
Dan Bode
f07363b6af Update spec tests
This commit updates the spec tests so that they should work.

- the ssh module that they depend on had introduced a dependency on
  the operatingsystem fact
- tests had not been updated to reflect using xinetd and not the service
to run the rsync daemon
- update travis-ci to include the xinetd module
2012-03-13 16:30:19 -07:00
Dan Bode
cb233bd6a1 Remove rsync service mentions
Since rsync is now managed by xinetd, it is
necessary to remove the references to the rsync
service.

This was previously causing catalog compilation failures.

Also updates travisci and the unit tests
2012-03-13 16:06:51 -07:00
Dan Bode
6f9e108695 Use xinetd for rsync
Previously, using the rsync sevices on Ubuntu
did not actually work.

After reading the init script, I decided that it
is annoyingly different from Redhat's implementation
so I have chosen to use xinetd to make the module more
consistent between the distros.
2012-03-13 14:49:28 -07:00
Dan Bode
41ab9b3cf5 Merge pull request #11 from bodepd/master
Make upstart patches Ubuntu only
2012-03-13 13:56:16 -07:00
Dan Bode
66b7235856 Only fix upstart scripts on Ubuntu.
ensure that the upstart patches are only
managed on Ubuntu instances.
2012-03-13 12:14:33 -07:00
Dan Bode
75d1aa8ca0 Merge pull request #10 from bodepd/master
fix errors
2012-03-13 09:42:17 -07:00
Dan Bode
b05fe0bb0b update ip address to use eth0
This commit updates the ip address from eth1 to
eth0.

This is done for testing in ec2 where there is no
defined eth1.
2012-03-12 21:15:33 -07:00
Dan Bode
c416f20986 update mispellings of local_net_ip 2012-03-12 21:14:01 -07:00
Dan Bode
1d4c460a6f Merge pull request #9 from bodepd/multi_local_net_swift_proxy
Add local net ip to swift proxy for multi
2012-03-12 20:10:13 -07:00
Dan Bode
6a8318535a Add local net ip to swift proxy for multi
This commit adds the now required parameter local_net_ip
to the declarations of swift proxy.
2012-03-12 20:07:25 -07:00
Dan Bode
b8b09be2d5 Merge pull request #8 from bodepd/add_saio_local_net_to_proxy_class
Supply missing required param to all in one example
2012-03-11 23:30:59 -07:00
Dan Bode
a9cafd8dcd Supply missing required param to all in one example
This commit adds the parameter proxy_local_net_ip to
the swift::proxy class for the all in one example.

This parameter had been changed to be required in a previous commit,
but the example had not been updated.
2012-03-11 23:29:43 -07:00
Dan Bode
7f55060309 Merge pull request #6 from bodepd/master
Refactor
2012-03-05 22:06:40 -08:00
Dan Bode
2eea26431a Remove proxy files used for testing
I changed the tests so that they check individual
lines of the resulting swift proxy file as opposed to
the entire file contents.

This was done so that tests can be associated with
only the parts of the resulting file they are related
to.
2012-03-05 21:57:10 -08:00
Dan Bode
794fc909d1 Add unit tests fr swift::storage::server 2012-03-05 21:57:10 -08:00
Dan Bode
900e061a11 Add inline commments
Cleans up old inline comments and adds new comments.
2012-03-05 21:57:10 -08:00
Dan Bode
4752a3d85f Decouple memcached configuration from proxy
It is possible that the memcache server(s) may
reside on different machines than the swift
proxy.

This commit decouples the configurations of the
two services.
2012-03-05 21:57:10 -08:00
Dan Bode
c7caf05c36 Make all local net ips required
Previously, the binding address for all services
was set to localhost.

This is not going to be a commonly used value
for production deployments.

The defaults for address have been removes b/c
there isn't really a sensible default. This is
something that the users should have to set.
2012-03-05 21:56:37 -08:00
Dan Bode
0e7cb86dcd Update ring creation defaults
Updates the defaults to ring creation to use
replica of 3 and min part hours of 24.

These are the defaults recommended by the swift
documentation.
2012-03-02 20:03:53 -08:00
Dan Bode
5083e19bc4 Decouple storage server types from each other
Previously, all of the storage server types
(account, container, proxy) were always
configured to be installed on the same node.

It often makes sense to only have the account and
container together, and to put the object server on
a different node. (or its possible that other
configurations make sense)

This commit refactors the swift module so that
each of the types of nodes can be built
independently of each other.
2012-03-02 20:01:49 -08:00