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

Teleport 8.0 commands fail on CentOS 7 #9028

Closed
SMillerDev opened this issue Nov 17, 2021 · 15 comments · Fixed by #9176
Closed

Teleport 8.0 commands fail on CentOS 7 #9028

SMillerDev opened this issue Nov 17, 2021 · 15 comments · Fixed by #9176
Labels
bug c-ac Internal Customer Reference c-na Internal Customer Reference c-pg Internal Customer Reference

Comments

@SMillerDev
Copy link

Description

What happened:
After updating to Teleport 8.0 on CentOS 7 Teleport fails to start.

user@host:~# teleport -h
teleport: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by teleport)
teleport: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by teleport)

What you expected to happen:
Teleport to start as it did with 7.x.

Reproduction Steps

As minimally and precisely as possible, describe step-by-step how to reproduce the problem.

  1. Update teleport install on CentOS 7 to Teleport 8.0

Server Details

  • Teleport version (run teleport version): 8.0.0-1
  • Server OS (e.g. from /etc/os-release): CentOS 7
  • Where are you running Teleport? (e.g. AWS, GCP, Dedicated Hardware): AWS
  • Additional details: Using the teleport Yum repo

Client Details

  • Tsh version (tsh version): Teleport v7.3.3 git: go1.17.2
  • Computer OS (e.g. Linux, macOS, Windows): macOS
  • Browser version (for UI-related issues): Firefox 94.0.1 (64-bit)
  • Installed via (e.g. apt, yum, brew, website download): brew
  • Additional details: N/A

Debug Logs

Please include or attach debug logs, when appropriate. Obfuscate sensitive information!

  • Start Teleport with --debug flag (teleport --debug)
  • Run tsh with --debug flag (tsh --debug)
@SMillerDev SMillerDev added the bug label Nov 17, 2021
@SMillerDev SMillerDev changed the title Teleport commands fail on CentOS 7 Teleport 8.0 commands fail on CentOS 7 Nov 17, 2021
@bcg62
Copy link
Contributor

bcg62 commented Nov 17, 2021

I am also seeing this

@deusxanima deusxanima added the c-na Internal Customer Reference label Nov 17, 2021
@savv3
Copy link

savv3 commented Nov 18, 2021

Same here...

@Roguyt
Copy link

Roguyt commented Nov 18, 2021

Another issue that is kinda linked to this one is the fact that the deb repository only offer the 8.0 version as of today.
Meaning that:

  1. Upgrade are breaking if you don't go version by version using deb from Teleport website
  2. We can't rollback this version because of the encountered error.

Edit: This was already reported that it's an issue #8166

zmb3 added a commit that referenced this issue Nov 20, 2021
Our Ubuntu 18.04 base image contains a version of glibc that is
too new for Centos 7. As a result, our builds contain a runtime
dependency on this new version and will not run on Centos 7.

This commit leverages multi stage builds to build the Rust static
libraries on a Centos 7 box. These binaries are copied into a
special directory in the buildbox image, which make will look for.

In addition:
- Configure Cargo to generate dep-info paths relative to the teleport directory.
  https://doc.rust-lang.org/cargo/guide/build-cache.html#dep-info-files
- Leverage these dep info files to so that make is smart enough to run
  Cargo only if there have been changes to the Rust code.

Fixes #9028
@webvictim
Copy link
Contributor

In the meantime, the CentOS 6 binaries should work: https://get.gravitational.com/teleport-v8.0.0-linux-amd64-centos6-bin.tar.gz

zmb3 added a commit that referenced this issue Dec 1, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
zmb3 added a commit that referenced this issue Dec 1, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
zmb3 added a commit that referenced this issue Dec 1, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
@WilliamLoy
Copy link
Contributor

Customers who have opted to use rpm packages over binary installs are having to spend time creating their own rpms . For consistency with previous releases it would be good to include rpms to accompany any tar releases.

zmb3 added a commit that referenced this issue Dec 1, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
@zmb3 zmb3 closed this as completed in #9176 Dec 2, 2021
zmb3 added a commit that referenced this issue Dec 2, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
@Roguyt
Copy link

Roguyt commented Dec 2, 2021

The issue isn't really fixed yet.
Yes there is a separate build for CentOS, but if you are using the deb repository how can we opt to use the CentOS 7 version ?

@SMillerDev
Copy link
Author

Wait, how would you get centos binaries to even install on a Debian based system?

@Roguyt
Copy link

Roguyt commented Dec 2, 2021

@SMillerDev You cannot. But this issue isn't linked directly to CentOS.

You can also replicate this issue on some Debian version which are bundled with an old version of GLIBC.
My point is at any point the build version of teleport may break for obscure reason.

@zmb3
Copy link
Collaborator

zmb3 commented Dec 2, 2021

Correct, the only thing specific about CentOS with this issue is that CentOS ships with an old version of GLIBC.

Perhaps a more appropriate name for the CentOS binaries would be "Teleport - old GLIBC" or something. In any case, users who wish to run Teleport on systems with such an old version of GLIBC will be now be able to use these binaries when they ship.

@Roguyt
Copy link

Roguyt commented Dec 2, 2021

Correct, the only thing specific about CentOS with this issue is that CentOS ships with an old version of GLIBC.

Perhaps a more appropriate name for the CentOS binaries would be "Teleport - old GLIBC" or something. In any case, users who wish to run Teleport on systems with such an old version of GLIBC will be now be able to use these binaries when they ship.

Would it be possible to add a libc version requirement to the .deb so that system which aren't compatible won't update using the deb repo ?

zmb3 added a commit that referenced this issue Dec 2, 2021
Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028
@zmb3
Copy link
Collaborator

zmb3 commented Dec 2, 2021

Would it be possible to add a libc version requirement to the .deb so that system which aren't compatible won't update using the deb repo?

That seems like a reasonable request to me. Would you mind creating a separate issue so this discussion doesn't get lost in an old closed issue?

zmb3 added a commit that referenced this issue Dec 3, 2021
* Expose endpoint for fetching single desktop (#9041)

* updates endpoints

* Exposes an endpoint for fetching a single desktop by name

* Apply suggestions from code review

Co-authored-by: Zac Bergquist <[email protected]>

* changes inaccurate desktopUUID to desktopName

Co-authored-by: Zac Bergquist <[email protected]>

* docs: LDAP service account setup (#8875)

* updating docs with service account tutorial

* minor corrections

* Apply suggestions from code review

Co-authored-by: Zac Bergquist <[email protected]>

* wording changes based on CR

* minor changes and fixes and adds updated photos with new naming convention

* Updating documentation

* updating gpo instructions to actually make sense

* nits

* adding instructions for exporting ca

* removing unhelpful screen shot

* Fixes quotes and updates to LDAPS

Co-authored-by: Ben Arent <[email protected]>

* clarifying comment

Co-authored-by: Zac Bergquist <[email protected]>
Co-authored-by: Ben Arent <[email protected]>

* Enhance LDAP desktop discovery (#9152)

* Refactor component heartbeat callbacks

Consolidate the OK/degraded broadcasts so the same logic isn't
duplicated for each component.

* Periodically update discovered desktops

Fixes #8644

* Allow customizing the desktop search

With this change, we support a discovery base DN other than '*',
and add support for further filtering the results with additional
LDAP filters.

Additionally, we filter out group managed service accounts, which
show up in LDAP searches for (objectClass=computer), despite not
being comptuers. (This is mostly harmless, as the service accounts
aren't present in DNS, so Teleport just ignores them. It does, however,
log a DNS error message that could be confusing, so we explicitly
filter these out just to be safe. This was discovered when testing
on AWS managed AD, which creates a gMSA for DNS.

* simplify connection establishment (#9098)

* Adds username and initial screen size to the websocket parameter string and sends over tdp during the connection process

* simplifications from CR

* fixes // //

* Update e ref

* Create separate builds for CentOS7 (+fips)

Add new buildboxes for centos7 and centos7-fips.

For now, we will continue to support both CentOS 6 and 7.
Eventually we will drop support for CentOS 6, and the only
supported CentOS builds will be these new CentOS 7 builds.

Fixes #9028

* [auto] Update webassets in zmb3/desktop-access-backports (#9210)

444cf33 simplify connection establishment (#480) gravitational/webapps@444cf33

[source: -w teleport-v8] [target: -t zmb3/desktop-access-backports]

Co-authored-by: Isaiah Becker-Mayer <[email protected]>
Co-authored-by: Ben Arent <[email protected]>
@deusxanima deusxanima added the c-ac Internal Customer Reference label Dec 8, 2021
@SMillerDev
Copy link
Author

@zmb3 when will these fixed releases show up in the RPM repo?

@webvictim
Copy link
Contributor

AFAIK there are currently no plans to create separate CentOS 6/7 RPMs - the binary tarballs for those distributions should be used instead.

There is a separate issue tracking adding a glibc dependency to avoid installing the current DEB/RPM files on systems which cannot support them: #9247

@SMillerDev
Copy link
Author

That should probably be noted in the install instructions because https://goteleport.com/docs/installation/ seems to suggest to use the yum repo (which works as long as you don't install 8.x releases)

@savv3
Copy link

savv3 commented Dec 16, 2021

Agree with @SMillerDev. Another suggestion would be to have different yum repos for different major versions, so that one could upgrade major version, once you had tested on a test/dev machine.
MariaDB, for example, uses this approach with their yum repo, and it works very well.
I just have to enable/disable repos in yum config to upgrade and do yum update, to install the next major version.

@pschisa pschisa added the c-pg Internal Customer Reference label Jan 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug c-ac Internal Customer Reference c-na Internal Customer Reference c-pg Internal Customer Reference
Projects
None yet
9 participants