Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt building debian, jar, and rpm packages using Dockerfiles #46

Closed
wants to merge 30 commits into from

Conversation

joaquincasares
Copy link
Contributor

Pushing my Dockerfiles for review.

Experiencing these issues when installing the rpm package:

xxx -  -  [01/Feb/2017:01:17:51 +0000] "GET /webui HTTP/1.1" 200 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" 10
xxx -  -  [01/Feb/2017:01:17:51 +0000] "GET /deps.js HTTP/1.1" 404 - "http://52.33.90.49:8080/webui" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" 1
xxx -  -  [01/Feb/2017:01:17:51 +0000] "GET /index.js HTTP/1.1" 404 - "http://52.33.90.49:8080/webui" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" 1
xxx -  -  [01/Feb/2017:01:17:55 +0000] "GET /index.html HTTP/1.1" 404 - "http://52.33.90.49:8080/webui" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" 0

Experiencing this issue when attempting to build the jar while inside a Docker container:

[INFO] --- exec-maven-plugin:1.5.0:exec (exec-bower-install) @ cassandra-reaper ---
bower ESUDO         Cannot be run with sudo

Additional error details:
Since bower is a user command, there is no need to execute it with superuser permissions.
If you're having permission errors when using bower without sudo, please spend a few minutes learning more about how your system should work and make any necessary repairs.

http://www.joyent.com/blog/installing-node-and-npm
https://gist.github.com/isaacs/579814

You can however run a command with sudo using --allow-root option

The debian packages build successfully, even if they take a while to build.

@michaelsembwever
Copy link
Member

thanks @joaquincasares . am using this today, timing couldn't have been better.

# You can however run a command with sudo using --allow-root option
# [ERROR] Command execution failed.
RUN mvn clean package \
&& mvn clean package -Pbuild-ui
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for that information! That's good to know the UI doesn't need to be recompiled each time.

Would you mind taking a look at the cause of the sudo issue? It'd be nice to have a streamlined way to have potential contributors make changes and recompile the UI without having to manage about the entire build process.

@joaquincasares
Copy link
Contributor Author

I've implemented @adejanovski 's proposed changes, but needed to remove locking down rpm creation to the v.0.3.0 tag.

The other two commands are still being tested, but this is the new rhel error:

/bin/sh: -c: line 0: syntax error near unexpected token `('
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/2.1.1/maven-help-plugin-2.1.1.pom (9 KB at 14.5 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/17/maven-plugins-17.pom (13 KB at 269.1 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/2.1.1/maven-help-plugin-2.1.1.jar (60 KB at 777.1 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-tools-api/2.4.3/maven-plugin-tools-api-2.4.3.pom (5 KB at 14.0 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-tools/2.4.3/maven-plugin-tools-2.4.3.pom (10 KB at 108.9 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/codehaDownloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.6/plexus-utils-1.5.6.pom (6 KB at 139.9 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.12Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus/1.0.12/plexus-1.0.12.pom (10 KB at 122.7 KB/sec) Downloading: https://repo.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000rDownloaded: https://repo.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.pom (2 KB at 15.4 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-defaultDownloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.pom (2 KB at 15.3 KB/sec) Downloading: https://repo.maven.apache.org/mavenDownloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-7/plexus-container-default-1.0-alpha-7.pom (2 KB at 38.1 KB/sec) Downloading: https://repo.maven.apache.org/mavenDownloaded: https://repo.maven.apache.org/maven2/plexus/plexus-containers/1.0.2/plexus-containers-1.0.2.pom (471 B at 14.4 KB/sec) Downloading: https://repo.maven.apache.org/maven2/plexus/plexus-root/1.0.3/plexus-rootDownloaded: https://repo.maven.apache.org/maven2/plexus/plexus-root/1.0.3/plexus-root-1.0.3.pom (6 KB at 125.1 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.7/plexus-utDownloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-utils/1.5.7/plexus-utils-1.5.7.pom (8 KB at 212.8 KB/sec) Downloading: https://repo.maven.apache.org/maven2/jdom/jdom/1.0/jdom-1.0.pom 2/2 KBDownloaded: https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.pom (12 KB at 120.8 KB/sec) Downloading: https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1Downloaded: https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream-parent/1.3/xstream-parent-1.3.pom (14 KB at 401.4 KB/sec) Downloading: https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_mDownloaded: https://repo.maven.apache.org/maven2/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.pom (2 KB at 19.9 KB/sec) Downloading: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom 3/14Downloaded: https://repo.maven.apache.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.pom (14 KB at 332.9 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/9/commonsDownloaded: https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/9/commons-parent-9.pom (22 KB at 238.0 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-tools-api/2.4.3/maven-plugin-tools-api-2.4.3.jar Downloading: https://repo.maven.apache.org/maven2/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar Downloading: https://repo.maven.apache.org/maven2/org/codehaDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-tools-api/2.4.3/maven-plugin-tools-api-2.4.3.jar (51 KB at 943.7 KB/sec) Downloading: https://repo.maven.apache.org/maven2/coDownloaded: https://repo.maven.apache.org/maven2/org/codehaus/plexus/plexus-container-default/1.0-alpha-9/plexus-container-default-1.0-alpha-9.jar (191 KB at 739.6 KB/sec) Downloading: https://repo.maven.apache.org/maDownloaded: https://repo.maven.apache.org/maven2/com/thoughtworks/xstream/xstream/1.3/xstream-1.3.jar (402 KB at 981.6 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-pluDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 136.7 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/pluDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.jar (25 KB at 650.2 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.pom (7 KB at 214.9 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/mavenDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-install-plugin/2.4/maven-install-plugin-2.4.jar (27 KB at 548.3 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maveDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.pom (6 KB at 161.2 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/pDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-deploy-plugin/2.7/maven-deploy-plugin-2.7.jar (27 KB at 609.4 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.pom (21 KB at 228.4 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-site-plugin/3.3/maven-site-plugin-3.3.jar (122 KB at 987.3 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/pluDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom (5 KB at 140.0 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/pDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/12/maven-plugins-12.pom (12 KB at 149.0 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom (33 KB at 890.8 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugiDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.jar (24 KB at 590.3 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom (15 KB at 202.8 KB/sec) Downloading: https://repo.maven.apache.org/maven2Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom (13 KB at 421.5 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.jar (204 KB at 1837.6 KB/sec) Downloading: https://repo.maven.apache.org/maveDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom (12 KB at 310.7 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apachDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar (150 KB at 426.2 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apacDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.pom (10 KB at 293.3 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/release/maven-release/2.3.2/maven-release-2.3.2.pom (9 KB at 280.7 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/mDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-release-plugin/2.3.2/maven-release-plugin-2.3.2.jar (44 KB at 437.6 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/Downloaded: https://repo.maven.apache.org/maven2/org/codehaus/mojo/maven-metadata.xml (20 KB at 357.0 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/maven-metadataDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/maven-metadata.xml (493 B at 14.6 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-heDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.pom (9 KB at 250.5 KB/sec) Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugiDownloaded: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-help-plugin/2.2/maven-help-plugin-2.2.jar (67 KB at 727.8 KB/sec) 0.4.0-SNAPSHOT.jar build/usr/share/cassandra-reaper/'
make: *** [prepare] Error 1
The command '/bin/sh -c mvn package     && make rpm     && cp *.rpm ${WORKDIR}/packages' returned a non-zero code: 2

@joaquincasares joaquincasares added this to the v0.4.0 milestone Feb 9, 2017
@joaquincasares
Copy link
Contributor Author

@adejanovski for some reason the only record I have of your conversation exists only in email. 🤷

  • I've update the reaper-rhel Dockerfile. Didn't know that yum update required a -y. It should be building now!
  • I've updated the README to now have a one-liner for producing the packages in the ./packages directory.
  • I've now removed the reaper-jar's auto-start capabilities.
  • I'm really not sure about the reason on why Debian packages are version 0.2.3-1.
    • I did notice the discrepancy for debuild for the Debian packages and fpm for the RPM packages. Thoughts on just using fpm?
      • I've update the make all command to now build the jar, rpm, and debian files, but am currently only moving the generated *.rpm's into ./packages.
  • I've added notes on how to run a containerized version of Reaper on an external node.
  • We're back to preferring 127.0.0.1 instead of cassandra.

@rustyrazorblade
Copy link
Contributor

@joaquincasares Yes to just using fpm. I had set up the commands for that here: https://github.com/thelastpickle/cassandra-reaper/blob/master/Makefile. I'd prefer to rip out the debbuild stuff completely.

@joaquincasares
Copy link
Contributor Author

@rustyrazorblade sounds good on using fpm. I'm not sure of what all can be removed for debuild. I will remove all text references to debuild in the README, but do I file another ticket to completely purge additional files? Or did debuild use all the ./debian files, just like fpm does?

@joaquincasares
Copy link
Contributor Author

@rustyrazorblade I've:

  • Removed debuild from the README.
  • Consolidated the docker build images into a single image to build all packages using Make/fpm.
  • Moved the Docker-specific info of the main README and into ./docker/README.
  • @adejanovski I've now included a production-reaper Dockerfile for a production-specific approach, which includes it's own README file in ./docker/production-reaper.
  • Added instruction for how to correctly setup JMX for Reaper.

This should be the final commit, unless you two have any other recommendations.

@joaquincasares
Copy link
Contributor Author

@adejanovski I've made your change for using cassandra.jar locally and also ran into your docker-compose build issue.

I'll work on that issue, as well as deprecating the packages/ directory in hopes of solely using target/.

@adejanovski
Copy link
Contributor

Hi @joaquincasares,

could you tell us what is the status of that PR ?
It would be very cool to have this merged in master and be able to generate RPM and DEB on releases automatically.
We also need to publish docker images on Docker Hub on releases and master updates.

Thanks !

@@ -20,7 +20,7 @@
],
"devDependencies": {
"jquery": "~2.1.3",
"startbootstrap-sb-admin-2": "git@github.com:BlackrockDigital/startbootstrap-sb-admin-2#v1.0.5",
"startbootstrap-sb-admin-2": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git#v1.0.5",
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -0,0 +1,17 @@
# editor files
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skip this file.

Not needed in #134 .

@@ -17,4 +17,7 @@ bin/
.settings/
.project
build/
docker/production-reaper/*.yaml
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not needed.

Other lines are implemented in #134 .

@@ -1,13 +1,16 @@
# Using mvn:
VERSION := $(shell mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\[')
VERSION := `mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -v '\['`
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -63,8 +63,8 @@ use the provided CLI tool in *bin/spreaper* to call the service.

Run the tool with *-h* or *--help* option to see usage instructions.

Notice that you can also build a Debian package from this project by using *debuild*, for example:
`debuild -uc -us -b`
Notice that you can also build Debian and RPM package from this project by using *Make*, for example:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -12,7 +12,7 @@ The current version supports running Apache Cassandra cluster repairs in a segme
opportunistically running multiple parallel repairs at the same time on different nodes
within the cluster. Basic repair scheduling functionality is also supported.

Reaper comes with a GUI, which if you're running in local mode can be at http://localhost:8080/webui/
Reaper comes with a GUI, which if you're running in local mode can be at http://localhost:8080/webui/index.html
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug has already been fixed.


Reaper can also be accessed using the REST API exposed on port 8080, or using the command line tool `bin/spreaper`


Docker Support
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No longer relevant.

@@ -0,0 +1,45 @@
FROM ubuntu:16.04
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -311,6 +311,7 @@
<workingDirectory>reaper_ui</workingDirectory>
<arguments>
<argument>install</argument>
<argument>--allow-root</argument>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented in #134 .

@@ -0,0 +1,18 @@
FROM ubuntu:16.04
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deprecated for #76.

@@ -0,0 +1,27 @@
FROM ubuntu:16.04
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No longer needed, just use the cassandra image instead.

@@ -0,0 +1,19 @@
FROM ubuntu:16.04
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deprecated for #76.

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deprecated for #76.

@@ -21,6 +21,10 @@ jmxPorts:
127.0.0.7: 7700
127.0.0.8: 7800

#jmxAuth:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via #135.

@@ -21,6 +21,10 @@ jmxPorts:
127.0.0.7: 7700
127.0.0.8: 7800

#jmxAuth:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via #135.

@@ -21,6 +21,10 @@ jmxPorts:
127.0.0.7: 7700
127.0.0.8: 7800

#jmxAuth:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via #135.

@@ -21,6 +21,10 @@ jmxPorts:
127.0.0.7: 7700
127.0.0.8: 7800

#jmxAuth:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via #135.

@@ -21,6 +21,10 @@ jmxPorts:
127.0.0.7: 7700
127.0.0.8: 7800

#jmxAuth:
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implemented via #135.

@joaquincasares
Copy link
Contributor Author

This is now deprecated in favor of #134 , #135 , #136.

@michaelsembwever michaelsembwever deleted the dockerfile-builds branch October 27, 2017 21:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants