Describe the bug
I noticed something strange today with configuration synchronisation. When we deploy configuration that contains both the enabling of a (contrib/core) module & the config from it it doesn’t seem to work. The module appears to get enabled, and the configuration gets imported, but in the end the module really isn’t enabled, although the status in the modules overview screen shows it is enabled. Uninstalling & re-enabling the module & re-importing the config fixes this, but it’s strange as it happened to me twice today.
EDIT:
This seems to be a multi application issue, there is a bug in Drupal, a bug in Drush and also a bug here in Drupal console.
So since I also tested the steps to reproduce with Drupal console instead of drush cim I can only assume that the same kind of issue is happening here in Drupal Console.
To Reproduce
I encountered the issue twice today on 2 different sites for 2 different modules (jsonapi_extras / media_library), below are the 2 scenarios written out.
jsonapi_extras
locally enabled the module (drush en)
locally configured some overrides
locally exported the configuration (drush cex -y)
committed and merged on our test branch that triggers a build & deploy
on the server the configuration is imported (should enable & configure the module)
config import done & cache is cleared --> no errors
checked the json:api confiugration --> FAIL: No json:api extras tab
checked the module overview --> module is enabled --> not true...
on the server drush pm:uninstall the module
on the server drush en the module
on the server drush cim -y (lists all the changes again for the module)
now it works fine
media_library
locally enabled the module (drush en)
locally configured some fields to use the media widget
locally exported the configuration (drush cex -y)
committed and merged on our test branch that triggers a build & deploy
on the server the configuration is imported (should enable & configure the module)
config import done & cache is cleared --> no errors
checked the field configuration --> FAIL: The fields don't have the media library widget selected, nor is it available
checked the module overview --> module is enabled --> not true...
on the server drush pm:uninstall the module
on the server drush en the module
on the server drush cim -y (lists all the changes again for the module)
now it works fine
Expected behavior
Configuration should enable the module properly and then import the config.
Actual behavior
Module is fakely enabled and the config is imported but doesn't take effect.
Workaround
No
System Configuration
Q
A
Drush version?
10.2
Drupal console version?
1.9.4
Drupal version?
8.8.3
PHP version
7.4 & 7.3
OS?
Mac (local) & Linux (sever) & Docker (local)
Full drush status from my local
Drupal version : 8.8.3
Site URI : http://default
DB driver : mysql
DB hostname : database
DB port : 3306
DB username : drupal8
DB name : drupal8
Database : Connected
Drupal bootstrap : Successful
Default theme : total_theme
Admin theme : seven
PHP binary : /usr/local/bin/php
PHP config :
PHP OS : Linux
Drush script : /app/vendor/drush/drush/drush
Drush version : 10.2.0
Drush temp : /tmp
Drush configs : /app/vendor/drush/drush/drush.yml
/app/drush/drush.yml
Install profile : standard
Drupal root : /app/web
Site path : sites/default
Files, Public : sites/default/files
Files, Private : sites/default/files/private
Files, Temp : /tmp
Describe the bug I noticed something strange today with configuration synchronisation. When we deploy configuration that contains both the enabling of a (contrib/core) module & the config from it it doesn’t seem to work. The module appears to get enabled, and the configuration gets imported, but in the end the module really isn’t enabled, although the status in the modules overview screen shows it is enabled. Uninstalling & re-enabling the module & re-importing the config fixes this, but it’s strange as it happened to me twice today.
EDIT: This seems to be a multi application issue, there is a bug in Drupal, a bug in Drush and also a bug here in Drupal console.
Drupal: https://www.drupal.org/project/drupal/issues/3119373 Drush (also mentioned the issue in the Drupal issue): https://github.com/drush-ops/drush/issues/4350
So since I also tested the steps to reproduce with Drupal console instead of
drush cim
I can only assume that the same kind of issue is happening here in Drupal Console.To Reproduce I encountered the issue twice today on 2 different sites for 2 different modules (jsonapi_extras / media_library), below are the 2 scenarios written out.
jsonapi_extras
media_library
Expected behavior Configuration should enable the module properly and then import the config.
Actual behavior Module is fakely enabled and the config is imported but doesn't take effect.
Workaround No
System Configuration
Full drush status from my local
Additional information See the issue as well on DO https://www.drupal.org/project/drupal/issues/3119373