cirruslabs / cirrus-ci-docs

Documentation for Cirrus CI ๐Ÿ“š
https://cirrus-ci.org
MIT License
352 stars 109 forks source link

OpenStack support #210

Open mnaser opened 5 years ago

mnaser commented 5 years ago

Description

We've love to integrate Cirrus CI with OpenStack as a supported computing service. We'd be more than happy to provide the resources to develop against

Context

Users who use an OpenStack public cloud or have their own private cloud that they'd like to use Cirrus CI on would need this.

fkorotkov commented 5 years ago

Will put it in the list for discussions for Q2.

Did I understand it correctly that Zun (Containers Service) can't at the moment run a group of containers like pods in Kubernetes? Would be pretty nice for mapping Additional Containers feature.

mnaser commented 5 years ago

I'm not sure if the Cirrus CI code is open source, if it is, be happy to contribute to help get that done.

Zun is currently not that widely deployed, there's also challenges around it's multi-tenancy model at the moment. However, Magnum is actually a service which is the equivalent of GKE, so you can launch a Kubernetes cluster on-top of OpenStack and consume it

fkorotkov commented 5 years ago

Got it! Sounds like a perfect match. Cirrus CI is not yet open sourced so it's on our side to implement it. ๐Ÿ˜…Recent AWS-related work showed that the most time is spend on supporting storage for logs and caches.

Do you have someone specific in mind who is looking for a new CI and will immediately benefit from Cirrus? Just want to sense the importance of it. Might be able to put it right after current coming-soon issues.

mnaser commented 5 years ago

@fkorotkov no worries.

I don't really have anyone I can publicly say, but I know we have a few customers that use Travis CI which have been looking for alternatives since the recent layoffs.

fkorotkov commented 5 years ago

@mnaser we are looking into starting working on the OpenStack integration and have a few very basic questions. I will appreciate if you can answer them.

Do people have OpenStack API endpoints publicly available. I guess the answer is no and people have their OpenStacks under a VPC (with VEXXHOST's offering it seems customers get publicly available endpoint though). Cirrus doesn't have Enterprise (self-hosted) offering at the moment so in this case a an easy VPC to Cirrus connectivity solution remains to be found. ๐Ÿค”Do people in general tend to host everything including GitHub Enterprise on their OpenStack's?

mnaser commented 5 years ago

Hi @fkorotkov

The OpenStack API endpoints could be publicly available (or could not be). This is a deployment decision. In our case, both our public clouds and private clouds do have public endpoints, so Cirrus will have the ability to talk to the APIs directly to provision servers.

The trick is how you actually execute work under those VMs. In our environments, we can give you a public IP address directly on your server and that makes communication easy. However, if the agent listens for incoming connections and the deployment doesn't have that much public IPs, that might be problematic. However, if the agent connects out to get work, then it shouldn't be a problem and you can run it in what is the equivalent of a VPC.

I'd be happy to provide access to our public cloud as a developer account in order to help land the OpenStack integration. :)

fkorotkov commented 5 years ago

Cirrus agents use unidirectional communication so there is no need to have access to the agents, agents need to be able to access grpc.cirrus-ci.com. So this is great news!

Will put OpenStack Support to the next week's sprint. ๐Ÿ™Œ

mnaser commented 5 years ago

@fkorotkov -- not holding you to any deadlines but just wondering how that's going? :)

fkorotkov commented 5 years ago

Not much of updates on our side. Did some preparational work and then got distracted by some urgent performance improvements for Cirrus infrastructure. Will keep you posted!

fkorotkov commented 5 years ago

There are too many improvements planned for the current stack. Removing high-priority label since it's not high priority at this stage. ๐Ÿ˜ž

mnaser commented 2 years ago

@fkorotkov it's been a while but would be nice to get some updates on this! :)