)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"1ff25385f67c1b643801f58837b9495b7f47cb97","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Rob Tongue \u003cphunyguy@neverserio.us\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-07-08 20:32:54 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding a feature to enable services in the post-install phase.  This is good for Gentoo only currently, with systemd service units and openrc services in the default runlevel."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib3ff817288863e641fa15a70f30a558b099adb59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5ad62524_a21d8cc7","line":7,"updated":"2022-07-09 16:32:37.000000000","message":"The commit message should have a short description, then an empty line, then some more verbose text.\n\nSee for example https://cbea.ms/git-commit/","commit_id":"cccbd90d5c7ca417971b5774b8fd4d359ff2b499"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"a9f224eca211924ea98c728bc595838be8914417","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rob Tongue \u003cphunyguy@neverserio.us\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-07-08 20:32:54 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding a feature to enable services in the post-install phase.  This is good for Gentoo only currently, with systemd service units and openrc services in the default runlevel."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib3ff817288863e641fa15a70f30a558b099adb59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9d2cb056_0749b03a","line":7,"in_reply_to":"5ad62524_a21d8cc7","updated":"2022-07-10 15:26:46.000000000","message":"I have made the requested changes.  New to development with git, lesson learned, thanks for that. This is my first commit to any sort of public project like this.","commit_id":"cccbd90d5c7ca417971b5774b8fd4d359ff2b499"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"1ff25385f67c1b643801f58837b9495b7f47cb97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c30408b7_e9640b95","updated":"2022-07-09 16:32:37.000000000","message":"The patch itself looks good to me, the remaining CI failures seem unrelated, so you don\u0027t have to do anything on them, just wait and hope they\u0027ll get fixed soon.\n\nBut please update the commit message.","commit_id":"cccbd90d5c7ca417971b5774b8fd4d359ff2b499"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"d2304fdd3e472cc81146661f16c50d379d718334","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5a77e973_5436cd85","updated":"2022-11-16 02:01:12.000000000","message":"Another example would be gentoo+systemd.  systemd-networkd, systemd-resolved, systemd-timesyncd, etc, all of those are disabled by default on a fresh gentoo install. This element was originally to be used for the purpose of enabling those services in a newly built image. My thought process was: since this is so simple to create, and could be used for many other things as an enhancement, I would include the ability to call a list of services in case someone else found it useful.  I don\u0027t know of any other way other than an environment variable to make that happen.  \n\nAgain, open to suggestions. I get you don\u0027t want to add \"yet another variable\" but keep in mind, the variable is not required if you don\u0027t need the element.  It\u0027s not going to arbitrarily clutter up everyone\u0027s config.  It\u0027s a small element, with a single variable that some people will use, others can ignore if they don\u0027t need it.   \n\nI also already mentioned not all packages enable a service by default, such as qemu-guest-agent, even on ubuntu/debian.  For at least my use case, I need that service running on first boot, so I can pull back the IP assigned to the VM from the hypervisor.  Rather than creating a single-use element for qemu-guest-agent, I assumed a better use of my time was to create something that would fit more than just this purpose, while still solving my problem.  \n\nSo, package-installs exists, which requires a global variable to provide a list. It\u0027s literally the same design concept as this element.  Why is this any different?  If you want me to expand the functionality, sure. I don\u0027t mind doing that, but you need to at least let me get my foot in the door first before I commit to something like this only to have the door slammed in my face when I try again.\n\nThank you for your time.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"c60c5fc4ccdd6ccc9088788af6948e6f745d2f3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"80281631_ca29e4ac","updated":"2022-07-25 01:07:22.000000000","message":"I\u0027m wondering if this is a little bit too specific for an element.  We have lots of systemctl enable/disable calls in existing elements not wrapped.  This only supports one distro and it\u0027s not clear anyone is interested in expanding it, and how useful that would be.  It\u0027s \"yet another environment variable\".  I\u0027d probably point people at writing their own element for final image customisation for this level of thing.  Is there a bigger picture here?","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"839e0888a99232d81c317236265a2ec568e34350","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dcaa3291_c0bfc79d","updated":"2022-07-12 02:06:01.000000000","message":"Not sure what I am supposed to do here.  It says assigned to me, so trying this to get it moved along. ","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"1d5dacdf1f18771b03f2adc257b243db4b0943ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c3237864_5adfa813","updated":"2022-09-17 00:51:46.000000000","message":"Please approve this code.  It will be really useful for distros like gentoo where packages installed don\u0027t enable the corresponding service at installation time. In some cases this is a necessary function to getting a cloud image working. For example: qemu-guest-agent which would be used to pull the IP of the new VM, to proceed with next steps such as ansible or the like. ","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"cdc29d68b06b317288961866eaeddb255465108e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"af082378_4502bf2e","updated":"2022-07-12 05:55:24.000000000","message":"This patch is fine, there is nothing you need to do about it, just wait for the CI failures to be fixed, which is being worked upon in https://review.opendev.org/c/openstack/diskimage-builder/+/849269 . Once that fix is merged, this patch will follow.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7307a68d8f869fa9e8803699e114aa5865712ddd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"883a507e_69580f71","updated":"2022-07-12 17:09:53.000000000","message":"recheck ci fixed","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"fce760e5e793657326fe608b020eadff72e80180","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f0fb7bb1_74b6401d","in_reply_to":"26a9cb01_dbc65a5d","updated":"2022-11-11 05:37:57.000000000","message":"I don\u0027t think it belongs in package-installs.  That\u0027s just for installing a package.  If an element wants to enable a service after installing the package -- well that\u0027s just a runfile in the element like anything else.\n\nI\u0027m thinking it\u0027s better to do\n\n $ disk-image-create ... \u003celement-that-installs-package-and-enables-service\u003e\n \nRather than\n\n $ DIB_ENABLE_SERVICES\u003dfoo disk-image-create ... \u003cxxx\u003e\n \nbecause enabling a service isn\u0027t a DIB wide global-variable thing.  It\u0027s related to the element that is installing your service.\n\nMaybe you can show me how it will be actually used in code in a follow-on change?  Because I don\u0027t understand why this would be a global variable.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"b2f19377de8dbeaef24f710f2f7052ac3dba354d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f3ae311e_310a1b4d","in_reply_to":"3a7893f2_99186c44","updated":"2022-11-17 01:48:03.000000000","message":"Ok, so that makes some sense, and that would end up looking something like\n\n $ DIB_ENABLE_SERVICES\u003dsystemd-blah disk-image-create -p systemd-blah vm gentoo enable-services\n\n\u003e That doesn\u0027t help me with the systemd services that preexist on a new image that aren\u0027t enabled.\n\nI\u0027m guessing what\u0027s happening here is that you\u0027re using the gentoo element with something like GENTOO_PROFILE\u003d\u003csomething that installs a lot of systemd things\u003e ?\n\nI\u0027d probably say the most appropriate thing is to drop a gentoo/post-install.d/XX-systemd-enable script that does something like\n\n if [[ ${GENTOO_PROFILE} \u003d~ \u0027systemd\u0027 ]]; then\n   ... enable sensible set of services ...\n   ... have some set of GENTOO_ namespaced flags if really necessary ...\n   ... basically do whatever you want as long as it\u0027s sensibly documented ...\n fi\n \nISTM this makes the gentoo element more generically useful.\n\nIf you *really* wanted maybe something like the modprobe element could be used.  With that, you can drop a file in an element, and that walks all currently included elements looking for a file that specifies what modules to load ... see modprobe/extra-data.d/50-modprobe-blacklist\n\nIt would be something similar where you\u0027d have a \"services-enabled\" file in the element, and then that element would enable those services.  *But*, if dropping this file is only going to work for a single combination of Gentoo+systemd, that doesn\u0027t feel compelling TBH.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"ac6675ca69ce9ec724e28c750a6cc391985656a1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"adbcc5cc_a73aeba1","in_reply_to":"581e320b_cf95c2ce","updated":"2022-09-21 22:22:56.000000000","message":"I hear what you are saying, and I get it.  I do have to counter with one thing though, and that is the \"package-installs\" element, which can be used to install packages that do not have a special element.  Currently this enable-services element is the _only_ way to get a service to start at boot on a created image if the package manager doesn\u0027t do it, and an element doesn\u0027t exist for it.  I wrote this element for a reason, and I wouldn\u0027t have gone through the trouble of doing it if I didn\u0027t feel like it was something that was needed.\n\nIf it prevents some folks from needing to write their own custom elements to solve something this basic, I think it\u0027s a win, even if you don\u0027t.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"d9f7c6186196cc62a5be299474d73e028654dd6f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f5635465_ba813931","in_reply_to":"5a77e973_5436cd85","updated":"2022-11-16 04:08:05.000000000","message":"\u003e So, package-installs exists, which requires a global variable to provide a list. It\u0027s literally the same design concept as this element.\n\npackage-installs uses a .json/.yaml file in the element directory to get a list of packages to install (https://opendev.org/openstack/diskimage-builder/raw/branch/master/diskimage_builder/elements/package-installs/README.rst).\n\nSo if you\u0027re including a package via this mechanism, you can just drop a post-install.d script in that element to enable the service?  \n\nI\u0027m not sure what global variable you are referring to?","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"e6632ed8c070cab50ad9e9f13057d44020bb786d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"26a9cb01_dbc65a5d","in_reply_to":"7ae2ede0_f7bb22b1","updated":"2022-11-10 05:49:19.000000000","message":"Ian, please work with me on this.  The alternative would be to have package-installs do it, because not all distributions enable the newly installed service at package install time. Neither Arch nor Gentoo do this.  There is literally no other way to enable a needed service to be ready on first boot without this element on those distributions. If it needs to be in package-installs, as you said, because it\u0027s up to the element that installed the package, then maybe this can be moved there, but either way the additional variable will be needed, because not all package and service names match.  I\u0027m not sure what else you are looking for here. I am open to suggestions.  If you want me to take my ball and go home that\u0027s OK too.  I thought it would be a better idea to take what I have learned about this and make it easier for those that may prefer less-common distributions to use this excellent utility.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"356517aa8b893b4ac120340b9572a6a48e3afb73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fdba5487_e19ea17c","in_reply_to":"80281631_ca29e4ac","updated":"2022-08-07 00:02:50.000000000","message":"I wrote this element for a specific purpose, yes, mainly because cloud-init for gentoo sets up the network, but does not actually enable the rc/systemd service for said network.  I think you are correct that the service enable belongs in cloud-init, and I have been working with them on that, however with that said, there is another use case.  Gentoo, and things like Arch, don\u0027t typically enable services automatically when packages are installed.  qemu-guest-agent is an example of this, which is required in some cases if you want to pull back an IP of a freshly-booted image on a new VM on virtualization platforms that support it.  Otherwise you have no idea what IP it has.  I figured this could go along with the package install stuff to enable the packages\u0027 services after installation. Personally I felt others could benefit from it, and \"yet another environment variable\" doesn\u0027t seem like a problem to me, especially if it\u0027s only used by those that need it.  I get it though and it\u0027s ultimately your call.   I could also create an element for qemu-guest-agent, but I figured that would be more work in the long run, especially since the combination of package installation+enable-services elements would suffice for this, as well as other things.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"bd3ab08da6c6b4befa978b8a85b57834e7aaebfa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7ae2ede0_f7bb22b1","in_reply_to":"adbcc5cc_a73aeba1","updated":"2022-09-21 22:23:12.000000000","message":"Done","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"25844550bf75ab1ff081b5cf1f6a152e87debac3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"14b5d0ed_4eb40021","in_reply_to":"f0fb7bb1_74b6401d","updated":"2022-11-16 03:25:56.000000000","message":"Not sure why I am having such a hard time with this discussion technology.  Can\u0027t seem to turn the right buttons and knobs to properly reply to a comment and mark it as \"done\".","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"94d79213f684120631e48b7b324ec5a2efa57f7d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"86584943_63d4defa","in_reply_to":"f3ae311e_310a1b4d","updated":"2022-11-17 03:38:18.000000000","message":"I think I was led astray by someone involved in the gentoo element development, and what you are saying now suddenly makes a ton more sense to me.  I appreciate your patience with me on this. I think a bunch of the frustration also stems around the very poorly-supported gentoo portion of cloud-init, which is where the networking frustrations began, and it spiraled into this mess we see here. I am now going to turn my focus there, and try to see what mountains I can move in that space.  Thanks for your time.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":35065,"name":"Rob Tongue","email":"phunyguy@neverserio.us","username":"phunyguy"},"change_message_id":"7b79e3a6f58dd3371b95af6df01c87afc5da10cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3a7893f2_99186c44","in_reply_to":"f5635465_ba813931","updated":"2022-11-17 00:34:39.000000000","message":"Ahh, misremembered, had to go back and look at some of my own Jenkinsfiles, I was setting my own variable to stick on the end of the command, with \"-p package-name1 package-name2\".  Apologies there.  Fair enough.   \n\n\u003e So if you\u0027re including a package via this mechanism, you can just drop a post-install.d script in that element to enable the service?  \n\nThat doesn\u0027t help me with the systemd services that preexist on a new image that aren\u0027t enabled.  If there isn\u0027t a need to install packages, I\u0027d still need a different method to enable those.","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8af5886f0a86110a6aed29e56ff947fefed1b542","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"581e320b_cf95c2ce","in_reply_to":"fdba5487_e19ea17c","updated":"2022-09-20 20:21:16.000000000","message":"We have quite a few places that are doing \"systemctl enable\" services when they\u0027re not enabled by default by the package install.\n\nI feel like it\u0027s the role of the element that pulls in the package to enable it, if that\u0027s what the element wants to do.\n\nI\u0027m still unconvinced that having this as an external environment variable is a good direction to go for managing service starts (even if it did work for more than one distro).","commit_id":"74616fdfd7a1c921d21a3a28665457dbdef749ee"}]}
