{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":406495211,"defaultBranch":"main","name":"canu","ownerLogin":"Cray-HPE","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-09-14T19:23:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/74066787?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1720643282.0","currentOid":""},"activityList":{"items":[{"before":"a78265f444a02497ebdcaf0e09cb06a60270f02b","after":"ae8e745014863a6a197ebf7550c0dff028893674","ref":"refs/heads/gh-pages","pushedAt":"2024-07-10T20:29:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Set default version to latest with mike 1.1.2","shortMessageHtmlLink":"Set default version to latest with mike 1.1.2"}},{"before":"f00921e1a61d27202fc562b12f33a5a4b9fadb64","after":"a78265f444a02497ebdcaf0e09cb06a60270f02b","ref":"refs/heads/gh-pages","pushedAt":"2024-07-10T20:29:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed 7180062 to 1.9.2 with MkDocs 1.4.3 and mike 1.1.2","shortMessageHtmlLink":"Deployed 7180062 to 1.9.2 with MkDocs 1.4.3 and mike 1.1.2"}},{"before":"59d73e707e1997f02d31d3ad5d7e2f4080f13e27","after":null,"ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-10T20:27:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"}},{"before":"f152639bffbfad509d2b291e27d6adf2033bdde7","after":"71800623c71dbcd8a37f46ffba77203e20b5c76f","ref":"refs/heads/main","pushedAt":"2024-07-10T20:27:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu (#472)\n\nvalidate shcd-cabling'\r\n\r\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\r\nfollow currently-supported naming conventions can cause this stacktrace:\r\n\r\n```\r\n File \"cli.py\", line 314, in \r\n File \"click/core.py\", line 1130, in __call__\r\n File \"click/core.py\", line 1055, in main\r\n File \"click/core.py\", line 1657, in invoke\r\n File \"click/core.py\", line 1657, in invoke\r\n File \"click/core.py\", line 1404, in invoke\r\n File \"click/core.py\", line 760, in invoke\r\n File \"click/decorators.py\", line 26, in new_func\r\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\r\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\r\nIndexError: list index out of range\r\n[48583] Failed to execute script 'cli' due to unhandled exception!\r\n```\r\n\r\ncanu is currently not setup to accurately test this situation since it\r\nrequires an SHCD and a functioning system with switches that can be\r\nlogged into.\r\n\r\nTo that end, I broke the problematic code into its own function so it\r\ncould be unit-tested. I then created some unit tests with various\r\ninputs to test against. Both the line in question, and the one adjacent\r\nsuffer from a similiar problem: a lack of checking if an index exists\r\nbefore trying to access it. Thus, I changed the code to check these two\r\nlines:\r\n\r\n```\r\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\r\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\r\n```\r\n\r\nThis is quite a small bug, but we often have issues with inconsistencies\r\nin the content of cells in the SHCD. Really, we should define the input\r\nwe expect for every cell, attempt to sanitize any input, and fail if it\r\ndoes not meet specifications.\r\n\r\nWith all of the monolithic functions and complexity of this app, this is\r\njust one step in that directions. Many of our functions are cognitively\r\ncomplex and do not unit test easily. We should also start adding\r\ntestdata fixtures to test the same data against the entire app.\r\n\r\neven this fix, which breaks some functionality into a simple function\r\ncontains tech debt and while far from perfect, it is a step in the right\r\ndirection to begin decomposing these functions into more unit-testable\r\npieces. once we can do complete unit tests and proper integration tests\r\nwith shellspec, we can easily reproduce customer issues and fix them\r\npermanently.\r\n\r\nunfortunately, csm has entered EOL (while still years away) so it is not\r\nworth it at this point to do a complete refactor and enhance things, so\r\ntake this fix with that in mind\r\n\r\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":null,"after":"aad4dae41930de6ffe2fbf321e84ad851e18ac2e","ref":"refs/heads/elegant-blur","pushedAt":"2024-07-08T19:58:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"add more generic ssh tests\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"add more generic ssh tests"}},{"before":"97a28d2e782874813a85bf9b43d42746aab593f6","after":"9bde7bff43586b48d44cdd983436701f7a9d1b3e","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T18:16:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update dependencies\n\nthis updates quite a bit. it brings python up to 3.12, alpine to edge\nin order to aid in the remediation of CVE-2024-6387. at the time of\nthis commit, the patch is only available in edge. as a result of this,\nour pipeline marks this as unstable because it isn't a published\nrelease.\n\nbeyond the CVE, I opted to bump everything since it has been nearly a\nyear and the tests all still pass, minus a few that needed a slight\nadjustment for the new python version.\n\npinning the versions so strictly can be helpful, but difficult at the\nsame time. in this case--as well as times in the past--it has been hard\nto bump a single version of a dependency when a CVE or update is needed.\nit usually triggers a cascade of other depdency warnings.\n\nwe also have a weird mix of dependencies from both the normal python\ninstall and the container version of canu. we had planned to drop the\nbinary version and bundle the image with the rpm, but that was more than\na year ago, and no progress has been made towards that.\n\nto that end, I removed all the pinned versions and just went with the\nlatest. since we do not release that often, we will be able to catch\nproblems when building locally and we can choose to pin at the time if\nneed be, but the CVE in this commit is not the only one out there, so\nbringing everything up to latest (at least for now) seems to be the best\noption IMO.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update dependencies"}},{"before":"77e23b1ed05da7b68e22b3bfacbd337ab6343235","after":"97a28d2e782874813a85bf9b43d42746aab593f6","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T16:48:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update container deps\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update container deps"}},{"before":"d4e462b85e925f448ab376fa2c1bbc3a7ba218fd","after":"77e23b1ed05da7b68e22b3bfacbd337ab6343235","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T16:38:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"add setuptools to build\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"add setuptools to build"}},{"before":"6f48f33971a5954ced3a781be309fb5ed44254fe","after":"d4e462b85e925f448ab376fa2c1bbc3a7ba218fd","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T16:25:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"adjust lint for updated flake8\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"adjust lint for updated flake8"}},{"before":"c9a2ab510ed4f54f572afcfb368f5c53b06d0ec3","after":"6f48f33971a5954ced3a781be309fb5ed44254fe","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T15:42:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"3.12\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"3.12"}},{"before":"4b27be2470b7f9c22c349bdb73052f403a470407","after":"c9a2ab510ed4f54f572afcfb368f5c53b06d0ec3","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T15:00:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update python\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update python"}},{"before":"d9f84f335ebc95df164e4964354b56a71f9e4f22","after":"4b27be2470b7f9c22c349bdb73052f403a470407","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T14:43:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update canu pyproject dependencies\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update canu pyproject dependencies"}},{"before":"4d428eebee994328a6c8949dc0f30b3de64a03fe","after":"d9f84f335ebc95df164e4964354b56a71f9e4f22","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T14:30:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update canu pyproject dependencies\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update canu pyproject dependencies"}},{"before":"10d3d975521f85cc7615e69fa7b190071b310e5a","after":"4d428eebee994328a6c8949dc0f30b3de64a03fe","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T14:28:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update container deps\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update container deps"}},{"before":null,"after":"10d3d975521f85cc7615e69fa7b190071b310e5a","ref":"refs/heads/boss-talkback","pushedAt":"2024-07-03T14:15:24.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"update container deps\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"update container deps"}},{"before":"ba046f96085debc0997176058672d83d0a64e5f3","after":"59d73e707e1997f02d31d3ad5d7e2f4080f13e27","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-03T13:41:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\neven this fix, which breaks some functionality into a simple function\ncontains tech debt and while far from perfect, it is a step in the right\ndirection to begin decomposing these functions into more unit-testable\npieces. once we can do complete unit tests and proper integration tests\nwith shellspec, we can easily reproduce customer issues and fix them\npermanently.\n\nunfortunately, csm has entered EOL (while still years away) so it is not\nworth it at this point to do a complete refactor and enhance things, so\ntake this fix with that in mind\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":"4ae631b77bf23b47ef480148897266cc13ccf45d","after":"ba046f96085debc0997176058672d83d0a64e5f3","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-03T13:38:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\neven this fix, which breaks some functionality into a simple function\ncontains tech debt and while far from perfect, it is a step in the right\ndirection to begin decomposing these functions into more unit-testable\npieces. once we can do complete unit tests and proper integration tests\nwith shellspec, we can easily reproduce customer issues and fix them\npermanently.\n\nunfortunately, csm has entered EOL (while still years away) so it is not\nworth it at this point to do a complete refactor and enhance things, so\ntake this fix with that in mind\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":"da7631d26ea8d4bd695915d130c9412fa1cccf3b","after":"4ae631b77bf23b47ef480148897266cc13ccf45d","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-03T13:21:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"f\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"f"}},{"before":"821d7efe785586efc629c834e0926d7f170192ce","after":"da7631d26ea8d4bd695915d130c9412fa1cccf3b","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-02T21:23:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":"05d7a900d684f94b338e1362cb1b30524d116461","after":"821d7efe785586efc629c834e0926d7f170192ce","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-02T21:05:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":"b901eb40ac9bfd89da91bd70fba0477ff17f9dee","after":"05d7a900d684f94b338e1362cb1b30524d116461","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-02T18:41:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CASMTRIAGE-6650 fix and test for 'IndexError: list index out of range…"}},{"before":"822ef21aeb6a322be1bc051cc3da49590430030f","after":"b901eb40ac9bfd89da91bd70fba0477ff17f9dee","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-02T18:38:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"fix and test for 'IndexError: list index out of range' with 'canu"}},{"before":null,"after":"822ef21aeb6a322be1bc051cc3da49590430030f","ref":"refs/heads/CASMTRIAGE-6650","pushedAt":"2024-07-02T16:29:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"fix and test for 'IndexError: list index out of range' with 'canu\nvalidate shcd-cabling'\n\nWhen running 'canu validate shcd-cabling' with an SHCD that does not\nfollow currently-supported naming conventions can cause this stacktrace:\n\n```\n File \"cli.py\", line 314, in \n File \"click/core.py\", line 1130, in __call__\n File \"click/core.py\", line 1055, in main\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1657, in invoke\n File \"click/core.py\", line 1404, in invoke\n File \"click/core.py\", line 760, in invoke\n File \"click/decorators.py\", line 26, in new_func\n File \"validate/shcd_cabling/shcd_cabling.py\", line 286, in shcd_cabling\n File \"validate/network/cabling/cabling.py\", line 412, in node_model_from_canu\nIndexError: list index out of range\n[48583] Failed to execute script 'cli' due to unhandled exception!\n```\n\ncanu is currently not setup to accurately test this situation since it\nrequires an SHCD and a functioning system with switches that can be\nlogged into.\n\nTo that end, I broke the problematic code into its own function so it\ncould be unit-tested. I then created some unit tests with various\ninputs to test against. Both the line in question, and the one adjacent\nsuffer from a similiar problem: a lack of checking if an index exists\nbefore trying to access it. Thus, I changed the code to check these two\nlines:\n\n```\n dst_middle = re.findall(r\"(?:sw-)([a-z-]+)\", dst_name)[0]\n dst_digits = re.findall(r\"(\\d+)\", dst_name)[0]\n```\n\nThis is quite a small bug, but we often have issues with inconsistencies\nin the content of cells in the SHCD. Really, we should define the input\nwe expect for every cell, attempt to sanitize any input, and fail if it\ndoes not meet specifications.\n\nWith all of the monolithic functions and complexity of this app, this is\njust one step in that directions. Many of our functions are cognitively\ncomplex and do not unit test easily. We should also start adding\ntestdata fixtures to test the same data against the entire app.\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"fix and test for 'IndexError: list index out of range' with 'canu"}},{"before":"e9bcc3ce31eec665489c7cb5e67dba0f49c1c340","after":"f00921e1a61d27202fc562b12f33a5a4b9fadb64","ref":"refs/heads/gh-pages","pushedAt":"2024-07-02T14:42:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Set default version to latest with mike 1.1.2","shortMessageHtmlLink":"Set default version to latest with mike 1.1.2"}},{"before":"96a4c5ac290d8a8b1548c635ae28af148a2c0b56","after":"e9bcc3ce31eec665489c7cb5e67dba0f49c1c340","ref":"refs/heads/gh-pages","pushedAt":"2024-07-02T14:42:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Deployed f152639 to 1.9.1 with MkDocs 1.4.3 and mike 1.1.2","shortMessageHtmlLink":"Deployed f152639 to 1.9.1 with MkDocs 1.4.3 and mike 1.1.2"}},{"before":"6b938fa7dd45fa626b9b770994f9979dc266fac0","after":null,"ref":"refs/heads/neutral-marrow","pushedAt":"2024-07-02T14:39:42.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"}},{"before":"6332897ceec1fbecee3bfa3e7409bc9c07534002","after":"f152639bffbfad509d2b291e27d6adf2033bdde7","ref":"refs/heads/main","pushedAt":"2024-07-02T14:39:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CAST-36209/CASMINST-6904 remove canu user and change ownership of canu-owned files (#470)\n\ntested with an older canu version installed\r\n\r\n```\r\nncn-m001:~ # canu --version\r\ncanu, version 1.7.6\r\nncn-m001:~ # getent passwd canu\r\ncanu:x:1000:1000:CANU user:/home/canu:/bin/bash\r\nncn-m001:~ # ls -l /usr/bin/canu*\r\n-rwxr-xr-x 1 canu canu 44546496 Jun 25 10:23 /usr/bin/canu\r\n-rwxr-xr-x 1 canu canu 6702 Jun 25 10:23 /usr/bin/canuctl\r\n-rwxr-xr-x 1 canu canu 44543352 Jun 25 10:23 /usr/bin/canu-inventory\r\nncn-m001:~ # zypper in --allow-unsigned-rpm ./canu-1.8.2.dev3+gf28a0c4-1.x86_64.rpm\r\nLoading repository data...\r\nReading installed packages...\r\nResolving package dependencies...\r\n\r\nThe following package is going to be upgraded:\r\n canu\r\n\r\nThe following package has no support information from its vendor:\r\n canu\r\n\r\n1 package to upgrade.\r\nOverall download size: 85.8 MiB. Already cached: 0 B. After the operation, additional 2.8 MiB will be used.\r\nContinue? [y/n/v/...? shows all options] (y): y\r\nRetrieving: canu-1.8.2.dev3+gf28a0c4-1.x86_64 (Plain RPM files cache) (1/1), 85.8 MiB\r\n\r\nChecking for file conflicts: .................................................................................................................................[done]\r\ncanu:!:1000:\r\ngroupdel: cannot remove the primary group of user 'canu'\r\ncanu:x:1000:1000:CANU user:/home/canu:/bin/bash\r\nno crontab for canu\r\n(1/1) Installing: canu-1.8.2.dev3+gf28a0c4-1.x86_64 ..........................................................................................................[done]\r\nThere are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.\r\n\r\nncn-m001:~ # ls -l /usr/bin/canu*\r\n-rwxr-xr-x 1 root root 45995568 Jun 28 19:03 /usr/bin/canu\r\n-rwxr-xr-x 1 root root 6702 Jun 28 19:03 /usr/bin/canuctl\r\n-rwxr-xr-x 1 root root 45995360 Jun 28 19:03 /usr/bin/canu-inventory\r\nncn-m001:~ # getent passwd canu\r\n```\r\n\r\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CAST-36209/CASMINST-6904 remove canu user and change ownership of can…"}},{"before":"81ddd72dc9e4a86393129424ef44a5a250aae3d7","after":"6b938fa7dd45fa626b9b770994f9979dc266fac0","ref":"refs/heads/neutral-marrow","pushedAt":"2024-06-28T19:16:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CAST-36209/CASMINST-6904 remove canu user and change ownership of canu-owned files\n\ntested with an older canu version installed\n\n```\nncn-m001:~ # canu --version\ncanu, version 1.7.6\nncn-m001:~ # getent passwd canu\ncanu:x:1000:1000:CANU user:/home/canu:/bin/bash\nncn-m001:~ # ls -l /usr/bin/canu*\n-rwxr-xr-x 1 canu canu 44546496 Jun 25 10:23 /usr/bin/canu\n-rwxr-xr-x 1 canu canu 6702 Jun 25 10:23 /usr/bin/canuctl\n-rwxr-xr-x 1 canu canu 44543352 Jun 25 10:23 /usr/bin/canu-inventory\nncn-m001:~ # zypper in --allow-unsigned-rpm ./canu-1.8.2.dev3+gf28a0c4-1.x86_64.rpm\nLoading repository data...\nReading installed packages...\nResolving package dependencies...\n\nThe following package is going to be upgraded:\n canu\n\nThe following package has no support information from its vendor:\n canu\n\n1 package to upgrade.\nOverall download size: 85.8 MiB. Already cached: 0 B. After the operation, additional 2.8 MiB will be used.\nContinue? [y/n/v/...? shows all options] (y): y\nRetrieving: canu-1.8.2.dev3+gf28a0c4-1.x86_64 (Plain RPM files cache) (1/1), 85.8 MiB\n\nChecking for file conflicts: .................................................................................................................................[done]\ncanu:!:1000:\ngroupdel: cannot remove the primary group of user 'canu'\ncanu:x:1000:1000:CANU user:/home/canu:/bin/bash\nno crontab for canu\n(1/1) Installing: canu-1.8.2.dev3+gf28a0c4-1.x86_64 ..........................................................................................................[done]\nThere are running programs which still use files and libraries deleted or updated by recent upgrades. They should be restarted to benefit from the latest updates. Run 'zypper ps -s' to list these programs.\n\nncn-m001:~ # ls -l /usr/bin/canu*\n-rwxr-xr-x 1 root root 45995568 Jun 28 19:03 /usr/bin/canu\n-rwxr-xr-x 1 root root 6702 Jun 28 19:03 /usr/bin/canuctl\n-rwxr-xr-x 1 root root 45995360 Jun 28 19:03 /usr/bin/canu-inventory\nncn-m001:~ # getent passwd canu\n```\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CAST-36209/CASMINST-6904 remove canu user and change ownership of can…"}},{"before":"f28a0c49e42bb4cfcd87cae8483755cf3d602537","after":"81ddd72dc9e4a86393129424ef44a5a250aae3d7","ref":"refs/heads/neutral-marrow","pushedAt":"2024-06-28T19:13:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jacobsalmela","name":"Jacob Salmela","path":"/jacobsalmela","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3843505?s=80&v=4"},"commit":{"message":"CAST-36209/CASMINST-6904 remove canu user and change ownership of canu-owned files\n\nSigned-off-by: Jacob Salmela ","shortMessageHtmlLink":"CAST-36209/CASMINST-6904 remove canu user and change ownership of can…"}},{"before":null,"after":"b4c8cfe1cdfd278178bbd8e4be7f6e386dacf7ec","ref":"refs/heads/CAST-36035","pushedAt":"2024-06-28T18:55:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"lukebates123","name":null,"path":"/lukebates123","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66981180?s=80&v=4"},"commit":{"message":"update ACLs to apply to default vrf","shortMessageHtmlLink":"update ACLs to apply to default vrf"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEfCk6LwA","startCursor":null,"endCursor":null}},"title":"Activity · Cray-HPE/canu"}