You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by Adrian Cole <no...@github.com> on 2014/10/29 00:54:30 UTC

[jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

This PR removes a lot of tech-debt and also an unnecessary dependency. Let&#39;s avoid baking in a crappy tar library that requires us to write temp files and instead help folks use what they like. 
You can merge this Pull Request by running:

  git pull https://github.com/adriancole/jclouds-labs adrian.docker-focus

Or you can view, comment on it, or merge it online at:

  https://github.com/jclouds/jclouds-labs/pull/106

-- Commit Summary --

  * Remove tar creation responsibility from docker, avoiding filesystem bias.

-- File Changes --

    M docker/pom.xml (11)
    D docker/src/main/java/org/jclouds/docker/binders/BindInputStreamToRequest.java (68)
    M docker/src/main/java/org/jclouds/docker/features/RemoteApi.java (16)
    D docker/src/main/java/org/jclouds/docker/features/internal/Archives.java (60)
    D docker/src/test/java/org/jclouds/docker/binders/BindInputStreamToRequestTest.java (67)
    M docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java (53)
    M docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java (30)
    M docker/src/test/java/org/jclouds/docker/features/RemoteApiMockTest.java (39)
    D docker/src/test/java/org/jclouds/docker/features/internal/ArchivesTest.java (112)

-- Patch Links --

https://github.com/jclouds/jclouds-labs/pull/106.patch
https://github.com/jclouds/jclouds-labs/pull/106.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Andrea Turli <no...@github.com>.
Nice! I didn't know that library, which is certainly better than apache-commons.

only concern is about jclouds » jclouds-labs #1821 UNSTABLE could your please re-start the builder?

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60969480

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #366](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/366/) SUCCESS
This pull request looks good

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60989397

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Adrian Cole <no...@github.com>.
>  
> +      return Payloads.newByteArrayPayload(bytes.toByteArray());

much nicer + no need to manually set content-length.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19565081

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #365](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/365/) SUCCESS
This pull request looks good

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60855083

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Adrian Cole <no...@github.com>.
> @@ -112,6 +107,13 @@
>          </exclusion>
>        </exclusions>
>      </dependency>
> +    <dependency>
> +      <groupId>org.jboss.shrinkwrap</groupId>
> +      <artifactId>shrinkwrap-depchain</artifactId>
> +      <version>1.2.2</version>
> +      <type>pom</type>
> +      <scope>test</scope>

note this is a test dep

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19513550

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1826](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1826/) SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60990864

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Adrian Cole <no...@github.com>.
cherry-picked into master

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60991667

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Ignasi Barrera <no...@github.com>.
+1!

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60968758

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1820](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1820/) SUCCESS
This pull request looks good
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60853879

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by BuildHive <no...@github.com>.
[jclouds » jclouds-labs #1821](https://buildhive.cloudbees.com/job/jclouds/job/jclouds-labs/1821/) UNSTABLE
Looks like there's a problem with this pull request
[(what's this?)](https://www.cloudbees.com/what-is-buildhive)

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60856045

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Adrian Cole <no...@github.com>.
will do. I will rebase once latest snapshot is in, too, as ByteSource usage
in this pull request is obnoxious.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60973181

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by CloudBees pull request builder plugin <no...@github.com>.
[jclouds-labs-pull-requests #364](https://jclouds.ci.cloudbees.com/job/jclouds-labs-pull-requests/364/) SUCCESS
This pull request looks good

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106#issuecomment-60853099

Re: [jclouds-labs] Remove tar creation responsibility from docker, avoiding filesystem bias. (#106)

Posted by Adrian Cole <no...@github.com>.
> -      URL url = Resources.getResource("Dockerfile");
> -      String content = Resources.toString(url, Charsets.UTF_8);
> -      final File dockerfile = new File(parentDir.getAbsolutePath() + File.separator + "Dockerfile");
> -      Files.write(content.getBytes(), dockerfile);
> -      File archive = Archives.tar(parentDir, folderPath + "/archive/archive.tar");
> -      FileInputStream data = new FileInputStream(archive);
> -      Payload payload = Payloads.newInputStreamPayload(data);
> -      payload.getContentMetadata().setContentLength(data.getChannel().size());
> -      payload.getContentMetadata().setContentType("application/tar");
> +   public static Payload tarredDockerfile() throws IOException {
> +      ByteArrayOutputStream bytes = new ByteArrayOutputStream();
> +      ShrinkWrap.create(GenericArchive.class, "archive.tar")
> +            .add(new ClassLoaderAsset("Dockerfile"), "Dockerfile")
> +            .as(TarExporter.class).exportTo(bytes);
> +
> +      Payload payload = Payloads.newByteSourcePayload(ByteSource.wrap(bytes.toByteArray()));

this won't look as terrible once https://github.com/jclouds/jclouds/pull/592 is merged.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds-labs/pull/106/files#r19513583