summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2021-10-18 14:40:58 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2021-10-19 09:07:23 +0200
commitf10e0ff6ea6f888797f45cb7685df69d89d56ffd (patch)
tree6e9bb56f38778b8ce8a265de54ce6ad4393a230f /node-admin
parent22b95d0a04cb70c24063a2964b0b8c5e5e5c04b5 (diff)
Add method to update user namespace ID offsets for migration
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/UserNamespace.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/UserNamespace.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/UserNamespace.java
index 46918013e3b..005452411bd 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/UserNamespace.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/nodeagent/UserNamespace.java
@@ -14,8 +14,8 @@ public class UserNamespace {
* https://github.com/torvalds/linux/blob/5bfc75d92efd494db37f5c4c173d3639d4772966/Documentation/admin-guide/sysctl/fs.rst#overflowgid--overflowuid */
private static final int OVERFLOW_ID = 65_534;
- private final int uidOffset;
- private final int gidOffset;
+ private volatile int uidOffset;
+ private volatile int gidOffset;
public UserNamespace(int uidOffset, int gidOffset) {
this.uidOffset = uidOffset;
@@ -30,6 +30,12 @@ public class UserNamespace {
public int idRange() { return ID_RANGE; }
public int overflowId() { return OVERFLOW_ID; }
+ // Remove after migration to mapped namespaces is complete, make fields final
+ public void setOffsets(int idOffset) {
+ this.uidOffset = idOffset;
+ this.gidOffset = idOffset;
+ }
+
private static int toHostId(int containerId, int idOffset) {
if (containerId < 0 || containerId > ID_RANGE)
throw new IllegalArgumentException("Invalid container id: " + containerId);