python3-heat-dashboard launch stack fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ubuntu Cloud Archive |
Invalid
|
Undecided
|
Unassigned | ||
Stein |
Fix Released
|
Medium
|
Heather Lemon | ||
heat-dashboard (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
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-
```
[Mon Feb 01 19:46:05.787127 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180] File "/usr/lib/
[Mon Feb 01 19:46:05.787129 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180] self.clean_
[Mon Feb 01 19:46:05.787132 2021] [wsgi:error] [pid 13984:tid 140255296943872] [remote 10.5.3.109:59180] File "/usr/lib/
[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@X.X.X.X X.X.0.0/24
testing with fix
# add my ppa or use debdiff inside of openstack-
# ssh to openstack dashboard container
# use new heat-dashboard deb
# restart apache2
# try and upload template.yaml again
juju ssh openstack-
#remove existing python3-
sudo apt-get remove python3-
sudo add-apt-repository ppa:hypothetica
apt-get update
# make sure the version is newest (heat-dashboard
sudo apt-cache policy python3-
# restart apache2
systemctl restart apache2
# go to error log
cd /var/log/apache2
tail -f error.log
# in a new terminal
on the openstack cli
-----
openstack flavor create test
openstack floating ip create ext_net
openstack server list
#find the associated container for reverse-proxy
| 7b790c15-
#copy id or name
openstack image list
- create an image if one is not listed
openstack keypair create test-key
openstack keypair list
openstack server add floating ip <name of openstack-
# in a separate terminal
sshuttle -r ubuntu@x.x.x.x x.x.x.0/24
# open a private session with brower
copy and paste ip from your floating ip list command into the browser url
#Note: an image must be available for use before attempting a file upload
I did this through the UI, but cli works too
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-
under /var/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:/
[1] https:/
[2] https:/
VERIFICATION DONE
I was able to successfully launch a new stack from the template gui.
# enabled proposed
Enabled the bionic-proposed repository in the openstack-dashboard container.
#removed old version
sudo apt-get remove python3-
# dpkg -l python3-
Ensured that the version number is latest (python3-
# restart apache
sudo systemctl restart apache2
# created an image from iso via openstack gui
# created a new network and subnet via openstack gui
# launched Orchestration -> Stacks -> +Launch Stack
# seleted template.yaml modified with corrected subnet
# was able to see stack created and no errors in log file
# /var/log/
Changed in cloud-archive: | |
assignee: | nobody → Heather Lemon (hypothetical-lemon) |
description: | updated |
Changed in cloud-archive: | |
assignee: | Heather Lemon (hypothetical-lemon) → nobody |
Changed in heat-dashboard (Ubuntu Bionic): | |
assignee: | nobody → Heather Lemon (hypothetical-lemon) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in heat-dashboard (Ubuntu Bionic): | |
assignee: | Heather Lemon (hypothetical-lemon) → nobody |
no longer affects: | heat-dashboard (Ubuntu Bionic) |
Changed in heat-dashboard (Ubuntu): | |
status: | New → Invalid |
Changed in cloud-archive: | |
status: | New → Invalid |
description: | updated |
description: | updated |
description: | updated |
tags: | added: sts-sru-needed |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: |
added: verification-stein-done removed: verification-stein-needed |
screenshot of error thrown in openstack-dashboard