Skip to content

Commit a1ec355

Browse files
committed
glance: add support to upload queued images
In order to support the upload of queued images a new method has been introduced. Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
1 parent 83709af commit a1ec355

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

glance-client/src/main/java/com/woorea/openstack/glance/ImagesResource.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ public Upload upload(ImageUpload image) {
5151
return new Upload(image);
5252
}
5353

54+
public Upload upload(String id, ImageUpload image) {
55+
return new Upload(id, image);
56+
}
57+
5458
public Download download(String id) {
5559
return new Download(id);
5660
}
@@ -122,6 +126,11 @@ public Image execute() {
122126

123127
public class Upload extends OpenStackRequest<Image> {
124128

129+
public Upload(String id, ImageUpload imageUpload) {
130+
super(CLIENT, HttpMethod.PUT, new StringBuilder("/images/").append(id).toString(),
131+
Entity.stream(imageUpload.getInputStream()), Image.class);
132+
}
133+
125134
public Upload(ImageUpload imageUpload) {
126135
super(CLIENT, HttpMethod.POST, "/images", Entity.stream(imageUpload.getInputStream()), Image.class);
127136

openstack-examples/src/main/java/com/woorea/openstack/examples/glance/GlanceListImages.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.woorea.openstack.examples.glance;
22

3+
import com.woorea.openstack.glance.model.ImageUpload;
34
import com.woorea.openstack.keystone.utils.KeystoneTokenProvider;
45

56
import com.woorea.openstack.examples.ExamplesConfiguration;
@@ -10,8 +11,12 @@
1011
import com.woorea.openstack.keystone.model.Access.Service;
1112
import com.woorea.openstack.keystone.model.Access.Service.Endpoint;
1213

14+
import java.io.ByteArrayInputStream;
15+
1316
public class GlanceListImages {
1417

18+
protected static String IMAGE_CONTENT = "Hello World!";
19+
1520
/**
1621
* @param args
1722
*/
@@ -48,6 +53,11 @@ public static void main(String[] args) {
4853
newImage.setName("os-java-glance-test");
4954
newImage = glance.images().create(newImage).execute();
5055

56+
// Uploading image
57+
ImageUpload uploadImage = new ImageUpload(newImage);
58+
uploadImage.setInputStream(new ByteArrayInputStream(IMAGE_CONTENT.getBytes()));
59+
glance.images().upload(newImage.getId(), uploadImage).execute();
60+
5161
Images images = glance.images().list(false).execute();
5262

5363
for (Image image : images) {

0 commit comments

Comments
 (0)