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

CI with basic infrastructure deployment #41

Closed
alegrey91 opened this issue Oct 2, 2020 · 6 comments
Closed

CI with basic infrastructure deployment #41

alegrey91 opened this issue Oct 2, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request experimental This issue needs a deep research and some improvement evaluation help wanted Extra attention is needed
Milestone

Comments

@alegrey91
Copy link
Collaborator

alegrey91 commented Oct 2, 2020

As already mentioned in another thread (#40), this issue is dedicated to the evaluation of the implementation of a Github action to automate the deployment of basic infrastructure, using the following actions:

A basic infrastructure means the ability to deploy one VM for each OS family supported (depending on the time it needs to do the job).

@alegrey91 alegrey91 added enhancement New feature or request experimental This issue needs a deep research and some improvement evaluation help wanted Extra attention is needed labels Oct 2, 2020
@alegrey91 alegrey91 self-assigned this Oct 2, 2020
@alegrey91
Copy link
Collaborator Author

Seems that GitHub actions don't support hardware virtualization due to the use of Azure on DV2 instances, as discussed on this thread: actions/runner-images#183.
Luckily for us, perhaps, seems that Travis-CI do what we need.
Some examples:

Another interesting thing, but out of topic, is this: https://hub.docker.com/r/ennweb/kvm

@alegrey91
Copy link
Collaborator Author

alegrey91 commented Oct 13, 2020

A really interesting trick which I'm trying to use is mentioned in this thread: travis-ci/travis-ci#1839
The problem we have is that after adding the travis user to the libvirt group, we should restart the session. Obviously this is impossible in Travis CI. For this reason we are going to use the following command to avoid this problem: sudo -E sudo -u $USER -E bash -c "COMMAND".
@89luca89

@89luca89 89luca89 added this to the 1.2.0 milestone Oct 15, 2020
@89luca89
Copy link
Owner

This should depend on #50 and use cloud_init images

@alegrey91
Copy link
Collaborator Author

To avoid the creation of each image using Packer, we decided to store the already built images on the cloud and download them from the Travis instance.
To do this, I've also found an interesting blog which explains how to do this: https://angelov.ai/post/2020/wget-files-from-gdrive/

@89luca89
Copy link
Owner

@alegrey91 adding to this, we use those images instead of cloud-init images to ensure also support for all cases like luks setups (that are not always supported in cloud-init instances)

@alegrey91
Copy link
Collaborator Author

The pipeline seems to be ready. Today I'll do additional tests and then I think we could merge.

@89luca89 89luca89 closed this as completed Dec 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request experimental This issue needs a deep research and some improvement evaluation help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants