#123 Upgrade Fedimg - AMI creation for Fedora
Closed: invalid 2 years ago by siddharthvipul1. Opened 2 years ago by mobrien.

This is a proposed project for Google Summer of Code

Duration: 350 hours (Large project)

  • Skill level:
  • Skills required:

    • Python
    • Basic AWS (S3, AMI, EC2) - These are not requirements but an advantage
  • Mentor(s):
    Mark O'Brien (@mobrien)

  • Contacts (IRC & email):
    Email: markobri@redhat.com
    IRC: mobrien@libera.chat

  • Idea description:
    Fedimg is a Python-powered service that was built to make Fedora Cloud images available on popular cloud providers, such as Amazon Web Services (AWS), Rackspace, and Google Compute Engine (GCE). It runs on the Fedora infrastructure, where it takes advantage of Fedmsg. Fedimg saves Fedora engineers and developers from having to manually register every newly built Fedora Cloud image with cloud providers. Every base or atomic Fedora Cloud image successfully built in Koji is picked up by Fedimg -- whether it's a development build or an official release.

  • What are we looking for:

    • Refactor and modernize code base with python38 (3.8)
    • Use new library to interact with AWS (currenly we use https://github.com/eucalyptus/euca2ools which is not maintainer anymore)
    • Add following features:
      • Update code base to use Fedora-Messaging instead of fedmsg
      • Emit messages to data-nommer (Fedora Messaging hub) on success or failure of image build
      • A way to add and remove AWS regions for builds
      • Clean up script should remove old images but always ensure at least one Image of each supported version still exists.
      • Workload should be carried out using AWS infrastructure and not on server running the code
      • Images should be built in both x86_64 and aarch64
      • AMIs should be built in a single region and then copied to all configured regions
    • Document all work completed

:::info
Feature request are "good to have" and will depend on Mentee's capability. Each point is a milestone (incremental tasks), and 3 out of 4 will decide success of the internship tenure
:::

  • Notes & references:

    • Documentation link
    • Atomic builds are no longer required
    • Python library euca2ools is not available in python3 so will need to be replaced

Metadata Update from @siddharthvipul1:
- Issue tagged with: GSoC, project-idea

2 years ago

cloud sig of the fedora project has a different way of achieving this already
After a discussion with Mark, we have decided to close this request. If we need help for the other method, we will reopen another ticket with project-idea tag

Metadata Update from @siddharthvipul1:
- Issue close_status updated to: invalid
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata