René's URL Explorer Experiment


Title: Local Template/ISO Upload Fails - SSVM receives SIGNATURE=null · Issue #12488 · apache/cloudstack · GitHub

Open Graph Title: Local Template/ISO Upload Fails - SSVM receives SIGNATURE=null · Issue #12488 · apache/cloudstack

X Title: Local Template/ISO Upload Fails - SSVM receives SIGNATURE=null · Issue #12488 · apache/cloudstack

Description: problem Related Issue This is related to #12486 but represents a distinct root cause. Summary When uploading templates/ISOs from local file via the UI, the SSVM sometimes receives requests with SIGNATURE=null instead of the valid signatu...

Open Graph Description: problem Related Issue This is related to #12486 but represents a distinct root cause. Summary When uploading templates/ISOs from local file via the UI, the SSVM sometimes receives requests with SIG...

X Description: problem Related Issue This is related to #12486 but represents a distinct root cause. Summary When uploading templates/ISOs from local file via the UI, the SSVM sometimes receives requests with SIG...

Opengraph URL: https://github.com/apache/cloudstack/issues/12488

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Local Template/ISO Upload Fails - SSVM receives SIGNATURE=null","articleBody":"### problem\n\n**Related Issue**\nThis is related to #12486 but represents a distinct root cause.\n\n**Summary**\nWhen uploading templates/ISOs from local file via the UI, the SSVM sometimes receives requests with SIGNATURE=null instead of the valid signature. This causes immediate validation failure with HTTP 432 error, and the upload never completes.\nThe root cause (whether the browser fails to send the header, or something strips it in transit) requires further investigation.\n\n\n\n### versions\n\n- Management Server: Rocky Linux 8 / RHEL based\n- SSVM: Debian-based SystemVM template 4.20.2.0\n- Browser: Chrome Version 144.0.7559.59 (Official Build) (64-bit)\n\n\n### The steps to reproduce the bug\n\n1.  Navigate to Images → Templates (or ISOs)\n2.  Click \"Upload Template from local\"\n4.  Fill in template details (name, hypervisor=KVM, format=QCOW2, etc.)\n5.  Select a file and submit\n6.  Observe HTTP 432 error in browser console\n7.  Check SSVM logs - may show SIGNATURE=null\n\nNote: This issue is intermittent and difficult to reproduce consistently.\n\n\u003cimg width=\"3132\" height=\"1861\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/52e44d33-c3b5-4bf3-98bb-badc8e95ab3b\" /\u003e\n\n**Expected Behavior**\nThe SSVM should receive valid SIGNATURE, METADATA, and EXPIRES headers with every upload request.\n\n**Actual Behavior**\nThe SSVM sometimes receives SIGNATURE=null, causing immediate validation failure.\n\n**Workaround**\n\n- Retry the upload (may work on subsequent attempts)\n- Use URL-based template registration instead of local upload\n\n**Analysis**\nThe SSVM definitively received requests with SIGNATURE=null. Further investigation is needed to determine where in the chain the signature is lost:\n\n- Browser fails to attach the header\n- Proxy/load balancer strips the header\n- Apache on SSVM fails to forward the header\n- Race condition in UI JavaScript code\n\nThe issue is intermittent, which suggests a timing or race condition.\n\n**Evidence**\n\n- SSVM Logs (/var/log/cloud.log) - Shows SIGNATURE=null received\n\n```\n2026-01-21T15:35:12,754 INFO  [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-2:[]) HEADER: SIGNATURE=null\n2026-01-21T15:35:12,779 ERROR [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-2:[]) post request validation failed com.cloud.exception.InvalidParameterValueException: signature, metadata and expires are compulsory fields.\n2026-01-21T15:35:18,548 INFO  [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-3:[]) HEADER: SIGNATURE=null\n2026-01-21T15:35:18,554 ERROR [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-3:[]) post request validation failed com.cloud.exception.InvalidParameterValueException: signature, metadata and expires are compulsory fields.\n2026-01-21T15:35:49,917 INFO  [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-4:[]) HEADER: SIGNATURE=null\n2026-01-21T15:35:49,923 ERROR [storage.resource.HttpUploadServerHandler] (nioEventLoopGroup-3-4:[]) post request validation failed com.cloud.exception.InvalidParameterValueException: signature, metadata and expires are compulsory fields.\n```\n\n- Browser Console Error\n\n```\nFailed to load resource: the server responded with a status of 432 (432)\nError: Request failed with status code 432\n```\n\n- Management Server Logs - Misleading Error Message\n\nThe management server shows a misleading \"Couldn't find ssvm\" error even though the SSVM is running and healthy:\n\n```\n2026-01-21 15:22:16,171 DEBUG [o.a.c.s.e.DefaultEndPointSelector] (Upload-Monitor-1:[ctx-e41f2a9e]) (logid:0531e27c) Couldn't find ssvm for urlhttps://10.0.56.181/upload/78e32075-e9e2-4d91-b40b-6b6f65e59165\n2026-01-21 15:23:16,255 DEBUG [o.a.c.s.e.DefaultEndPointSelector] (Upload-Monitor-1:[ctx-0c36c949]) (logid:1e37cd87) Couldn't find ssvm for urlhttps://10.0.56.181/upload/78e32075-e9e2-4d91-b40b-6b6f65e59165\n2026-01-21 15:24:16,316 DEBUG [o.a.c.s.e.DefaultEndPointSelector] (Upload-Monitor-1:[ctx-b52f89e1]) (logid:0587fffd) Couldn't find ssvm for urlhttps://10.0.56.181/upload/78e32075-e9e2-4d91-b40b-6b6f65e59165\n```\n\n- Database Verification - SSVM was Running and Up\n\n```\nmysql\u003e SELECT id, uuid, name, public_ip_address, private_ip_address, status FROM host WHERE type='SecondaryStorageVM';\n+----+--------------------------------------+--------+-------------------+--------------------+--------+\n| id | uuid                                 | name   | public_ip_address | private_ip_address | status |\n+----+--------------------------------------+--------+-------------------+--------------------+--------+\n|  4 | 2cf2f703-cb23-4ed1-909e-4ad47ed22919 | s-1-VM | 10.0.56.181       | 10.0.40.156        | Up     |\n+----+--------------------------------------+--------+-------------------+--------------------+--------+\n```\n\n- Template State After Failed Upload\n\n```\n{\n  \"id\": \"78e32075-e9e2-4d91-b40b-6b6f65e59165\",\n  \"name\": \"Linux Debian 12\",\n  \"isready\": false,\n  \"status\": \"NotUploaded\",\n  \"downloaddetails\": []\n}\n```\n\n- No Files Created on SSVM:\n\n```\nroot@s-1-VM:~# ls -la /mnt/SecStorage/5f75abe3-3803-3595-89ad-52d23b3dea97/template/tmpl/2/202/\nls: cannot access '/mnt/SecStorage/5f75abe3-3803-3595-89ad-52d23b3dea97/template/tmpl/2/202/': No such file or directory\n\nroot@s-1-VM:~# grep -i \"78e32075-e9e2-4d91-b40b-6b6f65e59165\" /var/log/cloud.log \n(no output - template UUID never reached SSVM)\n```\n\n### What to do about it?\n\n_No response_","author":{"url":"https://github.com/RosiKyu","@type":"Person","name":"RosiKyu"},"datePublished":"2026-01-21T18:06:04.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/12488/cloudstack/issues/12488"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:c484f57e-c76f-e11c-90c6-c6a4ea51fd96
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB92E:7B9AE:162520A:1EA5AB3:6A4DF145
html-safe-noncec790ad1294ab4fdfdb99643c49a50cb3c59bd069e178a43082a76b029b076cce
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCOTJFOjdCOUFFOjE2MjUyMEE6MUVBNUFCMzo2QTRERjE0NSIsInZpc2l0b3JfaWQiOiI3Mjk0NjYyNDQ5NzU5NjQ2MDIxIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmacd29090a69814db0115daac2aa6db3ad5a2c51c195584250a749f3132fd50ffb1
hovercard-subject-tagissue:3839422244
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/apache/cloudstack/12488/issue_layout
twitter:imagehttps://opengraph.githubassets.com/d7fa0ec04fc13cc2d90be68c7c7634f63bbf077a71068268d2e7feba422cd782/apache/cloudstack/issues/12488
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/d7fa0ec04fc13cc2d90be68c7c7634f63bbf077a71068268d2e7feba422cd782/apache/cloudstack/issues/12488
og:image:altproblem Related Issue This is related to #12486 but represents a distinct root cause. Summary When uploading templates/ISOs from local file via the UI, the SSVM sometimes receives requests with SIG...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameRosiKyu
hostnamegithub.com
expected-hostnamegithub.com
None5818716c93c6a2925b815402541a32814e43a7b1261c322b0c2df75224289566
turbo-cache-controlno-preview
go-importgithub.com/apache/cloudstack git https://github.com/apache/cloudstack.git
octolytics-dimension-user_id47359
octolytics-dimension-user_loginapache
octolytics-dimension-repository_id9759448
octolytics-dimension-repository_nwoapache/cloudstack
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id9759448
octolytics-dimension-repository_network_root_nwoapache/cloudstack
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef4bb89367ca678f057d79b1abc45d6675b1bd5b2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/apache/cloudstack/issues/12488#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fissues%2F12488
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fissues%2F12488
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=apache%2Fcloudstack
Reloadhttps://github.com/apache/cloudstack/issues/12488
Reloadhttps://github.com/apache/cloudstack/issues/12488
Reloadhttps://github.com/apache/cloudstack/issues/12488
Please reload this pagehttps://github.com/apache/cloudstack/issues/12488
apache https://github.com/apache
cloudstackhttps://github.com/apache/cloudstack
Notifications https://github.com/login?return_to=%2Fapache%2Fcloudstack
Fork 1.3k https://github.com/login?return_to=%2Fapache%2Fcloudstack
Star 3k https://github.com/login?return_to=%2Fapache%2Fcloudstack
Code https://github.com/apache/cloudstack
Issues 536 https://github.com/apache/cloudstack/issues
Pull requests 268 https://github.com/apache/cloudstack/pulls
Discussions https://github.com/apache/cloudstack/discussions
Actions https://github.com/apache/cloudstack/actions
Projects https://github.com/apache/cloudstack/projects
Wiki https://github.com/apache/cloudstack/wiki
Security and quality 0 https://github.com/apache/cloudstack/security
Insights https://github.com/apache/cloudstack/pulse
Code https://github.com/apache/cloudstack
Issues https://github.com/apache/cloudstack/issues
Pull requests https://github.com/apache/cloudstack/pulls
Discussions https://github.com/apache/cloudstack/discussions
Actions https://github.com/apache/cloudstack/actions
Projects https://github.com/apache/cloudstack/projects
Wiki https://github.com/apache/cloudstack/wiki
Security and quality https://github.com/apache/cloudstack/security
Insights https://github.com/apache/cloudstack/pulse
Bughttps://github.com/apache/cloudstack/issues?q=type:"Bug"
Local Template/ISO Upload Fails - SSVM receives SIGNATURE=nullhttps://github.com/apache/cloudstack/issues/12488#top
Severity:Majorhttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22Severity%3AMajor%22
component:secondary-storagehttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22component%3Asecondary-storage%22
component:ssvmhttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22component%3Assvm%22
type:bughttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22type%3Abug%22
4.20.4https://github.com/apache/cloudstack/milestone/45
https://github.com/RosiKyu
RosiKyuhttps://github.com/RosiKyu
on Jan 21, 2026https://github.com/apache/cloudstack/issues/12488#issue-3839422244
#12486https://github.com/apache/cloudstack/issues/12486
https://private-user-images.githubusercontent.com/201906357/538706621-52e44d33-c3b5-4bf3-98bb-badc8e95ab3b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODM0OTMyMzMsIm5iZiI6MTc4MzQ5MjkzMywicGF0aCI6Ii8yMDE5MDYzNTcvNTM4NzA2NjIxLTUyZTQ0ZDMzLWMzYjUtNGJmMy05OGJiLWJhZGM4ZTk1YWIzYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNzA4JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDcwOFQwNjQyMTNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kYWQ3YjBiOTg2ZDIxYThhZWMyYmVlMTc0MzAyNjQ0MjJmNzBmNDhiZWE4NWVlZjIwNmY5NWZlZDg0Y2MyMmY1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZyZXNwb25zZS1jb250ZW50LXR5cGU9aW1hZ2UlMkZwbmcifQ.JksCOW_o35ussKXLhO44Jrr9seBzIcNfBCw0eRUJNTs
Severity:Majorhttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22Severity%3AMajor%22
component:secondary-storagehttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22component%3Asecondary-storage%22
component:ssvmhttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22component%3Assvm%22
type:bughttps://github.com/apache/cloudstack/issues?q=state%3Aopen%20label%3A%22type%3Abug%22
Bughttps://github.com/apache/cloudstack/issues?q=type:"Bug"
Apache CloudStack BugFest - Issueshttps://github.com/orgs/apache/projects/362
4.20.4No due datehttps://github.com/apache/cloudstack/milestone/45
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.