** Description changed:

  [ Impact ]
  
  Heat templates that include MIME type `x-shellscript` user-data fail due to an
  incorrect shebang in loguserdata.py [1].
  
  This failure prevents use of `x-shellscript` user-data in heat templates
  [2].
  
  [1] https://review.opendev.org/c/openstack/heat/+/916058
  [2] 
https://docs.openstack.org/heat/latest/template_guide/software_deployment.html
  
  [ Test Plan ]
  
  Deploy OpenStack Caracal. As Charmed Openstack Caracal does not support Noble 
as
  a base, deploy Jammy/Caracal and DRU the heat unit to Noble to test the Noble
  package.
  
  Create a stack with this template:
  ```yaml
  heat_template_version: 2021-04-16
  
  description: Deploy an instance with some user-data
  
  resources:
-   user-data-inst:
-     type: OS::Nova::Server
-     properties:
-       image: noble-server-cloudimg-amd64
-       flavor: m1.small
-       key_name: heat_key
-       networks:
-         - network: private
-         - network: ext_net
-       user_data: |
-         #!/bin/bash
+   user-data-inst:
+     type: OS::Nova::Server
+     properties:
+       image: noble-server-cloudimg-amd64
+       flavor: m1.small
+       key_name: heat_key
+       networks:
+         - network: private
+         - network: ext_net
+       user_data: |
+         #!/bin/bash
  
-         mkdir -p /usr/local/share/hello
-         echo "Hello, world!" > /usr/local/share/hello/hello.txt
+         mkdir -p /usr/local/share/hello
+         echo "Hello, world!" > /usr/local/share/hello/hello.txt
  ```
  
  ```
  os stack create -t user-data-template.yaml ud0
  ```
  
  Expected result: cloud-init succeeds and /usr/local/share/hello/hello.txt is
  created.
  
  Actual result: cloud-init fails:
  ```
  Cloud-init v. 25.1.2-0ubuntu0~24.04.1 running 'modules:final' at Mon, 14 Jul 
2025 13:59:07 +0000. Up 82.71 seconds.
  /var/lib/cloud/instance/scripts/loguserdata.py: line 15: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 16: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 17: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 18: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 19: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 20: import: command not 
found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 23: VAR_PATH: command 
not found
  /var/lib/cloud/instance/scripts/loguserdata.py: line 24: syntax error near 
unexpected token `('
  /var/lib/cloud/instance/scripts/loguserdata.py: line 24: `LOG = 
logging.getLogger('heat-provision')'
  2025-07-14 13:59:07,898 - cc_scripts_user.py[WARNING]: Failed to run module 
scripts_user (scripts in /var/lib/cloud/instance/scripts)
  2025-07-14 13:59:07,899 - log_util.py[WARNING]: Running module scripts_user 
(<module 'cloudinit.config.cc_scripts_user' from 
'/usr/lib/python3/dist-packages/cloudinit/config/cc_scripts_user.py'>) failed
  Cloud-init v. 25.1.2-0ubuntu0~24.04.1 finished at Mon, 14 Jul 2025 13:59:08 
+0000. Datasource DataSourceOpenStackLocal [net,ver=2].  Up 83.21 seconds
  ```
  
  [ Where problems could occur ]
  
  The modified file is only used as a wrapper when executing cloud-init 
user-data
  of MIME type `x-shellscript` [1]. Regressions in this change should only
  impact this specific feature.
  
  [1]
  
https://git.launchpad.net/ubuntu/+source/heat/tree/heat/engine/clients/os/nova.py?h=applied/ubuntu/noble-
  devel#n399
+ 
+ [Other info]
+ 
+ This was fixed in heat 23.0.0.0rc1 by:
+ 
+ commit 29a594c85a7734eefd0cfa635d8fcfca8f9eb60f
+ From: Takashi Kajinami <kajina...@oss.nttdata.com>
+ Date: Wed, 17 Apr 2024 20:08:28 +0900
+ Subject: Fix wrong shebang of loguserdata.py
+ Link: 
https://opendev.org/openstack/heat/commit/29a594c85a7734eefd0cfa635d8fcfca8f9eb60f

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

Title:
  Incorrect shebang in loguserdata.py

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


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to