Skip to content
This repository was archived by the owner on Mar 21, 2022. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions src/main/java/com/spotify/docker/client/DefaultDockerClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@
import com.spotify.docker.client.messages.NetworkCreation;
import com.spotify.docker.client.messages.ProgressMessage;
import com.spotify.docker.client.messages.RemovedImage;
import com.spotify.docker.client.messages.ServiceCreateOptions;
import com.spotify.docker.client.messages.ServiceCreateResponse;
import com.spotify.docker.client.messages.TopResults;
import com.spotify.docker.client.messages.Version;
Expand Down Expand Up @@ -1560,16 +1559,24 @@ public Swarm inspectSwarm() throws DockerException, InterruptedException {
return request(GET, Swarm.class, resource, resource.request(APPLICATION_JSON_TYPE));
}

@Override
public ServiceCreateResponse createService(ServiceSpec spec)
throws DockerException, InterruptedException {

return createService(spec, authConfig);
}

@Override
public ServiceCreateResponse createService(final ServiceSpec spec,
final ServiceCreateOptions options)
final AuthConfig config)
throws DockerException, InterruptedException {
assertAPIVersionIsAbove("1.24");
final WebTarget resource = resource().path("services").path("create");

try {
return request(POST, ServiceCreateResponse.class, resource,
resource.request(APPLICATION_JSON_TYPE), Entity.json(spec));
resource.request(APPLICATION_JSON_TYPE)
.header("X-Registry-Auth", authHeader(config)), Entity.json(spec));
} catch (DockerRequestException e) {
switch (e.status()) {
case 406:
Expand Down
16 changes: 13 additions & 3 deletions src/main/java/com/spotify/docker/client/DockerClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
import com.spotify.docker.client.messages.NetworkConfig;
import com.spotify.docker.client.messages.NetworkCreation;
import com.spotify.docker.client.messages.RemovedImage;
import com.spotify.docker.client.messages.ServiceCreateOptions;
import com.spotify.docker.client.messages.ServiceCreateResponse;
import com.spotify.docker.client.messages.TopResults;
import com.spotify.docker.client.messages.Version;
Expand Down Expand Up @@ -1227,12 +1226,23 @@ LogStream execStart(String execId, ExecStartParameter... params)
* Create a new service. Only available in Docker API >= 1.24.
*
* @param spec the service spec
* @param options the service creation parameters
* @return Service creation result with service id.
* @throws DockerException if a server error occurred (500)
* @throws InterruptedException If the thread is interrupted
*/
ServiceCreateResponse createService(ServiceSpec spec, ServiceCreateOptions options)
ServiceCreateResponse createService(ServiceSpec spec)
throws DockerException, InterruptedException;

/**
* Create a new service. Only available in Docker API >= 1.24.
*
* @param spec the service spec
* @param config the registry authentication configuration
* @return Service creation result with service id.
* @throws DockerException if a server error occurred (500)
* @throws InterruptedException If the thread is interrupted
*/
ServiceCreateResponse createService(ServiceSpec spec, AuthConfig authConfig)
throws DockerException, InterruptedException;

/**
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@
import com.spotify.docker.client.messages.ProcessConfig;
import com.spotify.docker.client.messages.ProgressMessage;
import com.spotify.docker.client.messages.RemovedImage;
import com.spotify.docker.client.messages.ServiceCreateOptions;
import com.spotify.docker.client.messages.ServiceCreateResponse;
import com.spotify.docker.client.messages.TopResults;
import com.spotify.docker.client.messages.Version;
Expand Down Expand Up @@ -3395,7 +3394,7 @@ public void testCreateServiceWithNetwork() throws Exception {
.withNetworks(NetworkAttachmentConfig.builder().withTarget(networkName).build())
.build();

final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
assertThat(response.id(), is(notNullValue()));

final Service inspectService = sut.inspectService(serviceName);
Expand All @@ -3419,7 +3418,7 @@ public void testCreateService() throws Exception {

final ServiceSpec spec = createServiceSpec(randomName());

final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
assertThat(response.id(), is(notNullValue()));
}

Expand Down Expand Up @@ -3455,7 +3454,7 @@ public void testInspectService() throws Exception {
.withEndpointSpec(endpointSpec)
.build();

final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);

final Service service = sut.inspectService(response.id());

Expand All @@ -3470,7 +3469,7 @@ public void testUpdateService() throws Exception {
requireDockerApiVersionAtLeast("1.24", "swarm support");
final ServiceSpec spec = createServiceSpec(randomName());

final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
assertThat(response.id(), is(notNullValue()));

Service service = sut.inspectService(response.id());
Expand All @@ -3497,7 +3496,7 @@ public void testListServices() throws Exception {

final ServiceSpec spec = createServiceSpec(randomName());

sut.createService(spec, new ServiceCreateOptions());
sut.createService(spec);

services = sut.listServices();
assertThat(services.size(), is(1));
Expand All @@ -3507,7 +3506,7 @@ public void testListServices() throws Exception {
public void testListServicesFilterById() throws Exception {
requireDockerApiVersionAtLeast("1.24", "swarm support");
final ServiceSpec spec = createServiceSpec(randomName());
final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);

final List<Service> services = sut
.listServices(Service.find().withServiceId(response.id()).build());
Expand All @@ -3520,7 +3519,7 @@ public void testListServicesFilterByName() throws Exception {
requireDockerApiVersionAtLeast("1.24", "swarm support");
final String serviceName = randomName();
final ServiceSpec spec = createServiceSpec(serviceName);
sut.createService(spec, new ServiceCreateOptions());
sut.createService(spec);

final List<Service> services =
sut.listServices(Service.find().withServiceName(serviceName).build());
Expand All @@ -3533,7 +3532,7 @@ public void testRemoveService() throws Exception {
requireDockerApiVersionAtLeast("1.24", "swarm support");

final ServiceSpec spec = createServiceSpec(randomName());
final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
assertThat(sut.listServices(), is(not(empty())));
sut.removeService(response.id());
assertThat(sut.listServices(), is(empty()));
Expand All @@ -3545,7 +3544,7 @@ public void testInspectTask() throws Exception {

final ServiceSpec spec = createServiceSpec(randomName());
assertThat(sut.listTasks().size(), is(0));
final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
Thread.sleep(2000); // to give it a while to spin containers
final Task task = sut.listTasks().get(0);
final Task inspectTask = sut.inspectTask(task.id());
Expand All @@ -3558,7 +3557,7 @@ public void testListTasks() throws Exception {

final ServiceSpec spec = createServiceSpec(randomName());
assertThat(sut.listTasks().size(), is(0));
final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
Thread.sleep(2000); // to give it a while to spin containers
assertThat(sut.listTasks().size(), is(4));
}
Expand All @@ -3569,7 +3568,7 @@ public void testListTaskWithCriteria() throws Exception {

final ServiceSpec spec = createServiceSpec(randomName());
assertThat(sut.listTasks().size(), is(0));
final ServiceCreateResponse response = sut.createService(spec, new ServiceCreateOptions());
final ServiceCreateResponse response = sut.createService(spec);
Thread.sleep(2000); // to give it a while to spin containers

final Task task = sut.listTasks().get(1);
Expand Down