)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"32df6025d74aab9ade05d08c5965463a5f94f823","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    touch $GENERIC_SWITCH_USER_HOME/.hushlogin || true"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"e2fa96d5_5a892e70","line":60,"updated":"2026-01-14 09:23:05.000000000","message":"why not checking if the file exists instead? a one line is quick enough, like `[[ -f filename ]] || touch filename`, using `|| true` may cover other issues, even if it\u0027s a remote possibility","commit_id":"2b29a7e9d4b6fda3ad0e35f442ee075cc68fb123"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0fdced5a6d6b83e25157a476db9c253efc75cbbd","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    touch $GENERIC_SWITCH_USER_HOME/.hushlogin || true"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"9b3cf42a_f512abb2","line":60,"in_reply_to":"d2340584_0cdb8b53","updated":"2026-01-23 16:14:32.000000000","message":"fwiw, what you proposed is a syntax error. test -f should do it though.","commit_id":"2b29a7e9d4b6fda3ad0e35f442ee075cc68fb123"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8387a02215b2e2afd6a782f6f8a9afec77a3a5d0","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    touch $GENERIC_SWITCH_USER_HOME/.hushlogin || true"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":1,"id":"d2340584_0cdb8b53","line":60,"in_reply_to":"e2fa96d5_5a892e70","updated":"2026-01-14 17:44:27.000000000","message":"The only other possibility is that the home directory wasn\u0027t created, but that is handled previously, so making it more defensive likely doesn\u0027t really make sense to me.","commit_id":"2b29a7e9d4b6fda3ad0e35f442ee075cc68fb123"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"e1991b93a396ea37d8028d67bbcfc834253346ee","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    test -f touch $GENERIC_SWITCH_USER_HOME/.hushlogin || touch $GENERIC_SWITCH_USER_HOME/.hushlogin"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"d148ce1b_a40f70d8","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":100},"updated":"2026-01-30 12:56:00.000000000","message":"Should\u0027nt this be? \n`test -f $GENERIC_SWITCH_USER_HOME/.hushlogin || touch $GENERIC_SWITCH_USER_HOME/.hushlogin` \n\n`test -f touch \u003cfilename\u003e` looks like syntax error?","commit_id":"b11e2efffca2fa1132668f6ad5e3d02147e476e8"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"aeecabbf6670a95672d0fde1164b419480b42d4b","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    test -f touch $GENERIC_SWITCH_USER_HOME/.hushlogin || touch $GENERIC_SWITCH_USER_HOME/.hushlogin"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"df8a3b82_cba30c03","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":100},"in_reply_to":"a6f2e7a4_1dd2e251","updated":"2026-02-02 14:17:04.000000000","message":"Touch fails if the file already exists... That being said, yeah, the \"test -f touch\" bit is wrong.","commit_id":"b11e2efffca2fa1132668f6ad5e3d02147e476e8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"914173b003cf87a3c44cced2c61e161662feda32","unresolved":true,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    test -f touch $GENERIC_SWITCH_USER_HOME/.hushlogin || touch $GENERIC_SWITCH_USER_HOME/.hushlogin"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"function configure_for_dlm {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"a6f2e7a4_1dd2e251","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":100},"in_reply_to":"d148ce1b_a40f70d8","updated":"2026-02-02 14:14:35.000000000","message":"Also touch does not fail for existing files. Maybe it\u0027s a permissions issue?","commit_id":"b11e2efffca2fa1132668f6ad5e3d02147e476e8"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"eb5cfae1efebe051123f3c0c49f4db3629575235","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        echo \"#includedir /etc/sudoers.d\" | sudo tee -a /etc/sudoers"},{"line_number":56,"context_line":"    ( umask 226 \u0026\u0026 echo \"$GENERIC_SWITCH_USER ALL\u003d(ALL) NOPASSWD:ALL\" | sudo tee /etc/sudoers.d/99_ngs_ovs_manager )"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    # Hush the login banner for ovs user - Also ignore errors when touch fails"},{"line_number":59,"context_line":"    # because the file exists. :("},{"line_number":60,"context_line":"    test -f $GENERIC_SWITCH_USER_HOME/.hushlogin || touch $GENERIC_SWITCH_USER_HOME/.hushlogin"},{"line_number":61,"context_line":"}"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"2c3843f5_06548f34","line":59,"range":{"start_line":58,"start_character":43,"end_line":59,"end_character":33},"updated":"2026-02-02 17:28:38.000000000","message":"nit: The original version was ignoring errors, this one isn\u0027t.","commit_id":"7d94d567fa3e28a52e3ef9ad477c8665c53f4cac"}]}
