launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #30441
[Merge] ~cjwatson/launchpad:charm-ftpmaster-uploader-queue-permissions into launchpad:master
Colin Watson has proposed merging ~cjwatson/launchpad:charm-ftpmaster-uploader-queue-permissions into launchpad:master.
Commit message:
charm: Fix queue permissions in ftpmaster-uploader
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/450807
This syncs this charm up a bit more closely with `launchpad-ppa-uploader`. Previously, the queue directories were all owned by `root:root` so neither `txpkgupload` nor `process-queue` could do anything in them; in addition, the `launchpad` user needs to be a member of the `txpkgupload` group so that it can see uploaded files.
--
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/launchpad:charm-ftpmaster-uploader-queue-permissions into launchpad:master.
diff --git a/charm/launchpad-ftpmaster-uploader/reactive/launchpad-ftpmaster-uploader.py b/charm/launchpad-ftpmaster-uploader/reactive/launchpad-ftpmaster-uploader.py
index 7966a95..d29f96f 100644
--- a/charm/launchpad-ftpmaster-uploader/reactive/launchpad-ftpmaster-uploader.py
+++ b/charm/launchpad-ftpmaster-uploader/reactive/launchpad-ftpmaster-uploader.py
@@ -36,18 +36,20 @@ def configure_logrotate(config):
def configure():
hookenv.log("Configuring ftpmaster uploader")
config = get_service_config()
- config["ubuntu_queue_dir"] = os.path.join(base.base_dir(), "ubuntu-queue")
- host.mkdir(config["ubuntu_queue_dir"], perms=0o755)
- host.mkdir(
- os.path.join(config["ubuntu_queue_dir"], "incoming"), perms=0o755
- )
- host.mkdir(
- os.path.join(config["ubuntu_queue_dir"], "accepted"), perms=0o755
- )
+
+ # Create queue directories.
+ ubuntu_queue_dir = os.path.join(base.base_dir(), "ubuntu-queue")
host.mkdir(
- os.path.join(config["ubuntu_queue_dir"], "rejected"), perms=0o755
+ ubuntu_queue_dir, owner=base.user(), group=base.user(), perms=0o755
)
- host.mkdir(os.path.join(config["ubuntu_queue_dir"], "failed"), perms=0o755)
+ config["ubuntu_queue_dir"] = ubuntu_queue_dir
+ for queue in ("accepted", "failed", "rejected"):
+ host.mkdir(
+ os.path.join(ubuntu_queue_dir, queue),
+ owner=base.user(),
+ group=base.user(),
+ perms=0o755,
+ )
configure_lazr(
config,
@@ -64,10 +66,10 @@ def configure():
@when_not("service.txpkgupload-configured")
def configure_txpkgupload():
fsroot = os.path.join(base.base_dir(), "ubuntu-queue", "incoming")
+ host.mkdir(fsroot, owner=base.user(), group="txpkgupload", perms=0o775)
txpkgupload = endpoint_from_flag("upload-queue-processor.available")
- txpkgupload.set_config(
- fsroot=fsroot,
- )
+ txpkgupload.set_config(fsroot=fsroot)
+ host.add_user_to_group(base.user(), "txpkgupload")
set_flag("service.txpkgupload-configured")