** Description changed:

+ [ Impact ]
+ 
+  * On Resolute, installing `python3-magnum-ui` with `openstack-dashboard` can
+    leave both packages unconfigured. During Horizon static-asset compression,
+    Magnum UI SCSS uses `$gray-lighter` before the active theme variables are
+    imported.
+ 
+  * This makes the dashboard post-installation step fail and prevents Magnum UI
+    from being configured.
+ 
+  * The update imports the active Horizon theme variables before the Magnum UI
+    cluster styles, with the required SCSS syntax.
+ 
+ [ Test Plan ]
+ 
+  * Use a disposable fully updated Resolute VM or container. Before enabling
+    `resolute-proposed`, install the released packages:
+ 
+        sudo apt update
+        sudo apt install openstack-dashboard python3-magnum-ui
+ 
+    Confirm the static-asset step fails with an undefined `$gray-lighter`
+    variable and leaves the affected packages unconfigured.
+ 
+  * Enable `resolute-proposed`, update APT metadata, and install the candidate
+    `python3-magnum-ui` version. Confirm that APT selected the proposed build.
+ 
+  * Confirm the installed SCSS imports theme variables before cluster
+ styles:
+ 
+        scss_file=$(dpkg -L python3-magnum-ui | grep 
'/dashboard/container-infra/container-infra.scss$')
+        sed -n '1,2p' "$scss_file"
+ 
+    The file must first import the active theme variables and then
+    `clusters/clusters`.
+ 
+  * Complete pending configuration and rerun the dashboard configuration:
+ 
+        sudo dpkg --configure -a
+        sudo env DEBIAN_FRONTEND=noninteractive dpkg-reconfigure 
openstack-dashboard
+        dpkg-query -W -f='${Package}\t${Version}\t${Status}\n' 
openstack-dashboard python3-magnum-ui
+ 
+    Both packages must report `install ok installed`, with no SCSS or undefined
+    variable error.
+ 
+  * On a connected OpenStack deployment, open **Project > Container Infra >
+    Clusters** and confirm the page and its styling load correctly.
+ 
+ [ Where problems could occur ]
+ 
+  * An incorrect import path, order, or SCSS syntax would again make Horizon's
+    static-asset compression fail, potentially leaving `openstack-dashboard`
+    unconfigured.
+ 
+  * Importing theme variables can change Magnum UI styling. Check Container
+    Infrastructure panels with the deployment's active theme for broken 
colours,
+    icons, or controls.
+ 
+  * Both carried changes are required. If either is absent, the package
+    configuration failure can return.
+ 
+ [ Other Info ]
+ 
+  * LP: #2155145 records the SCSS failure during dashboard package
+    configuration.
+ 
  `python3-magnum-ui` 18.0.0-0ubuntu1 installs Horizon SCSS static assets
  that reference the undefined variable `$gray-lighter`.
  
  This breaks `openstack-dashboard` package configuration when `openstack-
  dashboard` and `python3-magnum-ui` are installed together, because
  Horizon’s postinst runs static asset collection and compression after
  the Magnum UI assets are staged.
  
  ## Affected Packages
  
  * Source package: `magnum-ui`
  * Binary package: `python3-magnum-ui`
  * Version: `18.0.0-0ubuntu1`
  * Ubuntu series observed: `resolute`
  * Related package: `openstack-dashboard` `4:25.7.1-0ubuntu1`
  
  ## Steps to Reproduce
  
  1. In a clean resolute environment, install both packages in one
  transaction:
  
-    `apt install openstack-dashboard python3-magnum-ui`
+    `apt install openstack-dashboard python3-magnum-ui`
  
  2. Observe `openstack-dashboard` postinst running static asset
  collection and compression after both packages are staged.
  
  ## Error Observed
  
  `openstack-dashboard` fails to configure during static asset
  compression:
  
  ```text
  Collecting and compressing static assets...
  CommandError: An error occurred during rendering _stylesheets.html: Error: 
Undefined variable: "$gray-lighter".
-         on line 9:15 of 
../../../var/lib/openstack-dashboard/static/dashboard/container-infra/clusters/clusters.scss
-         from line 1:9 of 
../../../var/lib/openstack-dashboard/static/dashboard/container-infra/container-infra.scss
+         on line 9:15 of 
../../../var/lib/openstack-dashboard/static/dashboard/container-infra/clusters/clusters.scss
+         from line 1:9 of 
../../../var/lib/openstack-dashboard/static/dashboard/container-infra/container-infra.scss
  >>         fill: $gray-lighter;
  
-    --------------^
+    --------------^
  dpkg: error processing package openstack-dashboard (--configure):
-  old openstack-dashboard package postinst maintainer script subprocess failed 
with exit status 1
+  old openstack-dashboard package postinst maintainer script subprocess failed 
with exit status 1
  ```
  
  `python3-magnum-ui` is then left unconfigured because its dependency on
  `openstack-dashboard` cannot be satisfied:
  
  ```text
  dpkg: dependency problems prevent configuration of python3-magnum-ui:
-  python3-magnum-ui depends on openstack-dashboard (>= 
4:22.2.0+git2022071815.f3767aba9-0ubuntu2~); however:
-   Package openstack-dashboard is not configured yet.
+  python3-magnum-ui depends on openstack-dashboard (>= 
4:22.2.0+git2022071815.f3767aba9-0ubuntu2~); however:
+   Package openstack-dashboard is not configured yet.
  
  dpkg: error processing package python3-magnum-ui (--configure):
-  dependency problems - leaving unconfigured
+  dependency problems - leaving unconfigured
  ```
  
  ## Expected Result
  
  Installing `openstack-dashboard` and `python3-magnum-ui` in the same apt
  transaction should complete successfully.
  
  The Magnum UI static assets should either avoid references to undefined
  Horizon SCSS variables, import the required variable definitions
  correctly, or be patched to use variables available in the packaged
  Horizon theme stack.
  
  ## Actual Result
  
  `openstack-dashboard` fails during postinst static asset compression
  because Magnum UI’s SCSS references `$gray-lighter`, which is not
  defined in the active compression context.
  
  This leaves both `openstack-dashboard` and `python3-magnum-ui`
  unconfigured.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2155145

Title:
  python3-magnum-ui invalid scss variable fails config step

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/gazpacho/+bug/2155145/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to