Open PhMemmel opened 3 years ago
The apt-get dist-upgrade
is missing something similar to this:
apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" dist-upgrade
(Alternatively --force-confold, and grab the output in order to warn at the end of the run that something needs to be looked at, because default configuration-files were changed)
Assuming that something like apply-conf.sh
and/or ansible/shef/puppet will add local configuration in the end again, --force-confnew should be ok however...
It was just pointed out to me, this is not the first time this happened, see https://github.com/bigbluebutton/bbb-install/issues/330 – there should be something added to bbb-install.sh to deal with configuration changes, independently if they occurred because of packaging-changes as in #330, or if they occured because someone manually edited the configuration files.
A possible workaround might be to set the environment variable DEBIAN_FRONTEND
to noninteractive
.
According to the manpage (http://manpages.ubuntu.com/manpages/bionic/man7/debconf.7.html) this should answer all interactive dialogues with the default answer. However I was not able to test this as I already upgraded all my BBB Servers to 2.3.1 and thus can't test an upgrade any more.
I will check it out once 2.3.2 is released.
Upgrading from 2.3.17
to 2.4.2
gave me two conflicts. My understanding is, that the *.dpkg-dist
are the versions that should actually be used.
# diff /etc/bigbluebutton/nginx/web /etc/bigbluebutton/nginx/web.dpkg-dist
10,11c10,15
< # Workaround IE refusal to set cookies in iframe
< add_header P3P 'CP="No P3P policy available"';
---
> # Workaround IE refusal to set cookies in iframe
> add_header P3P 'CP="No P3P policy available"';
> if ($bbb_loadbalancer_node) {
> add_header 'Access-Control-Allow-Origin' $bbb_loadbalancer_node always;
> add_header 'Access-Control-Allow-Credentials' 'true' always;
> }
16c20,28
< proxy_pass http://127.0.0.1:8090;
---
> # Grails can't handle CORS OPTION preflight requests correctly -> lets do this in nginx
> if ($request_method = 'OPTIONS') {
> add_header 'Access-Control-Allow-Origin' $bbb_loadbalancer_node always;
> add_header 'Access-Control-Allow-Credentials' 'true' always;
> add_header 'Content-Type' 'text/plain; charset=utf-8';
> add_header 'Content-Length' 0;
> return 204;
> }
> proxy_pass http://127.0.0.1:8090;
21c33,37
< add_header P3P 'CP="No P3P policy available"';
---
> add_header P3P 'CP="No P3P policy available"';
> if ($bbb_loadbalancer_node) {
> add_header 'Access-Control-Allow-Origin' $bbb_loadbalancer_node always;
> add_header 'Access-Control-Allow-Credentials' 'true' always;
> }
59a76,78
> if ($bbb_loadbalancer_node) {
> add_header 'Access-Control-Allow-Origin' $bbb_loadbalancer_node always;
> }
93a113,120
> location = /bigbluebutton/connection/legacyCheckAuthorization {
> internal;
> proxy_pass http://127.0.0.1:8090;
> proxy_pass_request_body off;
> proxy_set_header Content-Length "";
> proxy_set_header X-Original-URI $request_uri;
> }
>
104a132,134
> if ($bbb_loadbalancer_node) {
> add_header 'Access-Control-Allow-Origin' $bbb_loadbalancer_node always;
> }
# diff /etc/cron.daily/bigbluebutton.dpkg-dist /etc/cron.daily/bigbluebutton
34c34
< find /var/bigbluebutton/ -maxdepth 1 -type d -name "*-[0-9]*" -mtime +$history -exec rm -rf '{}' +
---
> find /var/bigbluebutton/ -maxdepth 1 -type d -name "*-*" -mtime +$history -exec rm -rf '{}' +
37c37
< # Delete streams from Kurento and mediasoup older than N days
---
> # Delete streams in kurento older than N days
39,53c39,45
< kurento_dir=/var/kurento/
< mediasoup_dir=/var/mediasoup/
<
< remove_stale_sfu_raw_files() {
< for app in recordings screenshare; do
< app_dir="${1}${app}"
< if [[ -d $app_dir ]]; then
< find "$app_dir" -name "*.mkv" -o -name "*.webm" -mtime +"$history" -delete
< find "$app_dir" -type d -empty -mtime +"$history" -exec rmdir '{}' +
< fi
< done
< }
<
< remove_stale_sfu_raw_files "$kurento_dir"
< remove_stale_sfu_raw_files "$mediasoup_dir"
---
> for app in recordings screenshare; do
> app_dir=/var/kurento/$app
> if [[ -d $app_dir ]]; then
> find $app_dir -name "*.mkv" -o -name "*.webm" -mtime +$history -delete
> find $app_dir -type d -empty -mtime +$history -exec rmdir '{}' +
> fi
> done
Running
bbb-install.sh
on an existent 2.3.0 installation fails the first time because kurento config files have been modified anddpkg
apparently expects user input to decide what it should do.Running
bbb-install.sh
a second time makes it run through. However, even after the second run, the new config file has not been installed. As mentioned in the release notes there was a renaming of an option inWebRtcEndpoint.conf.ini
for example. The admin has to manually mergeWebRtcEndpoint.conf.ini.dpkg-dist
intoWebRtcEndpoint.conf.ini
.As far as I can see kurento still accepts
niceAgentIceTcp
config key or at least this wrong option inWebRtcEndpoint.conf.ini
doesn't prevent kurento from running and apparently working, but this probably should be fixed.EDIT: BTW: The existing of
WebRtcEndpoint.conf.ini.dpkg-dist
makes kurento log errors because of the unknown suffix as well. But this is a minor issue.Output of first run of
bbb-install.sh
, I left the non BBB related lines which appeared in between the BBB related ones so one can see the issue of dpkg probably waiting for user input on STDIN: