dmacvicar / terraform-provider-libvirt

Terraform provider to provision infrastructure with Linux's KVM using libvirt
Apache License 2.0
1.58k stars 459 forks source link

Adding Z(s390x) binaries to releases page #618

Open james-crowley opened 5 years ago

james-crowley commented 5 years ago

I would like to propose that you guys start publishing releases for s390x. Whenever I wanted to use your plugin in the past, I would have to compile it myself, which works but its tedious.

I saw that you guys are utilizing Travis for your builds, I am not 100% sure if this is the main method you use for your releases or if you guys utilize something else. Unfortunately, at this time Travis CI does not support s390x, so Travis is out of the question.

The main way I usually suggest for open source teams to build on s390x is to use Oregon State University CI pipeline that offers s390x support. More info can be found here. Sign up for the services is here. This is all free, it will not cost you guys anything, all you need to do is apply at the link above.

There is another option called the LinuxONE Community Cloud, but this option usually involves more manual setup, but it does provide a more customizable environment. But I still recommend OSU's CI pipeline.

I know I would really love to see s390x support and I know of a couple teams internally that are looking to using this plugin.

If you guys are interested, @dmacvicar @MalloZup , let me know. I am here to help in anyway I can!

MalloZup commented 5 years ago

Afaik it should be feasible thx for issue

james-crowley commented 5 years ago

@MalloZup Just in case you want another team's view on adding s390x support Dumb-init just went through the process and now are producing builds for s390x, https://github.com/Yelp/dumb-init/issues/188.

dmacvicar commented 5 years ago

@james-crowley Right now the builds come from https://build.opensuse.org/package/show/systemsmanagement:terraform/terraform-provider-libvirt in the Open Build Service. I would really like to keep it like that, and to avoid publishing builds from two sources.

The Open Build Service has s390x as an option for most of the distro targets we are building against. I am not sure if it would make sense to build for s390x for all target platforms. Which one should be build for? Note that even if the provider is golang, because we link against libvirt, the target distribution is relevant.

dmacvicar commented 5 years ago

I enabled s390x for the project, and the distros that were able to build with the current setup:

I would have no problem to keep those enabled and publish them with the next release. @james-crowley , would that work for you?

Can you grab the builds from: https://download.opensuse.org/repositories/systemsmanagement:/terraform/SLE_15_SP1/ https://download.opensuse.org/repositories/systemsmanagement:/terraform/Fedora_28/ And let us know if they work for you?

Unrelated, I would love to hear how IBM is using this provider. Would you mind that we mention it in the README (eg. "Who is using this provider" section)?

james-crowley commented 5 years ago

@dmacvicar Thanks for the builds. Could you also build it for Ubuntu? The only other OSs that it wasn't build for was CentOS, Leap and Tumbleweed. CentOS does not have a build for s390x but does Leap or Tumbleweed have one? If so, could you also process a build for them too?

As for a statement on IBM using the provider, what did you have in mind? I am using it internally as a tool for deployment, not incorporating it into a product. I would be fine with something along the lines so, James Crowley, who works at IBM, ......... It just needs to be a personal endorsement not IBM endorsement. Sorry for the complication.

jichenjc commented 5 years ago

@james-crowley @dmacvicar as you know openshift is using terraform provider to do their install (https://github.com/openshift/installer/) ,we need adopt their framework into s390x as well in order to do CI on libvirt, so this is the use case of the terraform provider on libvirt for s390x

I am not sure the fedra release can be used in RHEL CI env, need check and provide more info here

james-crowley commented 5 years ago

Interesting, I did not know Openshift was using Terraform as part of install. Make sense!

I would think Fedora release should work, unless it pulls in a bunch of newer packages that RHEL doesn't have. But the application is mostly just GO, so I don't think that would be the case.

dmacvicar commented 4 years ago

@james-crowley @dmacvicar as you know openshift is using terraform provider to do their install (https://github.com/openshift/installer/) ,we need adopt their framework into s390x as well in order to do CI on libvirt, so this is the use case of the terraform provider on libvirt for s390x

I am not sure the fedra release can be used in RHEL CI env, need check and provide more info here

Yeah, as long as there is no way for building against RHEL on s390x in OBS, I can't help there.

SUSE does provide the openSUSE build service with the ability of building against SLE/390x.

dmacvicar commented 4 years ago

@dmacvicar Thanks for the builds. Could you also build it for Ubuntu? The only other OSs that it wasn't build for was CentOS, Leap and Tumbleweed. CentOS does not have a build for s390x but does Leap or Tumbleweed have one? If so, could you also process a build for them too?

For CentOS right now I don't have even a build for x86_64. For some reason I can't find golang on the CentOS 7 repo, and CentOS 8 AppStream repo does not work with OBS yet.

We have no setup of CentOS s390x in OBS, but it seems that there is no build available at all. If you can link me to such build, I can investigate if OBS can make it available to build on.

Same with Ubuntu. I can't find a publicly available repository for s390x.

As for a statement on IBM using the provider, what did you have in mind? I am using it internally as a tool for deployment, not incorporating it into a product. I would be fine with something along the lines so, James Crowley, who works at IBM, ......... It just needs to be a personal endorsement not IBM endorsement. Sorry for the complication.

I just wanted to rename this section to "Who is using terraform-provider-libvirt" and add an item "For internal development" and "IBM". Would that be okay?

james-crowley commented 4 years ago

@dmacvicar CentOS will not have an s390x build in OBS. As of right now CentOS does not have a port of their OS on s390x. 😞

I am not why Ubuntu does not have a s390x build in OBS. I am not too familiar with how OBS works, but are look look at this Ubuntu 18.04 build?

Another thing I am confused about is you were not able to build Leap or Tumbleweed for s390x. It also looks like these two are missing a s390x build.

I'll have to do some digging into why they don't and see what I can do to get support. Since you used OBS, do you have any contacts or know how to get in contact with people? I saw they have an IRC chat.

I just wanted to rename this section to "Who is using terraform-provider-libvirt" and add an item "For internal development" and "IBM". Would that be okay?

Yup, that is fine!

dmacvicar commented 4 years ago

I am not why Ubuntu does not have a s390x build in OBS. I am not too familiar with how OBS works, but are look look at this Ubuntu 18.04 build?

OBS just imports the published tree from the vendor, but I don't see Canonical publishing the tree for s390x. Can you point me to it?

Another thing I am confused about is you were not able to build Leap or Tumbleweed for s390x. It also looks like these two are missing a s390x build.

Well, it looks like they just don't target it.

I'll have to do some digging into why they don't and see what I can do to get support. Since you used OBS, do you have any contacts or know how to get in contact with people? I saw they have an IRC chat.

For Leap or Tumbleweed, I suspect it is just about focus (not many people have mainframes in their bedroom or developer shops), unlike SLE. For Ubuntu, is the lack of a published tree we can import. I will ask the OBS guys and the Leap/Tumbleweed maintainers for more information.

I just wanted to rename this section to "Who is using terraform-provider-libvirt" and add an item "For internal development" and "IBM". Would that be okay?

Yup, that is fine!

Thanks!

paususe commented 4 years ago

I am not why Ubuntu does not have a s390x build in OBS. I am not too familiar with how OBS works, but are look look at this Ubuntu 18.04 build?

OBS just imports the published tree from the vendor, but I don't see Canonical publishing the tree for s390x. Can you point me to it?

Binaries are under http://ports.ubuntu.com/

More details here: https://wiki.ubuntu.com/S390X

As for CentOS s390x releases, they do not exist but ClefOS does: https://www.sinenomine.net/products/linux/clefos https://github.com/nealef/clefos https://hub.docker.com/_/clefos

=> OBS as the total solution to build your application :-)

james-crowley commented 4 years ago

@paususe Thanks for the information. But where on OBS does it mentioned these builds? I see/know they exist and I can spin them up on my local hardware, but we want them up on OBS so we can start generating/testing more builds.

@dmacvicar Any word from the people at OBS? I tried the IRC and did not get much of response.