Re-tagged as verification-done. Thanks, Heather Lemon
** 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@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@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 ** Tags removed: verification-stein-needed ** Tags added: verification-stein-done -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1914100 Title: python3-heat-dashboard launch stack fails To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-archive/+bug/1914100/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs