81 Commits

Author SHA1 Message Date
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
Dan Bode
530ed65ea9 Add modue synlinks to gitignore
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.
2012-03-02 19:56:33 -08:00
Dan Bode
954e6c0357 Remove reference to ssh keys
Swift does not need to have keys. This commit
removes the ssh keys.
2012-03-02 10:35:02 -08:00
Dan Bode
2dbcf740df Add everything needed by travis-ci
This commit adds all of the config files
needed for travisci
2012-02-27 16:52:49 -08:00
Dan Bode
8d4d5ea6b8 Merge pull request #5 from bodepd/fix_test
Fix test
2012-02-26 21:21:53 -08:00
Dan Bode
4acfaeaa9d Update stoage::xfs tests
This file was accidentally checked in before
the tests works.

This commit fixes the spec tests.
2012-02-26 21:19:13 -08:00
Dan Bode
272937ed9c Pass correct mount dir to swift::storage::mount
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.
2012-02-26 21:14:12 -08:00
Dan Bode
97d6e20b88 Merge pull request #4 from bodepd/add_spec_tests
Add spec tests
2012-02-26 20:58:52 -08:00
Dan Bode
6705d556cf Fix swauth proxy config
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.
2012-02-26 20:57:51 -08:00
Dan Bode
65b6f0a695 Fix milestone and release ppa config
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.
2012-02-26 20:54:57 -08:00
Dan Bode
b569cf6f0f Remove extra newlines from swift proxy erb 2012-02-26 20:53:10 -08:00
Dan Bode
4775be3a5f Add rspec-puppet test coverage
This commit adds test coverage for almost all
swift classes and defines.

It does not quite add 100% coverage (probably
more like 85%)
2012-02-26 20:52:27 -08:00
Dan Bode
3f35820347 Merge pull request #3 from bodepd/add_integration_test
Add swift test script
2012-02-14 19:24:59 -08:00
Dan Bode
405069829e Add swift test script
Adds basic test script that I have been using to
test the swift module.
2012-02-14 19:24:20 -08:00
Dan Bode
3cef45b2cc Merge pull request #2 from bodepd/swift_update
Swift update
2012-02-14 15:16:44 -08:00
Dan Bode
547a96930e Add repo class for milestone and release
Add classes that can be used to setup the ppas
for installing swift from millestone and release.
2012-02-14 15:06:07 -08:00
Dan Bode
e9dfe0f8e5 Improve documentation
Improves README and inline docs, comments
2012-02-14 15:05:35 -08:00
Dan Bode
e5a31452b0 Fix swift::storage device path default
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.
2012-02-14 15:04:45 -08:00
Dan Bode
0955f3cd1c Add explicit class params for setting storeage ports
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
2012-02-14 15:03:49 -08:00
Dan Bode
b7713e5a51 Merge pull request #1 from bodepd/multi_node_support
Multi node support
2012-02-14 14:22:34 -08:00
Dan Bode
b7a8f0cdee Improve inline comments
Improve inline comments so that the example
manifests can serve as a documented example.
2012-02-14 14:19:52 -08:00
Dan Bode
380ab56cc0 Add ringbuilder role class to proxy role
Cleaned up code so that ringbuilder is a role.

Add this role to the proxy node declaration.
2012-02-14 14:19:16 -08:00
Dan Bode
6f5cf724e8 Update ring exported resources
update the ports to be 6000-6002 and ensure that
the zone parameter is set from $swift_zone.
2012-02-14 14:17:43 -08:00
Dan Bode
eded81575c Remove swift::storage::device declaration
This commit removes the declaration of
swift::storage::device since the servers are now
built from the swift::storage class declaration.
2012-02-14 14:16:37 -08:00
Dan Bode
31dc69b985 remove puppetmaster node declaration
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)
2012-02-14 14:14:23 -08:00