Commit Graph

9 Commits

Author SHA1 Message Date
Martin Jansa
f55fecc25b etcd: don't hardcode /usr/lib in do_install
* I don't know anything about etcd including why we need these binaries duplicated
  in libdir and bindir, but use ${libdir} instead of hardcoded /usr/lib to fix
  do_install with multilib enabled when libdir is /usr/lib64 and it was failing
  with:
  DEBUG: Executing shell function do_install
  ls: cannot access 'etcd/3.5.7-r0/build/bin/linux_arm64/': No such file or directory
  install: cannot stat 'etcd/3.5.7-r0/image/usr/lib/go/src/go.etcd.io/etcd/v3/bin/etcd': No such file or directory
  WARNING: exit code 1 from a shell command.

* the error from ls is unrelated, fixed in:
  https://lists.openembedded.org/g/openembedded-core/message/181269

* also reported on github:
  https://github.com/openembedded/meta-openembedded/pull/616

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-15 16:32:23 -07:00
Khem Raj
3798534696 etcd: Inherit missing features_check
Its needed for ensuring the systemd distro feature

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-12 22:44:28 -07:00
ojayanth
a179653ce2 etcd: add systemd unit support for clustering
Refer https://etcd.io/docs/v3.5/op-guide/clustering/
for etcd clustering design background details.

etcd-new.service triggers only, when the config file available
in the specified path. This generic serive helps to start etcd
cluster based on the project specific use cases and config
files.

etcd-new.service only required to run on initial setup or new node
add into the existing cluster. All other use cases use regular
etcd.service to start etcd with existing cluster configuration.

Signed-off-by: ojayanth <ojayanth@in.ibm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-12 10:27:35 -07:00
ojayanth
9400a94fc1 etcd: systemd unit support to start existing etcd node
Added etcd service and configuration file support to start etcd service
with existing cluster configuration.

Change-Id: Ia52bbf20fd1951aa76184da54af94231d2324888
Signed-off-by: ojayanth <ojayanth@in.ibm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-12 10:27:35 -07:00
Wang Mingyu
de52a60181 etcd-cpp-apiv3: upgrade 0.14.2 -> 0.14.3
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-08 21:37:55 -07:00
Andrew Geissler
4cd2006c6b etcd: remove gobin requirement for build
This tool is installed as a part of the build process (build.sh sources
test_lib.sh)

This tool has been removed in the latest etcd main branch. Installing it
as a part of the build process breaks bitbake (it doesn't allow
downloading of packages once in the build steps).

This tool is not needed to build etcd (it appears to be used for some
optional test cases).

The following upstream commit removes the use of gobin in the main
branch, but it's not clear to me if the alternative of just running "go
install" will fix this issue. Fundamentally etcd allows package install
during build and bitbake does not:
900fc8dd7e

Upstream-Status: Inappropriate

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-02 14:16:58 -07:00
Andrew Geissler
078e867c97 etcd: use v2.1.2 xhash to fix build issue
Fixes:
| # github.com/cespare/xxhash/v2
| asm: xxhash_amd64.s:120: when dynamic linking, R15 is clobbered by a global
| variable access and is used here:
| 00092 (/home/pokybuild/yocto-worker/meta-oe/cespare/xxhash/v2@v2.1.1/xxhash_amd64.s:120)	ADDQ	R15, AX
| asm: assembly failed

Upstream-Status: Backport [f0f77fc14e]

Limited PR with just this patch submitted via this PR:
  https://github.com/etcd-io/etcd/pull/15556

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-02 14:16:58 -07:00
Andrew Geissler
05c9ba951e etcd: add recipe
Investigating the potential use of etcd within an OpenBMC distribution
to manage data sharing and leader election in a multi-BMC system. Start
off with a basic recipe to build the package.

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-02 14:16:58 -07:00
Jayanth Othayoth
864f99b885 etcd-cpp-apiv3: add recipe
etcd-cpp-apiv3 is a C++ API for etcd's v3 client API.
This is etcd community recommended C++ library for etcd.
libetcd-cpp-api.so shared library provides both synchronous runtime
(etcd/SyncClient.hpp) and asynchronous runtime (etcd/Client.hpp).

To fix the build issues reported in OpenEmbedded setup updated commit id
on top of v0.14.2 release. Refer #etcd-cpp-apiv3/issues/210 for details.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-21 10:21:36 -07:00