FATAL: NoMethodError: undefined method `logger' for nil:NilClass

Hello,

I just grabbed the latest version published yesterday and installed on a fresh CentOS 8 LXC I spun up but when I run firezone-ctl reconfigure for the first time I get the following output:

+---------------------------------------------+
✔ 2 product licenses accepted.
+---------------------------------------------+
Starting Chef Infra Client, version 16.14.1
Patents: https://www.chef.io/patents

Running handlers:
[2021-10-15T16:19:12+00:00] ERROR: Running exception handlers
Running handlers complete
[2021-10-15T16:19:12+00:00] ERROR: Exception handlers complete
Chef Infra Client failed. 0 resources updated in 03 seconds
/opt/firezone/embedded/lib/ruby/gems/2.7.0/gems/chef-16.14.1/lib/chef/compliance/runner.rb:23: warning: Chef::Compliance::Runner#logger at /opt/firezone/embedded/lib/ruby/2.7.0/forwardable.rb:154 forwarding to private method NilClass#logger
[2021-10-15T16:19:12+00:00] FATAL: NoMethodError: undefined method `logger' for nil:NilClass

Am I missing some deps or does the latest build 0.1.13 have some issues on CentOS 8?

Thanks!

Thanks for the bug report. Hmm, we haven’t seen this issue before.

While I’m investigating, would you mind posting the output of echo $PATH and printenv (Be sure to redact any sensitive info). I’m wondering if there’s a env variable or path issue with your setup.

Hey jamil,

$PATH is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

printenv includes PATH and is as follows:

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.m4a=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.oga=01;36:*.opus=01;36:*.spx=01;36:*.xspf=01;36:
LANG=C.utf8
HISTCONTROL=ignoredups
HOSTNAME=
OLDPWD=[redacted]
INVOCATION_ID=6f4ea47fa4fe49749294a15ab94c23d1
USER=[redacted]
PWD=[redacted]
HOME=[redacted]
JOURNAL_STREAM=8:6500872
MAIL=/var/spool/mail/root
SHELL=/bin/bash
TERM=linux
SHLVL=1
LOGNAME=[redacted]
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
HISTSIZE=1000

It is a Proxmox LXC

Hi @AEDELGOD

I can confirm Firezone is working for me on a fresh install of CentOS 8.

Could you share your installation steps? When you say Proxmox LXC, does that mean you’re installing Firezone from with a CentOS 8 container?

Hey @jamil

Yes I am trying to install Firezone inside a Proxmox container running CentOS 8.

Steps were:

  1. spun up the LXC container for CentOS 8
  2. dnf check-update && dnf update
  3. dnf install wget
  4. cd /home
  5. wget https://github.com/firezone/firezone/releases/download/0.1.13/firezone_0.1.13-centos8-amd64.rpm
  6. rpm -i firezone_0.1.13-centos8-amd64.rpm
  7. firezone-ctl reconfigure
    which results in the following error above when it is trying to start the Chef client.

Ahh I see. Firezone doesn’t currently support containerized deployment – Firezone expects to be able to modify the routing table, add netfilter rules, and create WireGuard interfaces which are tricky (or impossible?) to do from within a container. For now you’d be much better off running a VM and exposing the web and Wireguard ports (443/tcp, 51820/udp) to the host OS.

We have this issue open to track containerization support: Containerization Support · Issue #260 · firezone/firezone · GitHub

Ah ok, gotcha. I have seen OpenVPN work in a container, so it shouldn’t be impossible to do WireGuard as well. I’ll try to do it as an actual VM and see what kind of results I get from that. I do appreciate you making this tool. I’m very eager to start playing with it lol.

1 Like