Project

General

Profile

Actions

Bug #34616

closed

Installing foreman-proxy and ruby-smart-proxy-salt from http://deb.theforeman.org for debian bullseye does not create the folder /var/lib/foreman-proxy/dynflow necessary for dynflow

Added by Jannis Warnat almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Dynflow
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

Description

After installing foreman-proxy and ruby-smart-proxy-salt on Debian bullseye the component dynflow for the foreman-proxy cannot be started.

Steps to reproduce:

1. Install packages on Debian bullseye:

RUN wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
RUN echo "deb http://deb.theforeman.org/ bullseye 3.2" > /etc/apt/sources.list.d/foreman.list
RUN echo "deb http://deb.theforeman.org/ plugins 3.2" >> /etc/apt/sources.list.d/foreman.list
RUN apt-get update
RUN apt-get install -y foreman-proxy
RUN apt-get install -y ruby-smart-proxy-salt

2. Try to start the proxy:

/usr/share/foreman-proxy/bin/smart-proxy salt --no-daemonize

2022-03-15T12:31:38 [D] 'dynflow' settings: 'console_auth': true (default), 'database': /var/lib/foreman-proxy/dynflow/dynflow.sqlite, 'enabled': true, 'execution_plan_cleaner_age': 86400 (default)
[...]
2022-03-15T12:31:38 [E] Couldn't enable 'dynflow'
2022-03-15T12:31:38 [W] Error details for Couldn't enable 'dynflow': <Sequel::DatabaseConnectionError>: SQLite3::CantOpenException: unable to open database file

The reason is that folder /var/lib/foreman-proxy/dynflow does not exist.

Possible workarounds:

1. mkdir -p /var/lib/foreman-proxy/dynflow
2. Change dynflow.yml, e.g.

:database: /var/lib/foreman-proxy/dynflow.sqlite

The error can also reproduced using this github repository using Docker:

git clone https://github.com/janniswarnat/foreman-proxy.git
Follow README

Please get back to me in case you need more information.

Best regards

Jannis

Actions #1

Updated by Ewoud Kohl van Wijngaarden almost 3 years ago

I'd argue that the foreman-proxy package should create /var/lib/foreman-proxy with permissions that the foreman-proxy can write there. Then smart_proxy_dynflow should create /var/lib/foreman-proxy/dynflow at runtime if needed. Thoughts?

Actions #2

Updated by Ewoud Kohl van Wijngaarden almost 3 years ago

  • Project changed from Packaging to foreman-tasks
  • Category set to Dynflow
Actions #3

Updated by Adam Ruzicka almost 3 years ago

I'd rather default to using an in-memory database as we do everywhere else.

Actions #4

Updated by The Foreman Bot almost 3 years ago

  • Fixed in Releases added
Actions #5

Updated by Ewoud Kohl van Wijngaarden almost 3 years ago

  • Status changed from New to Closed
Actions #6

Updated by Adam Ruzicka almost 3 years ago

  • Fixed in Releases smart_proxy_dynflow-0.8.0 added
  • Fixed in Releases deleted ()
Actions

Also available in: Atom PDF