[Bug 1914100] Update Released
Corey Bryant
1914100 at bugs.launchpad.net
Wed Feb 17 13:01:19 UTC 2021
The verification of the Stable Release Update for heat-dashboard has
completed successfully and the package has now been released to
-updates. In the event that you encounter a regression using the package
from -updates please report a new bug using ubuntu-bug and tag the bug
report regression-update so we can easily find any regressions.
--
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:
Fix Released
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
# 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-ccd1-469d-85f6-c20321128c3c | juju-d21df1-sru-2003343-9 | ACTIVE | test_admin_net=x.x.x.131 | auto-sync/ubuntu-bionic-daily-amd64-server-20200826-disk1.img | m1.small
#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-dashboard-container> <ip add of new floating ip> #copied cmd from <openstack floating ip list>
# in a separate terminal
sshuttle -r ubuntu at 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-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
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-heat-dashboard
# dpkg -l python3-heat-dashboard | cat
Ensured that the version number is latest (python3-heat-dashboard 1.5.0-0ubuntu3~cloud1)
# 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/apache2/error.log
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