Bootstrap fails on clean CentOS 7 install


(Dan Healy) #1

SOLVED: Default installs of CentOS 7 with XFS file system creates the file system with the option ftype=0 which is incompatible with Docker. Rebuilding with either ftype=1 (which can’t be done through the GUI installer for CentOS) or as EXT4 file system will solve the issue. Be sure to run docker info first to see if there’s a warning at the end of the output.

Steps for reproduction:

  1. Install CentOS 7
  2. yum install curl wget nano zip unzip open-vm-tools -y
  3. yum update -y
  4. Disable SELinux and reboot
  5. Install Docker-CE (using instructions from Docker.com Get Docker CE for CentOS | Docker Documentation)
  6. Test that Docker is install and running properly. Add root and local user to docker usergroup.
  7. Install Discourse per instructions:
    As root:
    mkdir /var/discourse
    git clone https://github.com/discourse/discourse_docker.git /var/discourse
    cd /var/discourse
    ./discourse-setup

Sitename: forum.example.com
Admin email: admin@example.com
SMTP server: mailrelay.example.com
Username: [Enter]
Password: [Enter]
Let’s Encrypt: [Enter]

(Message displayed that ./launcher can’t run with default user/pass and to edit containers/app.yml

  1. nano containers/app.yml
    Add DISCOURSE_SMTP_AUTHENTICATION: 'none' to end of STMP section
    Uncomment TLS and change to false
    Change user/pass to something other than default - shouldn’t matter since I configured authentication to be off.

  2. Bootstrap app ./launcher bootstrap app

Log output:

I, [2017-08-25T07:32:38.278610 #13]  INFO -- : > cd /var/www/discourse && gem update bundler
I, [2017-08-25T07:32:42.411593 #13]  INFO -- : Updating installed gems
Updating bundler
Successfully installed bundler-1.15.4
Gems updated: bundler

I, [2017-08-25T07:32:42.411707 #13]  INFO -- : > cd /var/www/discourse && chown -R discourse /var/www/discourse
chown: cannot access '/var/www/discourse/app/assets/javascripts/admin/components/expanding-text-area.js.es6': No such file or directory
chown: cannot access '/var/www/discourse/app/assets/javascripts/discourse/components/small-action.js.es6': No such file or directory
chown: cannot access '/var/www/discourse/app/assets/javascripts/discourse/templates/components/small-action.hbs': No such file or directory
chown: cannot access '/var/www/discourse/lib/autospec/spork_runner.rb': No such file or directory
chown: cannot access '/var/www/discourse/lib/plugin/theme.rb': No such file or directory
chown: cannot access '/var/www/discourse/lib/site_setting_validations.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/controllers/admin/flags_controller_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/fixtures/site_settings/env.yml': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/admin/backups_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/admin/emojis_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/admin/groups_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/groups_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/managing_topic_status_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/omniauth_callbacks_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/safe_mode_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/tags_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/integration/users_spec.rb': No such file or directory
chown: cannot access '/var/www/discourse/spec/jobs/clean_up_unused_staged_users.rb': No such file or directory
chown: cannot access '/var/www/discourse/test/javascripts/controllers/flag-test.js.es6': No such file or directory
I, [2017-08-25T07:32:46.116337 #13]  INFO -- :
196:signal-handler (1503646366) Received SIGTERM scheduling shutdown...
I, [2017-08-25T07:32:46.116739 #13]  INFO -- : Terminating async processes
I, [2017-08-25T07:32:46.116810 #13]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main pid: 83
I, [2017-08-25T07:32:46.116918 #13]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 196
2017-08-25 07:32:46.117 UTC [83] LOG:  received fast shutdown request
2017-08-25 07:32:46.117 UTC [83] LOG:  aborting any active transactions
2017-08-25 07:32:46.117 UTC [90] LOG:  autovacuum launcher shutting down
2017-08-25 07:32:46.132 UTC [87] LOG:  shutting down
196:M 25 Aug 07:32:46.380 # User requested shutdown...
196:M 25 Aug 07:32:46.380 * Saving the final RDB snapshot before exiting.
196:M 25 Aug 07:32:46.389 * DB saved on disk
196:M 25 Aug 07:32:46.389 # Redis is now ready to exit, bye bye...
2017-08-25 07:32:46.690 UTC [87] LOG:  database system is shut down


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && chown -R discourse /var/www/discourse failed with return #<Process::Status: pid 313 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:108:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "chown -R discourse $home"]}
3c4a42f8102bc22506745ded18e64c6d739db17d676ab3192573ff399a083c52
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one

(Sam Saffron) #2

what is the output of docker info ?


(Dan Healy) #3
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 17.06.1-ce
Storage Driver: overlay
 Backing Filesystem: xfs
 Supports d_type: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 6e23458c129b551d5c9871e5174f6b1b7f6d1170
runc version: 810190ceaa507aa2727d7ae6f4790c76ec150bd2
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-514.26.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.86GiB
Name: forum.example.com
ID: A2QA:AT7T:DSSF:2UXD:SOJW:MALA:QPU5:QQ27:B4K4:DGVI:GLJO:2FHU
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
         Reformat the filesystem with ftype=1 to enable d_type support.
         Running without d_type support will not be supported in future releases.

(Jeff Atwood) #4

There is that – have you taken that advice? It sounds important.


(Dan Healy) #5

Haven’t done this yet. I’ll reinstall the OS with EXT4 FS since CentOS can’t specify the ftype during the GUI installer. I’ll report back shortly.


(Dan Healy) #6

The file system problem was causing the issue. Rebuilt with EXT4 partitions. Resolved.