[Bug 1914100] Re: python3-heat-dashboard launch stack fails

Heather Lemon 1914100 at bugs.launchpad.net
Tue Feb 2 21:58:46 UTC 2021


** Tags added: sts-sru-needed

** Description changed:

  Heat-dashboard fails to upload files.
  
  [Impact]
  
  Users cannot upload heat template files via the Openstack dashboard (see
  failed ui screenshot)
  
  "A template is used to automate the deployment of infrastructure,
  services, and applications."
  
  [Test Case]
  
  1) Setup a basic openstack with heat and horizon
  - generate a heat-template.yaml deployment (attached template.yaml)
  2) After the regular cloud setup, try to upload the file via horizon dashboard -> Project -> Stacks -> Launch stack (+)
  - choose the template.yaml
  3) Check openstack-dashboard /var/log/apache2/error.log and it should have the error
  ```
  [Mon Feb 01 19:46:05.787127 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]   File "/usr/lib/python3/dist-packages/heat_dashboard/content/stacks/forms.py", line 149, in clean
  [Mon Feb 01 19:46:05.787129 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]     self.clean_uploaded_files('template', _('template'), cleaned, files)
  [Mon Feb 01 19:46:05.787132 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]   File "/usr/lib/python3/dist-packages/heat_dashboard/content/stacks/forms.py", line 207, in clean_uploaded_files
  [Mon Feb 01 19:46:05.787135 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]     if tpl.startswith('{'):
  [Mon Feb 01 19:46:05.787139 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180] TypeError: startswith first arg must be bytes or a tuple of bytes, not str
  [Mon Feb 01 19:46:05.787145 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]
  ```
  ---------
  # use sshuttle for reverse proxy to your openstack instance
  sshuttle -r ubuntu at X.X.X.X X.X.0.0/24
  
  testing with fix
  # add my ppa or use debdiff inside of openstack-dashboard/0
  
  # ssh to openstack dashboard container
  # use new heat-dashboard deb
- # restart apache2 
+ # restart apache2
  # try and upload template.yaml again
  juju ssh openstack-dashboard/0
  
  #remove existing python3-heat-dashboard version
  sudo apt-get remove python3-heat-dashboard
  
  sudo add-apt-repository ppa:hypothetical-lemon/heat-dashboard
  apt-get update
  
  # make sure the version is newest (heat-dashboard_1.5.0-0ubuntu3~cloud1)
  sudo apt-cache policy python3-heat-dashboard
  
  # restart apache2
  systemctl restart apache2
  
  # go to error log
  cd /var/log/apache2
  tail -f error.log
  
  on the openstack cli
  -----
  openstack flavor create test
  openstack image list
  - create an image if one is not listed
  openstack keypair create test-key
  openstack keypair list
  
  try to upload the file via horizon dashboard -> Project -> Stacks -> Launch stack (+)
  - choose the template.yaml
  - fill out admin password
  - Launch
  
  (the instance will be created)
  
+ you can tail the error.logs for apache2 inside of openstack-dashboard/o 
+ under /var/log/apache2/error.log
+ 
+ I saw no errors when uploading the template file.
+ 
  [Where problems could occur]
  
  The information for the forms page could fail to load properly.
  
  [Other Info]
  
  Patch landed in train and now going to stein.
  Since focal is carry 2.0 which has the fix, no need to add the ubuntu bionic package series.
  
  Openstack: Stein
  OS: Ubuntu Bionic
  
  # how to find new Openstack dashboard credentials
  credentials (leave a comment if you don't know)
  -----
  # print out openstack login credentials
  juju config keystone admin-user
  juju config keystone admin-password

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

Title:
  python3-heat-dashboard launch stack fails

Status in Ubuntu Cloud Archive:
  Invalid
Status in Ubuntu Cloud Archive stein series:
  In Progress
Status in heat-dashboard package in Ubuntu:
  Invalid

Bug description:
  Heat-dashboard fails to upload files.

  [Impact]

  Users cannot upload heat template files via the Openstack dashboard
  (see failed ui screenshot)

  "A template is used to automate the deployment of infrastructure,
  services, and applications."

  [Test Case]

  1) Setup a basic openstack with heat and horizon
  - generate a heat-template.yaml deployment (attached template.yaml)
  2) After the regular cloud setup, try to upload the file via horizon dashboard -> Project -> Stacks -> Launch stack (+)
  - choose the template.yaml
  3) Check openstack-dashboard /var/log/apache2/error.log and it should have the error
  ```
  [Mon Feb 01 19:46:05.787127 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]   File "/usr/lib/python3/dist-packages/heat_dashboard/content/stacks/forms.py", line 149, in clean
  [Mon Feb 01 19:46:05.787129 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]     self.clean_uploaded_files('template', _('template'), cleaned, files)
  [Mon Feb 01 19:46:05.787132 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]   File "/usr/lib/python3/dist-packages/heat_dashboard/content/stacks/forms.py", line 207, in clean_uploaded_files
  [Mon Feb 01 19:46:05.787135 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]     if tpl.startswith('{'):
  [Mon Feb 01 19:46:05.787139 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180] TypeError: startswith first arg must be bytes or a tuple of bytes, not str
  [Mon Feb 01 19:46:05.787145 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180]
  ```
  ---------
  # use sshuttle for reverse proxy to your openstack instance
  sshuttle -r ubuntu at X.X.X.X X.X.0.0/24

  testing with fix
  # add my ppa or use debdiff inside of openstack-dashboard/0

  # ssh to openstack dashboard container
  # use new heat-dashboard deb
  # restart apache2
  # try and upload template.yaml again
  juju ssh openstack-dashboard/0

  #remove existing python3-heat-dashboard version
  sudo apt-get remove python3-heat-dashboard

  sudo add-apt-repository ppa:hypothetical-lemon/heat-dashboard
  apt-get update

  # make sure the version is newest (heat-dashboard_1.5.0-0ubuntu3~cloud1)
  sudo apt-cache policy python3-heat-dashboard

  # restart apache2
  systemctl restart apache2

  # go to error log
  cd /var/log/apache2
  tail -f error.log

  on the openstack cli
  -----
  openstack flavor create test
  openstack image list
  - create an image if one is not listed
  openstack keypair create test-key
  openstack keypair list

  try to upload the file via horizon dashboard -> Project -> Stacks -> Launch stack (+)
  - choose the template.yaml
  - fill out admin password
  - Launch

  (the instance will be created)

  you can tail the error.logs for apache2 inside of openstack-dashboard/o 
  under /var/log/apache2/error.log

  I saw no errors when uploading the template file.

  [Where problems could occur]

  The information for the forms page could fail to load properly.

  [Other Info]

  Patch landed in train and now going to stein.
  Since focal is carry 2.0 which has the fix, no need to add the ubuntu bionic package series.

  Openstack: Stein
  OS: Ubuntu Bionic

  # how to find new Openstack dashboard credentials
  credentials (leave a comment if you don't know)
  -----
  # print out openstack login credentials
  juju config keystone admin-user
  juju config keystone admin-password

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



More information about the Ubuntu-openstack-bugs mailing list