Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Etcd-Based Discovery Provider

Revision as of 18:15, 11 September 2014 by Slewis.composent.com (Talk | contribs)

As per enhancement request 440824, recently a new ECF discovery provider has been created, based upon the etcd server/service. See the etcd github project here for specifics about the etcd project.

Getting and Building the ECF Etcd Discovery Provider

The ECF Etcd Discovery Provider is currently available as one of ECF's github repositories. The etcd provider repository is here.

ECF does not currently build this provider, but this is something that could be done in the near future (fall 2014) if there is sufficient interest and some support for the necessary build and test configuration on ECF's build server. If you are able/willing to contribute to make this happen, please communicate with the project team by joining and posting to the ecf-def mailing list.

The ECF Etcd Discovery Provider is the project org.eclipse.ecf.provider.etcd in the bundles subdirectory. This is an Eclipse project and may be built via Eclipse Kepler or newer. Note that there is also a PDE feature project available in features/org.eclipse.ecf.provider.etcd.feature.

Etcd Discovery Provider Configuration Properties

As with other discovery providers, the ECF Etcd Discovery Provider is configured properties. Here is a table of the Etcd Discovery Provider configuration properties and their default values:

Property Name Description Type Default value
ecf.discovery.etcd.protocol Etcd Server URL protocol. Example: 'http' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' String http
ecf.discovery.etcd.hostname Etcd Server URL hostname. Example: '127.0.0.1' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' String 127.0.0.1
ecf.discovery.etcd.port Etcd Server URL port. Example: '4001' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' String 4001
ecf.discovery.etcd.path Etcd Server URL initial path. Example: '/v2/keys' in constructed Etcd Server URL 'http://127.0.0.1:4001/v2/keys' String /v2/keys
ecf.discovery.etcd.targetid Etcd Server target. Example: 'http://foo.bar:4002/v2/keys' in 'http://foo.bar:4002/v2/keys'. Note that

if set, the value provided by this property will override the protocol, hostname, port, and path specified by the properties defined above.

String null/no value resulting in the protocol, hostname, port, and path properties used to construct the etcd service URL
ecf.discovery.etcd.sessionid Etcd Client Container SessionId. This is typically an automatically-generiated UUID String value...e.g.: de1326d9-1ac6-431f-8ae1-9c0e31294047. If this property is set String null/no value resulting in a new UUID being created and assigned as the Etcd Client Container SessionId.
ecf.discovery.etcd.closettl Etcd Client Container Close Time To Live (TTL). In seconds. This is the default time in seconds that the ECF Etcd Client 'close' message has on the etcd server as a time to live. Integer 10 seconds

Note that these values and defaults are also defined in the source code in the org.eclipse.ecf.provider.etcd.EtcdDiscoveryContainerConfig class available at githhub here.

Back to the top