diff options
Diffstat (limited to 'config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java')
-rw-r--r-- | config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java b/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java index 2a1528f5368..1eb2c1e61b2 100644 --- a/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java +++ b/config-provisioning/src/main/java/com/yahoo/config/provision/Provisioner.java @@ -31,17 +31,36 @@ public interface Provisioner { * @param application The {@link ApplicationId} that was activated. * @param hosts a set of {@link HostSpec}. */ + // TODO(mpolden): Remove void activate(NestedTransaction transaction, ApplicationId application, Collection<HostSpec> hosts); /** + * Activates the allocation of nodes to this application captured in the hosts argument. + * + * @param transaction Transaction with operations to commit together with any operations done within the provisioner. + * @param hosts a set of {@link HostSpec}. + * @param lock A provision lock for the relevant application. This must be held when calling this. + */ + void activate(NestedTransaction transaction, Collection<HostSpec> hosts, ProvisionLock lock); + + /** * Transactionally remove this application. * * @param transaction Transaction with operations to commit together with any operations done within the provisioner. * @param application the application to remove */ + // TODO(mpolden): Remove void remove(NestedTransaction transaction, ApplicationId application); /** + * Transactionally remove application guarded by given lock. + * + * @param transaction Transaction with operations to commit together with any operations done within the provisioner. + * @param lock A provision lock for the relevant application. This must be held when calling this. + */ + void remove(NestedTransaction transaction, ProvisionLock lock); + + /** * Requests a restart of the services of the given application * * @param application the application to restart @@ -49,4 +68,7 @@ public interface Provisioner { */ void restart(ApplicationId application, HostFilter filter); + /** Returns a provision lock for the given application */ + ProvisionLock lock(ApplicationId application); + } |