Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync cluster bootstrap using etcd #28

Merged
merged 2 commits into from
Mar 2, 2015
Merged

Conversation

BugRoger
Copy link
Contributor

@BugRoger BugRoger commented Mar 1, 2015

This container allows to automatically bootstrap a cluster or distribute existing ceph config to new hosts. It makes use of etcd to store the inital configuration. It is especially cool when run on CoreOS and bootstrapping a cluster from nothing without manual intervention. It is compatible to the existing configuration mechanisms in the ceph-mon containers.

If this fits in the vision of ceph-docker I would be happy to keep on helping to maintain this config mechanism.

I'm using this on my own ceph cluster as can be seen here: https://github.com/BugRoger/d26a/tree/master/units/ceph

@Ulexus
Copy link
Contributor

Ulexus commented Mar 1, 2015

@BugRoger I quite like this idea, and it is looks very good to me. My only concern (and this as a CoreOS user, myself) is its dependency on etcd. For my part, I'd just add a note to the README indicating this dependency, but we should probably get @leseb 's opinion, on the matter.

@leseb
Copy link
Member

leseb commented Mar 2, 2015

@BugRoger Thanks a lot for pushing this. Actually that's part of the vision I have for ceph-docker.
I believe this is the big missing things in this repo, having an distributed entity to store config and keys is nice to have.
This was on my todo list :). Glad to see that this is here.

@Ulexus I understand your concern about the usage of etcd and it's fair. However I believe it has a sort of consensus now. Many big projects like Kubernetes are using it (Red Hat Atomic too).
So yes, somehow this is tied to CoreOS but nothing prevents you to use it.

I'd be really happy to see this in ceph-docker. I'll review that patch soon.

exit 0
fi

# Aquire lock to not run into race conditions with parallel bootstraps
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Aquire/Acquire/

@leseb
Copy link
Member

leseb commented Mar 2, 2015

@BugRoger Just reviewed that, the overall looks really good, I just left a couple of questions.

MAINTAINER Sébastien Han "seb@redhat.com"

RUN wget https://github.com/coreos/etcd/releases/download/v0.4.6/etcd-v0.4.6-linux-amd64.tar.gz
RUN tar xzvf etcd-v0.4.6-linux-amd64.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ulexus what do you think of adding etcdctl to ceph/base?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely

@Ulexus
Copy link
Contributor

Ulexus commented Mar 2, 2015

I'm pretty sure etcdctl 2 is compatible with etcd 0.4, so we should probably use it instead. CoreOS is still shipping with 0.4.7, though, so we should probably verify that (I'll do so when I get in to the office in a couple hours)

@leseb I think including etcdctl in base is a great idea. That would allow me to rewrite osd, Mon, etc, to (optionally) use etcd, as well. This feature was requested on my old repo, anyway.

@Ulexus
Copy link
Contributor

Ulexus commented Mar 2, 2015

Verified that etcdctl v2.0.4 works just fine with etcd v0.4.6 (current CoreOS beta, 584, and stable, 557.2). I don't have an alpha box running v0.4.7, but I can't imagine it not working with v0.4.7 if it works with v0.4.6. v0.4.7 is just a staging update for migration to 2.x.

@leseb
Copy link
Member

leseb commented Mar 2, 2015

@Ulexus Thanks for the quick tests :)

@Ulexus
Copy link
Contributor

Ulexus commented Mar 2, 2015

I don't see a reason not to commit this PR then update base with etcdctl v2.0.4, then update this component. Objections?

@Ulexus
Copy link
Contributor

Ulexus commented Mar 2, 2015

Well, except for the misspelling you found, anyway. :)

@leseb
Copy link
Member

leseb commented Mar 2, 2015

No objections unless @BugRoger wants to take care of that.
Since he didn't response to our comments, I believe we should merge this and rework what needs to be reworked :).

leseb pushed a commit that referenced this pull request Mar 2, 2015
Sync cluster bootstrap using etcd
@leseb leseb merged commit 7963671 into ceph:master Mar 2, 2015
@Ulexus
Copy link
Contributor

Ulexus commented Mar 2, 2015

PR #29 updated etcdctl and moves it to ceph/base

@hunter
Copy link
Contributor

hunter commented Mar 3, 2015

A little late to the discussion. We'd started work on something similar using Consul for the KV. Any sense in using confd to make things a little more universal?

@leseb
Copy link
Member

leseb commented Mar 3, 2015

@hunter indeed confd will probably make the repo more universal.
If you have something really with confd I'd be happy to have a look at it.
Just created #34 so we can continue the discussion.

@BugRoger
Copy link
Contributor Author

BugRoger commented Mar 3, 2015

Thanks for considering this. And as I see you already fixed the initial comments. You folks are quick. 😄

@Ulexus
Copy link
Contributor

Ulexus commented Mar 9, 2015

@BugRoger Thanks for this; I just used it to rebuild my broken cluster. We should definitely integrate the other components to use it effectively.

mkkie pushed a commit to mkkie/ceph-container that referenced this pull request Dec 13, 2016
Change kubernetes labels & osd journal size to 2GB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants