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

Heather Lemon 1914100 at bugs.launchpad.net
Tue Feb 2 22:50:09 UTC 2021


** 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/0 $/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.
  This is apython3 API change, Bionic/Queens are on python2, no fix needed in those releases.
  
  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
+ 
+ #helpful links 
+ [0] https://docs.openstack.org/heat/latest/install/launch-instance.html
+ [1] https://docs.openstack.org/heat-dashboard/latest/install/index.html
+ [2] https://docs.openstack.org/newton/user-guide/cli-create-and-manage-stacks.html

-- 
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/0 $/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.
  This is apython3 API change, Bionic/Queens are on python2, no fix needed in those releases.

  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

  #helpful links 
  [0] https://docs.openstack.org/heat/latest/install/launch-instance.html
  [1] https://docs.openstack.org/heat-dashboard/latest/install/index.html
  [2] https://docs.openstack.org/newton/user-guide/cli-create-and-manage-stacks.html

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