'mattermost' user and group not created automatically w/ GitLab-CE 9.2.x

I have recently installed the GitLab-CE 9.2.0 RPM for CentOS 7.3-1611, and I am not having any issues except getting Mattermost up and running.

I have followed the GitLab Omnibus configuration instructions to enable Mattermost, but when I run sudo gitlab-ctl reconfigure I get the following error:

Recipe: gitlab::mattermost
  * directory[/var/opt/gitlab/mattermost] action create
    * cannot determine user id for 'mattermost', does the user exist on this system?
    ================================================================================
    Error executing action `create` on resource 'directory[/var/opt/gitlab/mattermost]'
    ================================================================================
    
    Chef::Exceptions::UserIDNotFound
    --------------------------------
    cannot determine user id for 'mattermost', does the user exist on this system?
    
    Resource Declaration:
    ---------------------
    # In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/mattermost.rb
    
     54:   directory dir do
     55:     owner mattermost_user
     56:     recursive true
     57:   end
     58: end
    
    Compiled Resource:
    ------------------
    # Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/mattermost.rb:54:in `block in from_file'
    
    directory("/var/opt/gitlab/mattermost") do
      action [:create]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      path "/var/opt/gitlab/mattermost"
      recursive true
      declared_type :directory
      cookbook_name "gitlab"
      recipe_name "mattermost"
      owner "mattermost"
    end
    
    Platform:
    ---------
    x86_64-linux

I have searched and searched and can’t find any reference to anyone else on the planet having this problem, which concerns me since this seems like a pretty basic setup. After receiving this error, I upgraded my GitLab-CE to 9.2.5, but I am still receiving the same error message.

I have verified that /etc/passwd and /etc/group do not contain a mattermost user or group, and I am starting to wonder when the creation of these should take place.

Does anyone have any ideas or suggestions as to what the problem may be? I will post the entire output of sudo gitlab-ctl reconfigure immediately following this post.

Thanks!

[zeus /etc/gitlab]$ sudo gitlab-ctl reconfigure
Starting Chef Client, version 12.12.15
resolving cookbooks for run list: [“gitlab”]
Synchronizing Cookbooks:

  • runit (0.14.2)
  • package (0.0.0)
  • gitlab (0.0.1)
    Installing Cookbook Gems:
    Compiling Cookbooks…
    Recipe: gitlab::default
  • directory[/etc/gitlab] action create (up to date)
    /sbin/init: unrecognized option ‘–version’
    -.mount loaded active mounted /
    Converging 381 resources

  • directory[/etc/gitlab] action create (up to date)

  • directory[Create /var/opt/gitlab] action create (up to date)

  • directory[/opt/gitlab/embedded/etc] action create (up to date)

  • template[/opt/gitlab/embedded/etc/gitconfig] action create (up to date)
    Recipe: gitlab::users

  • directory[/var/opt/gitlab] action create (up to date)

  • template[/var/opt/gitlab/.gitconfig] action create (up to date)
    Recipe: gitlab::gitlab-shell

  • ruby_block[directory resource: /var/opt/gitlab/git-data] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/git-data/repositories] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/.ssh] action run (skipped due to not_if)

  • directory[/var/log/gitlab/gitlab-shell/] action create (up to date)

  • directory[/var/opt/gitlab/gitlab-shell] action create (up to date)

  • templatesymlink[Create a config.yml and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-shell/config.yml to /var/opt/gitlab/gitlab-shell/config.yml] action create (up to date)
      (up to date)
  • link[/opt/gitlab/embedded/service/gitlab-shell/.gitlab_shell_secret] action create (up to date)

  • execute[/opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions] action run

    • execute /opt/gitlab/embedded/service/gitlab-shell/bin/gitlab-keys check-permissions
  • bash[Set proper security context on ssh files for selinux] action run

    • execute “bash” “/tmp/chef-script20170614-194465-zgm86e”
      Recipe: gitlab::gitlab-rails
  • directory[/var/log/gitlab] action create (up to date)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-rails/shared] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-rails/shared/artifacts] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-rails/shared/lfs-objects] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-rails/uploads] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-ci/builds] action run (skipped due to not_if)

  • ruby_block[directory resource: /var/opt/gitlab/gitlab-rails/shared/pages] action run (skipped due to not_if)

  • directory[create /var/opt/gitlab/gitlab-rails/etc] action create (up to date)

  • directory[create /opt/gitlab/etc/gitlab-rails] action create (up to date)

  • directory[create /var/opt/gitlab/gitlab-rails/working] action create (up to date)

  • directory[create /var/opt/gitlab/gitlab-rails/tmp] action create (up to date)

  • directory[create /var/opt/gitlab/gitlab-rails/upgrade-status] action create (up to date)

  • directory[create /var/log/gitlab/gitlab-rails] action create (up to date)

  • directory[/import/backup/gitlab] action create (up to date)

  • directory[/var/opt/gitlab/gitlab-rails] action create (up to date)

  • directory[/var/opt/gitlab/gitlab-ci] action create (up to date)

  • template[/opt/gitlab/etc/gitlab-rails/gitlab-rails-rc] action create (up to date)

  • file[/opt/gitlab/embedded/service/gitlab-rails/.secret] action delete (up to date)

  • file[/var/opt/gitlab/gitlab-rails/etc/secret] action delete (up to date)

  • templatesymlink[Create a database.yml and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/database.yml] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/database.yml to /var/opt/gitlab/gitlab-rails/etc/database.yml] action create (up to date)
      (up to date)
  • templatesymlink[Create a secrets.yml and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/secrets.yml] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/secrets.yml to /var/opt/gitlab/gitlab-rails/etc/secrets.yml] action create (up to date)
      (up to date)
  • templatesymlink[Create a resque.yml and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/resque.yml] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/resque.yml to /var/opt/gitlab/gitlab-rails/etc/resque.yml] action create (up to date)
      (up to date)
  • templatesymlink[Create a aws.yml and create a symlink to Rails root] action delete

    • template[/var/opt/gitlab/gitlab-rails/etc/aws.yml] action delete (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/aws.yml to /var/opt/gitlab/gitlab-rails/etc/aws.yml] action delete (up to date)
      (up to date)
  • templatesymlink[Create a smtp_settings.rb and create a symlink to Rails root] action delete

    • template[/var/opt/gitlab/gitlab-rails/etc/smtp_settings.rb] action delete (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/initializers/smtp_settings.rb to /var/opt/gitlab/gitlab-rails/etc/smtp_settings.rb] action delete (up to date)
      (up to date)
  • templatesymlink[Create a relative_url.rb and create a symlink to Rails root] action delete

    • template[/var/opt/gitlab/gitlab-rails/etc/relative_url.rb] action delete (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/initializers/relative_url.rb to /var/opt/gitlab/gitlab-rails/etc/relative_url.rb] action delete (up to date)
      (up to date)
  • templatesymlink[Create a gitlab.yml and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/gitlab.yml] action create

      • update content in file /var/opt/gitlab/gitlab-rails/etc/gitlab.yml from 3c3461 to 3ecde3
        — /var/opt/gitlab/gitlab-rails/etc/gitlab.yml 2017-06-14 16:12:45.210910957 -0400
        +++ /var/opt/gitlab/gitlab-rails/etc/.chef-gitlab.yml20170614-194465-vce629 2017-06-14 16:19:52.186024867 -0400
        @@ -138,8 +138,8 @@
        issuer: omnibus-gitlab-issuer

        mattermost:

      • enabled: false

      • host:

      GitLab Pages

      pages:

      • restore selinux security context
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml to /var/opt/gitlab/gitlab-rails/etc/gitlab.yml] action create (up to date)

  • templatesymlink[Create a rack_attack.rb and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/rack_attack.rb] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/config/initializers/rack_attack.rb to /var/opt/gitlab/gitlab-rails/etc/rack_attack.rb] action create (up to date)
      (up to date)
  • templatesymlink[Create a gitlab_workhorse_secret and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secret to /var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret] action create (up to date)
      (up to date)
  • templatesymlink[Create a gitlab_shell_secret and create a symlink to Rails root] action create

    • template[/var/opt/gitlab/gitlab-rails/etc/gitlab_shell_secret] action create (up to date)
    • link[Link /opt/gitlab/embedded/service/gitlab-rails/.gitlab_shell_secret to /var/opt/gitlab/gitlab-rails/etc/gitlab_shell_secret] action create (up to date)
      (up to date)
  • directory[/opt/gitlab/etc/gitlab-rails/env] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/HOME] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/RAILS_ENV] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/LD_PRELOAD] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/SIDEKIQ_MEMORY_KILLER_MAX_RSS] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/BUNDLE_GEMFILE] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/PATH] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/ICU_DATA] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/PYTHONPATH] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-rails/env/EXECJS_RUNTIME] action create (up to date)

  • link[/opt/gitlab/embedded/service/gitlab-rails/tmp] action create (up to date)

  • link[/opt/gitlab/embedded/service/gitlab-rails/public/uploads] action create (up to date)

  • link[/opt/gitlab/embedded/service/gitlab-rails/log] action create (up to date)

  • link[/var/log/gitlab/gitlab-rails/sidekiq.log] action create (skipped due to not_if)

  • file[/opt/gitlab/embedded/service/gitlab-rails/db/schema.rb] action create (up to date)

  • remote_file[/var/opt/gitlab/gitlab-rails/VERSION] action create (up to date)

  • remote_file[/var/opt/gitlab/gitlab-rails/REVISION] action create (up to date)

  • file[/var/opt/gitlab/gitlab-rails/RUBY_VERSION] action create (up to date)

  • execute[chown -R root:root /opt/gitlab/embedded/service/gitlab-rails/public] action run

    • execute chown -R root:root /opt/gitlab/embedded/service/gitlab-rails/public
  • execute[clear the gitlab-rails cache] action nothing (skipped due to action :nothing)

  • file[/var/opt/gitlab/gitlab-rails/config.ru] action delete (up to date)
    Recipe: gitlab::selinux

  • execute[semodule -i /opt/gitlab/embedded/selinux/rhel/7/gitlab-7.2.0-ssh-keygen.pp] action rungitlab-7.2.0-ssh-keygen 1.0
    (skipped due to not_if)
    Recipe: gitlab::add_trusted_certs

  • directory[/etc/gitlab/trusted-certs] action create (up to date)

  • directory[/opt/gitlab/embedded/ssl/certs] action create (up to date)

  • file[/opt/gitlab/embedded/ssl/certs/README] action create (up to date)

  • ruby_block[Move existing certs and link to /opt/gitlab/embedded/ssl/certs] action run (skipped due to only_if)
    Recipe: gitlab::default

  • service[create a temporary unicorn service] action nothing (skipped due to action :nothing)

  • service[create a temporary sidekiq service] action nothing (skipped due to action :nothing)

  • service[create a temporary mailroom service] action nothing (skipped due to action :nothing)
    Recipe: runit::systemd

  • directory[/usr/lib/systemd/system] action create (up to date)

  • cookbook_file[/usr/lib/systemd/system/gitlab-runsvdir.service] action create (up to date)

  • file[/etc/systemd/system/default.target.wants/gitlab-runsvdir.service] action delete (up to date)

  • execute[systemctl daemon-reload] action nothing (skipped due to action :nothing)

  • execute[systemctl enable gitlab-runsvdir] action nothing (skipped due to action :nothing)

  • execute[systemctl start gitlab-runsvdir] action nothing (skipped due to action :nothing)
    Recipe: gitlab::redis

  • group[Socket group] action create (up to date)

  • directory[/var/opt/gitlab/redis] action create (up to date)

  • directory[/var/log/gitlab/redis] action create (up to date)

  • template[/var/opt/gitlab/redis/redis.conf] action create (up to date)

  • directory[/opt/gitlab/sv/redis] action create (up to date)

  • directory[/opt/gitlab/sv/redis/log] action create (up to date)

  • directory[/opt/gitlab/sv/redis/log/main] action create (up to date)

  • template[/opt/gitlab/sv/redis/run] action create (up to date)

  • template[/opt/gitlab/sv/redis/log/run] action create (up to date)

  • template[/var/log/gitlab/redis/config] action create (up to date)

  • ruby_block[reload redis svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/redis/down] action delete (up to date)

  • link[/opt/gitlab/init/redis] action create (up to date)

  • link[/opt/gitlab/service/redis] action create (up to date)

  • ruby_block[supervise_redis_sleep] action run (skipped due to not_if)

  • service[redis] action nothing (skipped due to action :nothing)
    Recipe: gitlab::postgresql

  • directory[/var/opt/gitlab/postgresql] action create (up to date)

  • directory[/var/opt/gitlab/postgresql/data] action create (up to date)

  • directory[/var/log/gitlab/postgresql] action create (up to date)

  • link[/var/opt/gitlab/postgresql/data] action create (skipped due to not_if)

  • file[/var/opt/gitlab/postgresql/.profile] action create (up to date)

  • directory[create /etc/sysctl.d for kernel.shmmax] action create (up to date)

  • file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmmax.conf kernel.shmmax] action create (up to date)

  • link[/etc/sysctl.d/90-omnibus-gitlab-kernel.shmmax.conf] action create (up to date)

  • file[delete /etc/sysctl.d/90-postgresql.conf kernel.shmmax] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-unicorn.conf kernel.shmmax] action delete (skipped due to only_if)

  • file[delete /opt/gitlab/embedded/etc/90-omnibus-gitlab.conf kernel.shmmax] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-omnibus-gitlab.conf kernel.shmmax] action delete (skipped due to only_if)

  • execute[load sysctl conf kernel.shmmax] action nothing (skipped due to action :nothing)

  • directory[create /etc/sysctl.d for kernel.shmall] action create (up to date)

  • file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.shmall.conf kernel.shmall] action create (up to date)

  • link[/etc/sysctl.d/90-omnibus-gitlab-kernel.shmall.conf] action create (up to date)

  • file[delete /etc/sysctl.d/90-postgresql.conf kernel.shmall] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-unicorn.conf kernel.shmall] action delete (skipped due to only_if)

  • file[delete /opt/gitlab/embedded/etc/90-omnibus-gitlab.conf kernel.shmall] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-omnibus-gitlab.conf kernel.shmall] action delete (skipped due to only_if)

  • execute[load sysctl conf kernel.shmall] action nothing (skipped due to action :nothing)

  • directory[create /etc/sysctl.d for kernel.sem] action create (up to date)

  • file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf kernel.sem] action create (up to date)

  • link[/etc/sysctl.d/90-omnibus-gitlab-kernel.sem.conf] action create (up to date)

  • file[delete /etc/sysctl.d/90-postgresql.conf kernel.sem] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-unicorn.conf kernel.sem] action delete (skipped due to only_if)

  • file[delete /opt/gitlab/embedded/etc/90-omnibus-gitlab.conf kernel.sem] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-omnibus-gitlab.conf kernel.sem] action delete (skipped due to only_if)

  • execute[load sysctl conf kernel.sem] action nothing (skipped due to action :nothing)

  • execute[/opt/gitlab/embedded/bin/initdb -D /var/opt/gitlab/postgresql/data -E UTF8] action run (skipped due to not_if)

  • template[/var/opt/gitlab/postgresql/data/postgresql.conf] action create (up to date)

  • template[/var/opt/gitlab/postgresql/data/runtime.conf] action create (up to date)

  • template[/var/opt/gitlab/postgresql/data/pg_hba.conf] action create (up to date)

  • template[/var/opt/gitlab/postgresql/data/pg_ident.conf] action create (up to date)

  • directory[/opt/gitlab/sv/postgresql] action create (up to date)

  • directory[/opt/gitlab/sv/postgresql/log] action create (up to date)

  • directory[/opt/gitlab/sv/postgresql/log/main] action create (up to date)

  • template[/opt/gitlab/sv/postgresql/run] action create (up to date)

  • template[/opt/gitlab/sv/postgresql/log/run] action create (up to date)

  • template[/var/log/gitlab/postgresql/config] action create (up to date)

  • ruby_block[reload postgresql svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/postgresql/down] action delete (up to date)

  • directory[/opt/gitlab/sv/postgresql/control] action create (up to date)

  • template[/opt/gitlab/sv/postgresql/control/t] action create (up to date)

  • link[/opt/gitlab/init/postgresql] action create (up to date)

  • link[/opt/gitlab/service/postgresql] action create (up to date)

  • ruby_block[supervise_postgresql_sleep] action run (skipped due to not_if)

  • service[postgresql] action nothing (skipped due to action :nothing)
    Recipe: gitlab::postgresql-bin

  • ruby_block[Link postgresql bin files to the correct version] action run (skipped due to only_if)
    Recipe: gitlab::postgresql

  • template[/opt/gitlab/etc/gitlab-psql-rc] action create (up to date)

  • postgresql_user[gitlab] action create

    • execute[create gitlab postgresql user] action run (skipped due to not_if)
      (up to date)
  • execute[create gitlabhq_production database] action run (skipped due to not_if)

  • postgresql_user[gitlab_replicator] action create

    • execute[create gitlab_replicator postgresql user] action run (skipped due to not_if)
      (up to date)
  • execute[enable pg_trgm extension] action nothing (skipped due to action :nothing)

  • execute[reload postgresql] action nothing (skipped due to action :nothing)

  • execute[start postgresql] action nothing (skipped due to action :nothing)
    Recipe: gitlab::database_migrations

  • bash[migrate gitlab-rails database] action run (skipped due to not_if)

  • bash[migrate gitlab-rails database] action run (skipped due to not_if)
    Recipe: gitlab::logrotate_folders_and_configs

  • directory[/var/opt/gitlab/logrotate] action create (up to date)

  • directory[/var/opt/gitlab/logrotate/logrotate.d] action create (up to date)

  • directory[/var/log/gitlab/logrotate] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.conf] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/nginx] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/unicorn] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/gitlab-rails] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/gitlab-shell] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/gitlab-workhorse] action create (up to date)

  • template[/var/opt/gitlab/logrotate/logrotate.d/gitlab-pages] action create (up to date)
    Recipe: gitlab::unicorn

  • directory[/var/log/gitlab/unicorn] action create (up to date)

  • directory[/opt/gitlab/var/unicorn] action create (up to date)

  • directory[/var/opt/gitlab/gitlab-rails/sockets] action create (up to date)

  • directory[/var/opt/gitlab/gitlab-rails/etc] action create (up to date)

  • template[/var/opt/gitlab/gitlab-rails/etc/unicorn.rb] action create (up to date)

  • directory[/opt/gitlab/sv/unicorn] action create (up to date)

  • directory[/opt/gitlab/sv/unicorn/log] action create (up to date)

  • directory[/opt/gitlab/sv/unicorn/log/main] action create (up to date)

  • template[/opt/gitlab/sv/unicorn/run] action create (up to date)

  • template[/opt/gitlab/sv/unicorn/log/run] action create (up to date)

  • template[/var/log/gitlab/unicorn/config] action create (up to date)

  • ruby_block[reload unicorn svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/unicorn/down] action delete (up to date)

  • directory[/opt/gitlab/sv/unicorn/control] action create (up to date)

  • template[/opt/gitlab/sv/unicorn/control/t] action create (up to date)

  • link[/opt/gitlab/init/unicorn] action create (up to date)

  • link[/opt/gitlab/service/unicorn] action create (up to date)

  • ruby_block[supervise_unicorn_sleep] action run (skipped due to not_if)

  • service[unicorn] action nothing (skipped due to action :nothing)

  • directory[create /etc/sysctl.d for net.core.somaxconn] action create (up to date)

  • file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-net.core.somaxconn.conf net.core.somaxconn] action create (up to date)

  • link[/etc/sysctl.d/90-omnibus-gitlab-net.core.somaxconn.conf] action create (up to date)

  • file[delete /etc/sysctl.d/90-postgresql.conf net.core.somaxconn] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-unicorn.conf net.core.somaxconn] action delete (skipped due to only_if)

  • file[delete /opt/gitlab/embedded/etc/90-omnibus-gitlab.conf net.core.somaxconn] action delete (skipped due to only_if)

  • file[delete /etc/sysctl.d/90-omnibus-gitlab.conf net.core.somaxconn] action delete (skipped due to only_if)

  • execute[load sysctl conf net.core.somaxconn] action nothing (skipped due to action :nothing)
    Recipe: gitlab::sidekiq

  • directory[/var/log/gitlab/sidekiq] action create (up to date)

  • directory[/opt/gitlab/sv/sidekiq] action create (up to date)

  • directory[/opt/gitlab/sv/sidekiq/log] action create (up to date)

  • directory[/opt/gitlab/sv/sidekiq/log/main] action create (up to date)

  • template[/opt/gitlab/sv/sidekiq/run] action create (up to date)

  • template[/opt/gitlab/sv/sidekiq/log/run] action create (up to date)

  • template[/var/log/gitlab/sidekiq/config] action create (up to date)

  • ruby_block[reload sidekiq svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/sidekiq/down] action delete (up to date)

  • link[/opt/gitlab/init/sidekiq] action create (up to date)

  • link[/opt/gitlab/service/sidekiq] action create (up to date)

  • ruby_block[supervise_sidekiq_sleep] action run (skipped due to not_if)

  • service[sidekiq] action nothing (skipped due to action :nothing)
    Recipe: gitlab::gitaly

  • directory[/var/opt/gitlab/gitaly] action create (up to date)

  • directory[/var/log/gitlab/gitaly] action create (up to date)

  • directory[/opt/gitlab/etc/gitaly] action create (up to date)

  • file[/opt/gitlab/etc/gitaly/PATH] action create (up to date)

  • file[/opt/gitlab/etc/gitaly/HOME] action create (up to date)

  • template[Create Gitaly config.toml] action create (up to date)

  • directory[/opt/gitlab/sv/gitaly] action create (up to date)

  • directory[/opt/gitlab/sv/gitaly/log] action create (up to date)

  • directory[/opt/gitlab/sv/gitaly/log/main] action create (up to date)

  • template[/opt/gitlab/sv/gitaly/run] action create (up to date)

  • template[/opt/gitlab/sv/gitaly/log/run] action create (up to date)

  • template[/var/log/gitlab/gitaly/config] action create (up to date)

  • ruby_block[reload gitaly svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/gitaly/down] action delete (up to date)

  • link[/opt/gitlab/init/gitaly] action create (up to date)

  • link[/opt/gitlab/service/gitaly] action create (up to date)

  • ruby_block[supervise_gitaly_sleep] action run (skipped due to not_if)

  • service[gitaly] action nothing (skipped due to action :nothing)
    Recipe: gitlab::gitlab-workhorse

  • directory[/var/opt/gitlab/gitlab-workhorse] action create (up to date)

  • directory[/var/log/gitlab/gitlab-workhorse] action create (up to date)

  • directory[/opt/gitlab/etc/gitlab-workhorse] action create (up to date)

  • directory[/opt/gitlab/etc/gitlab-workhorse/env] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-workhorse/env/PATH] action create (up to date)

  • file[/opt/gitlab/etc/gitlab-workhorse/env/HOME] action create (up to date)

  • directory[/opt/gitlab/sv/gitlab-workhorse] action create (up to date)

  • directory[/opt/gitlab/sv/gitlab-workhorse/log] action create (up to date)

  • directory[/opt/gitlab/sv/gitlab-workhorse/log/main] action create (up to date)

  • template[/opt/gitlab/sv/gitlab-workhorse/run] action create (up to date)

  • template[/opt/gitlab/sv/gitlab-workhorse/log/run] action create (up to date)

  • template[/var/log/gitlab/gitlab-workhorse/config] action create (up to date)

  • ruby_block[reload gitlab-workhorse svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/gitlab-workhorse/down] action delete (up to date)

  • link[/opt/gitlab/init/gitlab-workhorse] action create (up to date)

  • link[/opt/gitlab/service/gitlab-workhorse] action create (up to date)

  • ruby_block[supervise_gitlab-workhorse_sleep] action run (skipped due to not_if)

  • service[gitlab-workhorse] action nothing (skipped due to action :nothing)

  • file[/var/opt/gitlab/gitlab-workhorse/VERSION] action create (up to date)

  • template[/var/opt/gitlab/gitlab-workhorse/config.toml] action create (up to date)
    Recipe: gitlab::mailroom_disable

  • link[/opt/gitlab/service/mailroom] action delete (up to date)

  • directory[/opt/gitlab/sv/mailroom] action delete (up to date)
    Recipe: gitlab::nginx

  • directory[/var/opt/gitlab/nginx] action create (up to date)

  • directory[/var/opt/gitlab/nginx/conf] action create (up to date)

  • directory[/var/log/gitlab/nginx] action create (up to date)

  • link[/var/opt/gitlab/nginx/logs] action create (up to date)

  • template[/var/opt/gitlab/nginx/conf/gitlab-http.conf] action create (up to date)

  • template[/var/opt/gitlab/nginx/conf/gitlab-pages.conf] action delete (up to date)

  • template[/var/opt/gitlab/nginx/conf/gitlab-registry.conf] action delete (up to date)

  • template[/var/opt/gitlab/nginx/conf/gitlab-mattermost-http.conf] action create

    • create new file /var/opt/gitlab/nginx/conf/gitlab-mattermost-http.conf
    • update content in file /var/opt/gitlab/nginx/conf/gitlab-mattermost-http.conf from none to 987fb3
      — /var/opt/gitlab/nginx/conf/gitlab-mattermost-http.conf 2017-06-14 16:19:55.342960520 -0400
      +++ /var/opt/gitlab/nginx/conf/.chef-gitlab-mattermost-http.conf20170614-194465-1ofgm7a 2017-06-14 16:19:55.342960520 -0400
      @@ -1 +1,47 @@
      +# This file is managed by gitlab-ctl. Manual changes will be
      +# erased! To change the contents below, edit /etc/gitlab/gitlab.rb
      +# and run sudo gitlab-ctl reconfigure.

    +## GitLab Mattermost
    +
    +upstream gitlab_mattermost {

    • server 127.0.0.1:8065;
      +}

    +server {

    • listen *:80;
    • server_name mattermost.afc01.orl.[hidden].com;
    • server_tokens off; # don’t show the version number, a security best practice
    • client_max_body_size 0;
    • Real IP Module Config

    • http://nginx.org/en/docs/http/ngx_http_realip_module.html

    • access_log /var/log/gitlab/nginx/gitlab_mattermost_access.log gitlab_mattermost_access;
    • error_log /var/log/gitlab/nginx/gitlab_mattermost_error.log;
    • location / {
    • If you use HTTPS make sure you disable gzip compression

    • to be safe against BREACH attack.

    • proxy_read_timeout 3600;
    • proxy_connect_timeout 300;
    • proxy_redirect off;
    • proxy_set_header Host $http_host;
    • proxy_set_header X-Real-IP $remote_addr;
    • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    • proxy_set_header X-Forwarded-Proto http;
    • proxy_set_header X-Frame-Options SAMEORIGIN;
    • proxy_set_header Upgrade $http_upgrade;
    • proxy_set_header Connection $connection_upgrade;
    • proxy_pass http://gitlab_mattermost;
    • }

    +}

    • change mode from ‘’ to ‘0644’
    • change owner from ‘’ to ‘root’
    • change group from ‘’ to ‘root’
    • restore selinux security context
  • template[/var/opt/gitlab/nginx/conf/nginx-status.conf] action create (up to date)

  • template[/var/opt/gitlab/nginx/conf/nginx.conf] action create

    • update content in file /var/opt/gitlab/nginx/conf/nginx.conf from 7f3399 to eac94c
      — /var/opt/gitlab/nginx/conf/nginx.conf 2017-06-09 09:49:29.035661519 -0400
      +++ /var/opt/gitlab/nginx/conf/.chef-nginx.conf20170614-194465-1n9wj5q 2017-06-14 16:19:55.391959494 -0400
      @@ -44,6 +44,7 @@
      include /var/opt/gitlab/nginx/conf/gitlab-http.conf;
    • include /var/opt/gitlab/nginx/conf/gitlab-mattermost-http.conf;

      include /var/opt/gitlab/nginx/conf/nginx-status.conf;

    • restore selinux security context
  • directory[/opt/gitlab/sv/nginx] action create (up to date)

  • directory[/opt/gitlab/sv/nginx/log] action create (up to date)

  • directory[/opt/gitlab/sv/nginx/log/main] action create (up to date)

  • template[/opt/gitlab/sv/nginx/run] action create (up to date)

  • template[/opt/gitlab/sv/nginx/log/run] action create (up to date)

  • template[/var/log/gitlab/nginx/config] action create (up to date)

  • ruby_block[reload nginx svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/nginx/down] action delete (up to date)

  • link[/opt/gitlab/init/nginx] action create (up to date)

  • link[/opt/gitlab/service/nginx] action create (up to date)

  • ruby_block[supervise_nginx_sleep] action run (skipped due to not_if)

  • service[nginx] action nothing (skipped due to action :nothing)
    Recipe: gitlab::remote-syslog_disable

  • link[/opt/gitlab/service/remote-syslog] action delete (up to date)

  • directory[/opt/gitlab/sv/remote-syslog] action delete (up to date)
    Recipe: gitlab::logrotate

  • directory[/opt/gitlab/sv/logrotate] action create (up to date)

  • directory[/opt/gitlab/sv/logrotate/log] action create (up to date)

  • directory[/opt/gitlab/sv/logrotate/log/main] action create (up to date)

  • template[/opt/gitlab/sv/logrotate/run] action create (up to date)

  • template[/opt/gitlab/sv/logrotate/log/run] action create (up to date)

  • template[/var/log/gitlab/logrotate/config] action create (up to date)

  • ruby_block[reload logrotate svlogd configuration] action nothing (skipped due to action :nothing)

  • file[/opt/gitlab/sv/logrotate/down] action delete (up to date)

  • directory[/opt/gitlab/sv/logrotate/control] action create (up to date)

  • template[/opt/gitlab/sv/logrotate/control/t] action create (up to date)

  • link[/opt/gitlab/init/logrotate] action create (up to date)

  • link[/opt/gitlab/service/logrotate] action create (up to date)

  • ruby_block[supervise_logrotate_sleep] action run (skipped due to not_if)

  • service[logrotate] action nothing (skipped due to action :nothing)
    Recipe: gitlab::mattermost

  • directory[/var/opt/gitlab/mattermost] action create

    • cannot determine user id for ‘mattermost’, does the user exist on this system?
      ================================================================================
      Error executing action create on resource ‘directory[/var/opt/gitlab/mattermost]’
      ================================================================================

    Chef::Exceptions::UserIDNotFound

    cannot determine user id for ‘mattermost’, does the user exist on this system?

    Resource Declaration:

    In /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/mattermost.rb

    54: directory dir do
    55: owner mattermost_user
    56: recursive true
    57: end
    58: end

    Compiled Resource:

    Declared in /opt/gitlab/embedded/cookbooks/cache/cookbooks/gitlab/recipes/mattermost.rb:54:in `block in from_file’

    directory("/var/opt/gitlab/mattermost") do
    action [:create]
    retries 0
    retry_delay 2
    default_guard_interpreter :default
    path “/var/opt/gitlab/mattermost”
    recursive true
    declared_type :directory
    cookbook_name “gitlab”
    recipe_name “mattermost”
    owner “mattermost”
    end

    Platform:

    x86_64-linux

Not everyone wants the mattermost user to be created as ‘mattermost’. I personally do not care, but at work many of the users that are created for services have special naming schemes. I do think that the user should be automatically created, but I think that it should be based from the gitlab.rb config on what it will be created under. On the other hand, it is not very hard to create a new user on the system.

While all of your points are technically valid, none of them address the issue that I have outlined above.

The GitLab Omnibus performs a step in which it creates a directory ("/var/opt/gitlab/mattermost") and attempts to assign ownership to a user and group that does not exist ("mattermost"). As far as I am aware, nowhere in the documentation does it state that a user and group should manually be created for the Mattermost application. Therefore the issue I am trying to resolve is: why is the username and group that GitLab is trying to use not present? :confused:

If you don’t want the user to be named mattermost, the gitlab.rb file does provide the option to change the username and group, but uncommenting those lines have zero effect on the outcome that I am experiencing.

mattermost['username'] = 'mattermost'
mattermost['group'] = 'mattermost'

As far as manually creating a mattermost username and group? I think that would be a fine science experiment if I were playing around with this at home, but I am trying to setup a production server and don’t want to start hacking my way around things before I understand why GitLab Omnibus is not behaving the way that it should.

This issue is now resolved, and had I enabled Mattermost immediately after doing the initial GitLab-CE install, I would not have run into this issue.

My install timeline went something like this:

  • Time X: Install GitLab-CE 9.2.0
  • Time X + 1 hour: Configure LDAP authentication, adding manage_accounts['enable'] = false to /etc/gitlab/gitlab.rb
  • Time X + 2 weeks: Enable Mattermost while completely forgetting that I told GitLab to no longer manage accounts

Had I enabled Mattermost before doing the LDAP authentication step, the install/configuration process would have been smooth sailing.

Thankfully my relentless search for a solution landed me here at which point it became pretty clear what the problem was.

I agree after reviewing the documentation that you are correct. See: https://docs.gitlab.com/omnibus/gitlab-mattermost/#specify-numeric-user-and-group-identifiers

It does specify that the user and group should be created.
I had run into the same issue and I guess have never realized it was an issue. I have always created the user and group by hand.