René's URL Explorer Experiment


Title: Flexible timeout for commands MS sends to the agents by GutoVeronezi · Pull Request #8605 · apache/cloudstack · GitHub

Open Graph Title: Flexible timeout for commands MS sends to the agents by GutoVeronezi · Pull Request #8605 · apache/cloudstack

X Title: Flexible timeout for commands MS sends to the agents by GutoVeronezi · Pull Request #8605 · apache/cloudstack

Description: Description Currently, almost every command MS sends to the agents uses the global setting wait as the timeout's value. That means, if you want to extend or shorten the execution of a command, you will affect every other command. Therefore, currently we do not have a way to customize the timeout for specific commands. For some edge cases, we have "wait"/"timeout" hardcoded values or values that come from global settings to set the commands timeout, like for GetAutoScaleMetricsCommand and for MigrateCommand. Currently, we have 385 classes that extend com.cloud.agent.api.Command (I skipped classes that extend com.cloud.agent.api.Answer); therefore, externalizing global settings for each command to provide flexibility is not feasible; however, we can reach flexibility by other means. Currently, if we do not set a wait to the command, AgentManagerImpl will fallback to the wait global setting: cloudstack/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java Lines 441 to 443 in af8a582 if (timeout <= 0) { timeout = Wait.value(); } I propose to create a table of command_timeout to store the classpath of the command and its wait/timeout. Then, instead of fall backing directly to the wait global setting, we check if there is an entry of the command in this table. If it exists, then we use the entry's value; otherwise, we fall back to the wait global setting (the current behavior). Thus, we can change the commands wait/timeout on demand and in a flexible way. The first step of the proposal is to create the table and changing AgentManagerImpl to check the table. Some entries will already be created for hardcoded values. Further steps can be found in #8506. Types of changes Breaking change (fix or feature that would cause existing functionality to change) New feature (non-breaking change which adds functionality) Bug fix (non-breaking change which fixes an issue) Enhancement (improves an existing feature and functionality) Cleanup (Code refactoring and cleanup, that may add test cases) build/CI Feature/Enhancement Scale or Bug Severity Feature/Enhancement Scale Major Minor How Has This Been Tested? TBD

Open Graph Description: Description Currently, almost every command MS sends to the agents uses the global setting wait as the timeout's value. That means, if you want to extend or shorten the execution of a command, ...

X Description: Description Currently, almost every command MS sends to the agents uses the global setting wait as the timeout&#39;s value. That means, if you want to extend or shorten the execution of a comma...

Opengraph URL: https://github.com/apache/cloudstack/pull/8605

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/commits/:range(.:format)
route-controllerpull_requests
route-actioncommits
fetch-noncev2:2704870d-55cb-a822-fc2c-6f5e2c4f8970
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idAEEA:259C8E:1F542C4:2A7A8A8:6A655748
html-safe-nonce6320e45889c4d48a897172694bd0fa2060b7d1ee30021af017128392e23451a4
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRUVBOjI1OUM4RToxRjU0MkM0OjJBN0E4QTg6NkE2NTU3NDgiLCJ2aXNpdG9yX2lkIjoiODU1NjAyNjY5NDU2NjUwMDE2OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacc364f5c2773c1eecbeb786efb150b351fdba7fb3396ea091d337ad602feb5cf3
hovercard-subject-tagpull_request:1709461682
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/commits
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
twitter:imagehttps://avatars.githubusercontent.com/u/38945620?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/38945620?s=400&v=4
og:image:altDescription Currently, almost every command MS sends to the agents uses the global setting wait as the timeout's value. That means, if you want to extend or shorten the execution of a command, ...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None52c76df668885aaff23b50bdca1fa1ea44ac9c1553e888ebc70ff1e4daa4625b
turbo-cache-controlno-preview
diff-viewunified
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 full-width
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release309153364422b3c499922d1a2a6404910a58ed8e
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fapache%2Fcloudstack%2Fpull%2F8605%2Fcommits%2F0620c460ea0a66e6cb51a35847d7e5bd937c9712
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
Code QualityEnforce quality at mergehttps://github.com/features/code-quality
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/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/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/enterprise/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%2Fpull%2F8605%2Fcommits%2F0620c460ea0a66e6cb51a35847d7e5bd937c9712
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%2Fpull_requests%2Fshow%2Fcommits&source=header-repo&source_repo=apache%2Fcloudstack
Reloadhttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Reloadhttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Reloadhttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Please reload this pagehttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
apache https://github.com/apache
cloudstackhttps://github.com/apache/cloudstack
Notifications https://github.com/login?return_to=%2Fapache%2Fcloudstack
Fork 1.4k 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 555 https://github.com/apache/cloudstack/issues
Pull requests 271 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
Sign up for GitHub https://github.com/signup?return_to=%2Fapache%2Fcloudstack%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fapache%2Fcloudstack%2Fissues%2Fnew%2Fchoose
GutoVeronezihttps://github.com/GutoVeronezi
apache:mainhttps://github.com/apache/cloudstack/tree/main
GutoVeronezi:flexible-command-timeouthttps://github.com/GutoVeronezi/cloudstack/tree/flexible-command-timeout
Conversation 29 https://github.com/apache/cloudstack/pull/8605
Commits 29 https://github.com/apache/cloudstack/pull/8605/commits
Checks 0 https://github.com/apache/cloudstack/pull/8605/checks
Files changed https://github.com/apache/cloudstack/pull/8605/files
Please reload this pagehttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Flexible timeout for commands MS sends to the agents https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#top
Show all changes 29 commits https://github.com/apache/cloudstack/pull/8605/files
bd175f7 Create migration path structure GutoVeronezi Feb 2, 2024 https://github.com/apache/cloudstack/pull/8605/commits/bd175f7911a2e745d6aef7e500ee2dae3bb68f71
687daf9 Create table, model and DAO GutoVeronezi Feb 2, 2024 https://github.com/apache/cloudstack/pull/8605/commits/687daf9de1e8fbbeb5ba5b3c65a949ec3a0ba7ee
1eb1672 Create method to return command timeout by classpath GutoVeronezi Feb 2, 2024 https://github.com/apache/cloudstack/pull/8605/commits/1eb167253b75f160394edbfce1941c80ec9f835e
21aa879 Retrieve command timeout on fallback GutoVeronezi Feb 2, 2024 https://github.com/apache/cloudstack/pull/8605/commits/21aa879c19e55dd94db993e97e7d2a795d7c200e
7f73eba Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/7f73ebad3cd59594622aa2f3dea8255d3ec091e7
96d6cd9 Move changes to 4.20 GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/96d6cd95ca9e93818d2960ab340ad1240d3576ea
a058028 Add new line to the end of file GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/a058028b4789e874abd74a5b513c0ac96a5535b0
a067ebb Use max to optimize process, extract block to method and add logs GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/a067ebbdba0f10e38deb4569c3eb151ed6bb569e
a9147b3 Refactor test class structure GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/a9147b38d17f4fcd6c54f8186b7b1f11a4954cd2
1dd3da4 Create unit tests GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/1dd3da4d0041fee134e128f295a5340f146b17f2
f8560d7 Fix table creation GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/f8560d768294ed4c0717abb7d3f9a6b58cb7775d
0620c46 Convert SetupCertificateCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
e5f732e Convert CheckS2SVpnConnectionsCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/e5f732e46d3483b782991dbb2ec52bef37c0cd9e
14d454d Convert CheckOnHostCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/14d454d1c907f0171a7b354837131d16b47293df
fbc9685 Convert CheckVirtualMachineCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/fbc9685d0ae74ebe05af5b6151a4ce8683a5ac78
06f07ae Convert CheckRouterCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/06f07ae5578d20886acc1047ce485ea49827019f
10c46af Convert CheckHealthCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/10c46afc89fc87ae17b9116ee28bfcf4ec10bf7d
6d33fdc Convert GetAutoScaleMetricsCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/6d33fdc1b86ff97102bc60d8095d2dbda3b5de47
03de190 Convert SetupKeyStoreCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/03de190ff743191ccd8b3c74eff478694e6719dd
ad759e0 Convert ListDataStoreObjectsCommand hardcoded timeout to table entry GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/ad759e0b9113c6bf3a88342fdf5a0764a7417934
557cb9d Fix query operator GutoVeronezi Feb 7, 2024 https://github.com/apache/cloudstack/pull/8605/commits/557cb9ddf61b319adfb1526a9437300d902fa094
c098aaa Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Feb 8, 2024 https://github.com/apache/cloudstack/pull/8605/commits/c098aaa23d676027f0ea9a38a86b8e414a1cd408
b0c5501 Fix log GutoVeronezi Feb 8, 2024 https://github.com/apache/cloudstack/pull/8605/commits/b0c5501e3d6c510b670c8051c8f01bedf7000fb8
cacb218 Fix unit tests GutoVeronezi Feb 9, 2024 https://github.com/apache/cloudstack/pull/8605/commits/cacb2189d2bcfc97e1a68d4d2a04b05bffeb4439
ece8460 Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Feb 25, 2024 https://github.com/apache/cloudstack/pull/8605/commits/ece84605407892160aee328116f1087841c71044
b884fc0 Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Mar 8, 2024 https://github.com/apache/cloudstack/pull/8605/commits/b884fc0591323493cf983bcd8fd0184760a4bb08
139fbc6 Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Mar 27, 2024 https://github.com/apache/cloudstack/pull/8605/commits/139fbc6b3493f6e3a839c05104220e6f4232d530
76d887e Merge remote-tracking branch 'apache-github/main' into HEAD GutoVeronezi Jun 4, 2024 https://github.com/apache/cloudstack/pull/8605/commits/76d887e536b58b85136cbeadb308d9da56f8451e
6d44719 Fix table creation GutoVeronezi Jun 4, 2024 https://github.com/apache/cloudstack/pull/8605/commits/6d4471997c6d5667734152d8fbeb88cf6c55efb4
Clear filters https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Please reload this pagehttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
Please reload this pagehttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
SetupCertificateCommand.java https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-b807c2b190b434386ac8e7d5396248ba8f5e10d40d77d8216229b9e67e0260a6
schema-41900to42000.sql https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-a4caac3bf50ed0e7d3c5c7af354a838213c64bdd9f180b51aca1443c772963e6
Prev https://github.com/apache/cloudstack/pull/8605/commits/f8560d768294ed4c0717abb7d3f9a6b58cb7775d
Next https://github.com/apache/cloudstack/pull/8605/commits/e5f732e46d3483b782991dbb2ec52bef37c0cd9e
Please reload this pagehttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712
https://github.com/GutoVeronezi
GutoVeronezihttps://github.com/apache/cloudstack/commits?author=GutoVeronezi
core/src/main/java/org/apache/cloudstack/ca/SetupCertificateCommand.javahttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-b807c2b190b434386ac8e7d5396248ba8f5e10d40d77d8216229b9e67e0260a6
View file https://github.com/GutoVeronezi/cloudstack/blob/0620c460ea0a66e6cb51a35847d7e5bd937c9712/core/src/main/java/org/apache/cloudstack/ca/SetupCertificateCommand.java
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/8605/commits/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-b807c2b190b434386ac8e7d5396248ba8f5e10d40d77d8216229b9e67e0260a6
https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-b807c2b190b434386ac8e7d5396248ba8f5e10d40d77d8216229b9e67e0260a6
engine/schema/src/main/resources/META-INF/db/schema-41900to42000.sqlhttps://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-a4caac3bf50ed0e7d3c5c7af354a838213c64bdd9f180b51aca1443c772963e6
View file https://github.com/GutoVeronezi/cloudstack/blob/0620c460ea0a66e6cb51a35847d7e5bd937c9712/engine/schema/src/main/resources/META-INF/db/schema-41900to42000.sql
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/apache/cloudstack/pull/8605/commits/{{ revealButtonHref }}
https://github.com/apache/cloudstack/pull/8605/commits/0620c460ea0a66e6cb51a35847d7e5bd937c9712#diff-a4caac3bf50ed0e7d3c5c7af354a838213c64bdd9f180b51aca1443c772963e6
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.