{"action":"created","issue":{"url":"https://api.github.com/repos/rackerlabs/auter/issues/179","repository_url":"https://api.github.com/repos/rackerlabs/auter","labels_url":"https://api.github.com/repos/rackerlabs/auter/issues/179/labels{/name}","comments_url":"https://api.github.com/repos/rackerlabs/auter/issues/179/comments","events_url":"https://api.github.com/repos/rackerlabs/auter/issues/179/events","html_url":"https://github.com/rackerlabs/auter/issues/179","id":340645001,"node_id":"MDU6SXNzdWUzNDA2NDUwMDE=","number":179,"title":"Release 0.12 - Testing required: Ubuntu 18.04","user":{"login":"reaperzn","id":5222774,"node_id":"MDQ6VXNlcjUyMjI3NzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5222774?v=4","gravatar_id":"","url":"https://api.github.com/users/reaperzn","html_url":"https://github.com/reaperzn","followers_url":"https://api.github.com/users/reaperzn/followers","following_url":"https://api.github.com/users/reaperzn/following{/other_user}","gists_url":"https://api.github.com/users/reaperzn/gists{/gist_id}","starred_url":"https://api.github.com/users/reaperzn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reaperzn/subscriptions","organizations_url":"https://api.github.com/users/reaperzn/orgs","repos_url":"https://api.github.com/users/reaperzn/repos","events_url":"https://api.github.com/users/reaperzn/events{/privacy}","received_events_url":"https://api.github.com/users/reaperzn/received_events","type":"User","site_admin":false},"labels":[{"id":991809578,"node_id":"MDU6TGFiZWw5OTE4MDk1Nzg=","url":"https://api.github.com/repos/rackerlabs/auter/labels/Release%20Testing","name":"Release Testing","color":"ffe8a0","default":false}],"state":"closed","locked":false,"assignee":{"login":"LukeHandle","id":799079,"node_id":"MDQ6VXNlcjc5OTA3OQ==","avatar_url":"https://avatars3.githubusercontent.com/u/799079?v=4","gravatar_id":"","url":"https://api.github.com/users/LukeHandle","html_url":"https://github.com/LukeHandle","followers_url":"https://api.github.com/users/LukeHandle/followers","following_url":"https://api.github.com/users/LukeHandle/following{/other_user}","gists_url":"https://api.github.com/users/LukeHandle/gists{/gist_id}","starred_url":"https://api.github.com/users/LukeHandle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukeHandle/subscriptions","organizations_url":"https://api.github.com/users/LukeHandle/orgs","repos_url":"https://api.github.com/users/LukeHandle/repos","events_url":"https://api.github.com/users/LukeHandle/events{/privacy}","received_events_url":"https://api.github.com/users/LukeHandle/received_events","type":"User","site_admin":false},"assignees":[{"login":"LukeHandle","id":799079,"node_id":"MDQ6VXNlcjc5OTA3OQ==","avatar_url":"https://avatars3.githubusercontent.com/u/799079?v=4","gravatar_id":"","url":"https://api.github.com/users/LukeHandle","html_url":"https://github.com/LukeHandle","followers_url":"https://api.github.com/users/LukeHandle/followers","following_url":"https://api.github.com/users/LukeHandle/following{/other_user}","gists_url":"https://api.github.com/users/LukeHandle/gists{/gist_id}","starred_url":"https://api.github.com/users/LukeHandle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukeHandle/subscriptions","organizations_url":"https://api.github.com/users/LukeHandle/orgs","repos_url":"https://api.github.com/users/LukeHandle/repos","events_url":"https://api.github.com/users/LukeHandle/events{/privacy}","received_events_url":"https://api.github.com/users/LukeHandle/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/rackerlabs/auter/milestones/1","html_url":"https://github.com/rackerlabs/auter/milestone/1","labels_url":"https://api.github.com/repos/rackerlabs/auter/milestones/1/labels","id":3491403,"node_id":"MDk6TWlsZXN0b25lMzQ5MTQwMw==","number":1,"title":"0.12 Release","description":"","creator":{"login":"reaperzn","id":5222774,"node_id":"MDQ6VXNlcjUyMjI3NzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/5222774?v=4","gravatar_id":"","url":"https://api.github.com/users/reaperzn","html_url":"https://github.com/reaperzn","followers_url":"https://api.github.com/users/reaperzn/followers","following_url":"https://api.github.com/users/reaperzn/following{/other_user}","gists_url":"https://api.github.com/users/reaperzn/gists{/gist_id}","starred_url":"https://api.github.com/users/reaperzn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/reaperzn/subscriptions","organizations_url":"https://api.github.com/users/reaperzn/orgs","repos_url":"https://api.github.com/users/reaperzn/repos","events_url":"https://api.github.com/users/reaperzn/events{/privacy}","received_events_url":"https://api.github.com/users/reaperzn/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":8,"state":"open","created_at":"2018-07-12T13:43:15Z","updated_at":"2018-08-02T18:49:30Z","due_on":"2018-07-27T07:00:00Z","closed_at":null},"comments":1,"created_at":"2018-07-12T13:46:03Z","updated_at":"2018-08-02T18:49:30Z","closed_at":"2018-08-02T18:49:30Z","author_association":"MEMBER","body":"This issue has been raised as part of the release process for Version 0.12\r\n\r\nPlease could auter be fully tested on the OS mentioned in the title of this issue. \r\n\r\n# Notes:\r\n - Please assign yourself to the issue **ONLY IF** you are actively working on it\r\n - Please ensure you are testing the code from the **v0.12 branch** of this repo\r\n - Follow the testing guide from https://github.com/rackerlabs/auter/blob/develop/HACKING.md\r\n - Any problems should be documented in this issue\r\n - If there are changes required, after the issue has been validated, a new issue should be raised and linked referenced in this issue\r\n"},"comment":{"url":"https://api.github.com/repos/rackerlabs/auter/issues/comments/410030186","html_url":"https://github.com/rackerlabs/auter/issues/179#issuecomment-410030186","issue_url":"https://api.github.com/repos/rackerlabs/auter/issues/179","id":410030186,"node_id":"MDEyOklzc3VlQ29tbWVudDQxMDAzMDE4Ng==","user":{"login":"LukeHandle","id":799079,"node_id":"MDQ6VXNlcjc5OTA3OQ==","avatar_url":"https://avatars3.githubusercontent.com/u/799079?v=4","gravatar_id":"","url":"https://api.github.com/users/LukeHandle","html_url":"https://github.com/LukeHandle","followers_url":"https://api.github.com/users/LukeHandle/followers","following_url":"https://api.github.com/users/LukeHandle/following{/other_user}","gists_url":"https://api.github.com/users/LukeHandle/gists{/gist_id}","starred_url":"https://api.github.com/users/LukeHandle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LukeHandle/subscriptions","organizations_url":"https://api.github.com/users/LukeHandle/orgs","repos_url":"https://api.github.com/users/LukeHandle/repos","events_url":"https://api.github.com/users/LukeHandle/events{/privacy}","received_events_url":"https://api.github.com/users/LukeHandle/received_events","type":"User","site_admin":false},"created_at":"2018-08-02T18:49:30Z","updated_at":"2018-08-02T18:49:30Z","author_association":"COLLABORATOR","body":"\r\n\r\n# Test 3: Updates via cron - default config with `--stdout` option [ PASS ]\r\n### Config settings\r\n1) `egrep -v \"^$|^#\" /etc/auter/auter.conf`\r\n```\r\nroot@ubuntu18:# egrep -v \"^$|^#\" /etc/auter/auter.conf\r\nCONFIGSET=\"default\"\r\nAUTOREBOOT=\"no\"\r\nPACKAGEMANAGEROPTIONS=\"\"\r\nPREDOWNLOADUPDATES=\"yes\"\r\nONLYINSTALLFROMPREP=\"no\"\r\nMAXDELAY=\"3600\"\r\nPACKAGEMANAGERLOCKWAITTIME=\"60\"\r\nPACKAGEMANAGERLOCKRETRIES=\"5\"\r\nPREPREPSCRIPTDIR=\"/etc/auter/pre-prep.d\"\r\nPOSTPREPSCRIPTDIR=\"/etc/auter/post-prep.d\"\r\nPREAPPLYSCRIPTDIR=\"/etc/auter/pre-apply.d\"\r\nPOSTAPPLYSCRIPTDIR=\"/etc/auter/post-apply.d\"\r\nPREREBOOTSCRIPTDIR=\"/etc/auter/pre-reboot.d\"\r\nPOSTREBOOTSCRIPTDIR=\"/etc/auter/post-reboot.d\"\r\n```\r\n2) Prepare custom scripts: Execute:\r\n```\r\n    echo 'logger custom pre prep script ran' > /etc/auter/pre-prep.d/pre_prep_script\r\n    echo 'logger custom post prep script ran' > /etc/auter/post-prep.d/post_prep_script\r\n    echo 'logger custom pre apply script ran' > /etc/auter/pre-apply.d/pre_apply_script\r\n    echo 'logger custom post apply script ran' > /etc/auter/post-apply.d/pre_apply_script\r\n    echo 'logger custom pre reboot script ran' > /etc/auter/pre-reboot.d/pre_reboot_script\r\n    echo 'logger custom post reboot script ran' > /etc/auter/post-reboot.d/post_reboot_script\r\n    chmod +x /etc/auter/*.d/*script\r\n```\r\n3) Adjust the MAXDELAY value to avoid extented sleep times\r\n```\r\nroot@ubuntu18:# sed -i 's/MAXDELAY.*$/MAXDELAY=\"60\"/g' /etc/auter/auter.conf\r\n```\r\n4) Schedule a cron job for prep to run in 5 minutes and watch the logs:\r\n```\r\n    echo \"$(date --date=\"5 minutes\" +%_M\" \"%_H\" \"%d\" \"%_m\" *\") root $(which auter) --prep --stdout\" > /etc/cron.d/auter-prep\r\n```\r\n\r\nAfter auter has completed the prep:\r\n- __[ pass ]__ Expected logs:\r\n```\r\n        auter: INFO: Running with: /usr/bin/auter --prep --stdout\r\n        auter: INFO: Running Pre-Prep script /etc/auter/pre-prep.d/pre_prep_script\r\n        root: custom pre prep script ran\r\n        auter: INFO: Updates downloaded\r\n        auter: INFO: Running Post-Prep script /etc/auter/post-prep.d/post_prep_scrip\r\n        root: custom post prep script ran\r\n```\r\n- __[ pass ]__ **_/var/lib/auter/last-prep-output-default_** contains yum download-only output\r\n```\r\nroot@ubuntu18:# tail -n 2 /var/lib/auter/last-prep-output-default\r\nFetched 34.3 MB in 2s (15.7 MB/s)\r\nDownload complete and in download only mode\r\n```\r\n- __[ pass ]__ updates downloaded to **_/var/cache/yum/…_**\r\n```\r\nroot@ubuntu18:# ls -al /var/cache/apt/archives/ | wc -l\r\n170\r\n```\r\n- __[ pass ]__ pre/post prep scripts ran successfully with messages logged to syslog\r\n- __[ pass ]__ mail sent to root user with stdout output from auter. Debian will log stdout to syslog rather than mail\r\n    Output from logs:\r\n```\r\nroot@ubuntu18:# tail -n0 -f /var/log/syslog\r\nAug  2 12:57:01 ubuntu18 CRON[23184]: (root) CMD (/usr/sbin/auter --prep --stdout)\r\nAug  2 12:57:01 ubuntu18 auter: INFO: Running with: /usr/sbin/auter --prep --stdout\r\nAug  2 12:57:01 ubuntu18 auter: INFO: Running Pre-Prep script /etc/auter/pre-prep.d/pre_prep_script\r\nAug  2 12:57:01 ubuntu18 root: custom pre prep script ran\r\nAug  2 12:57:51 ubuntu18 auter: INFO: Updates downloaded\r\nAug  2 12:57:51 ubuntu18 auter: INFO: Running Post-Prep script /etc/auter/post-prep.d/post_prep_script\r\nAug  2 12:57:51 ubuntu18 root: custom post prep script ran\r\nAug  2 12:57:51 ubuntu18 CRON[23183]: (CRON) info (No MTA installed, discarding output)\r\n```\r\n5) Schedule a cron job for apply to run in 5 minutes and watch the logs:\r\n```\r\n    echo \"$(date --date=\"5 minutes\" +%_M\" \"%_H\" \"%d\" \"%_m\" *\") root $(which auter) --apply --stdout\" > /etc/cron.d/auter-apply\r\n    tail -n0 -f /var/log/messages\r\n```\r\n\r\n    After auter has completed the apply:\r\n- __[ pass ]__ Expected logs:\r\n\r\n```\r\n        auter: INFO: Running with: /usr/bin/auter --apply --stdout\r\n        auter: INFO: Running Pre-Apply script /etc/auter/pre-apply.d/pre_apply_script\r\n        root: custom pre apply script ran\r\n        auter: INFO: Applying updates\r\n        auter: INFO: Running Post-Apply script /etc/auter/post-apply.d/pre_apply_script\r\n        root: custom post apply script ran\r\n        auter: INFO: Updates complete (yum Transaction ID : 86). You may need to reboot for some updates to take effect\r\n        auter: INFO: Auter successfully ran at 2018-07-18T14:59:24+0000\r\n```\r\n\r\n- __[ pass ]__ no updates available after running\r\n- __[ pass ]__ pre/post scripts ran successfully with messages logged to syslog\r\n- __[ pass ]__ mail sent to root user with stdout output from auter. Debian will log stdout to syslog rather than mail\r\n    Output from logs:\r\n\r\n```\r\nAug  2 18:05:01 ubuntu18 CRON[300]: (root) CMD (/usr/sbin/auter --apply --stdout)\r\nAug  2 18:05:01 ubuntu18 auter: INFO: Running with: /usr/sbin/auter --apply --stdout\r\nAug  2 18:05:02 ubuntu18 auter: INFO: Running Pre-Apply script /etc/auter/pre-apply.d/pre_apply_script\r\nAug  2 18:05:02 ubuntu18 root: custom pre apply script ran\r\nAug  2 18:05:33 ubuntu18 auter: INFO: Applying updates\r\n[...]\r\nAug  2 18:06:24 ubuntu18 auter: INFO: Updates complete. You may need to reboot for some updates to take effect\r\nAug  2 18:06:24 ubuntu18 auter: INFO: Auter successfully ran at 2018-08-02T18:06:24+00:00\r\nAug  2 18:06:24 ubuntu18 auter: INFO: Running Post-Apply script /etc/auter/post-apply.d/pre_apply_script\r\nAug  2 18:06:24 ubuntu18 root: custom post apply script ran\r\nAug  2 18:06:24 ubuntu18 CRON[32767]: (CRON) info (No MTA installed, discarding output)\r\n```\r\n\r\n6) Schedule a cron job to run auter --reboot in 5 minutes and watch the logs:\r\n\r\n```\r\n    echo \"$(date --date=\"5 minutes\" +%_M\" \"%_H\" \"%d\" \"%_m\" *\") root $(which auter) --reboot --stdout\" > /etc/cron.d/auter-reboot\r\n    tail -n0 -f /var/log/messages\r\n```\r\n\r\n- __[ pass ]__ Expected logs:\r\n\r\n```\r\n        INFO: Running with: /usr/bin/auter --reboot --stdout\r\n        INFO: Running Pre-Reboot script /etc/auter/pre-reboot.d/98-configsnap-pre-reboot\r\n        INFO: Running Pre-Reboot script /etc/auter/pre-reboot.d/pre_reboot_script\r\n        custom pre reboot script ran\r\n        INFO: Adding post-reboot-hook to run scripts under /etc/auter/post-reboot.d to /etc/cron.d/auter-postreboot-default\r\n        INFO: Rebooting server\r\n```\r\n\r\n- __[ pass ]__ pre-reboot scripts ran successfully\r\n- __[ pass ]__ Wall message is printed\r\n- __[ pass ]__ mail sent to root user with stdout output from auter. Debian will log stdout to syslog rather than mail\r\n- __[ pass ]__ Server reboots\r\n    Output from logs:\r\n\r\n```\r\nroot@ubuntu18:# tail -n0 -f /var/log/syslog\r\nAug  2 18:12:01 ubuntu18 CRON[11760]: (root) CMD (/usr/sbin/auter --reboot --stdout)\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Running with: /usr/sbin/auter --reboot --stdout\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Running Pre-Reboot script /etc/auter/pre-reboot.d/pre_reboot_script\r\nAug  2 18:12:01 ubuntu18 root: custom pre reboot script ran\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Adding post-reboot-hook to run scripts under /etc/auter/post-reboot.d to /etc/cron.d/auter-postreboot-default\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Rebooting server\r\nAug  2 18:12:01 ubuntu18 CRON[11759]: (CRON) info (No MTA installed, discarding output)\r\n\r\nBroadcast message from root@ubuntu18 (Thu 2018-08-02 18:12:01 UTC):\r\n\r\nauter: System reboot to apply updates\r\nThe system is going down for reboot at Thu 2018-08-02 18:14:01 UTC!\r\n\r\n\r\nBroadcast message from root@ubuntu18 (Thu 2018-08-02 18:13:01 UTC):\r\n\r\nauter: System reboot to apply updates\r\nThe system is going down for reboot at Thu 2018-08-02 18:14:01 UTC!\r\n```\r\n\r\n7) After the server has booted, it may take up to 2 minutes for auter logs to appear. watch the logs:\r\n\r\n```\r\n    egrep \"auter:|custom\" /var/log/messages | awk '/auter --reboot/,0'\r\n```\r\n\r\n- __[ pass ]__ Expected logs:\r\n\r\n```\r\n        auter: INFO: Running with: /usr/bin/auter --reboot --stdout\r\n        auter: INFO: Running Pre-Reboot script /etc/auter/pre-reboot.d/pre_reboot_script\r\n        root: custom pre reboot script ran\r\n        auter: INFO: Adding post-reboot-hook to run scripts under /etc/auter/post-reboot.d to /etc/cron.d/auter-postreboot-default\r\n        auter: INFO: Rebooting server\r\n        auter: INFO: Running with: /usr/bin/auter --postreboot --config /etc/auter/auter.conf\r\n        auter: INFO: Removed post-reboot hook: /etc/cron.d/auter-postreboot-default\r\n        auter: INFO: Running Post-Reboot script /etc/auter/post-reboot.d/post_reboot_script\r\n        root: custom post reboot script ran\r\n```\r\n\r\n- __[ pass ]__ post-reboot scripts ran successfully\r\n- __[ pass ]__  output from auter also mailed to the root user on CentOS, output logged to syslog on Fedora\r\n    Output from logs:\r\n\r\n```\r\n    root@ubuntu18:# egrep \"auter:|custom\" /var/log/syslog | awk '/auter --reboot/,0'\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Running with: /usr/sbin/auter --reboot --stdout\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Running Pre-Reboot script /etc/auter/pre-reboot.d/pre_reboot_script\r\nAug  2 18:12:01 ubuntu18 root: custom pre reboot script ran\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Adding post-reboot-hook to run scripts under /etc/auter/post-reboot.d to /etc/cron.d/auter-postreboot-default\r\nAug  2 18:12:01 ubuntu18 auter: INFO: Rebooting server\r\nAug  2 18:14:52 ubuntu18 auter: INFO: Running with: /usr/sbin/auter --postreboot --config /etc/auter/auter.conf\r\nAug  2 18:14:52 ubuntu18 auter: INFO: Removed post-reboot hook: /etc/cron.d/auter-postreboot-default\r\nAug  2 18:19:39 ubuntu18 auter: INFO: Running Post-Reboot script /etc/auter/post-reboot.d/post_reboot_script\r\nAug  2 18:19:39 ubuntu18 root: custom post reboot script ran\r\n```"}}
{"actor":{"display_login":"LukeHandle"}}