Python functions for Ceph, Libvirt and OpenVSwitch
Budget: $15 – $25 AUD
I am seeking assistance on a development project from an experienced python developer. Open to using agencies if the price is right.
This job is the very first part of a much larger project and is essentially a test, once I find a developer to work with we'll sign an NDA and I'll reveal the details of the larger project which is expected to run for 3-6 months.
I am looking for someone with experience but I also need good value for money, so please ensure that your response to this job reflects your best rate.
This job is to create some python functions to manipulate libvirt, ceph and openvswitch. These functions will be integrated into a larger project at a later time.
I have listed the features I need from each set including what I'll be looking for in the second phase of this project, once you have completed phase 1 to a satisfactory level we'll start phase 2.
Most of this code has been written many times before for other projects such as openstack. I am happy for you to repurpose code from other open source projects as long as it's all brought into a consistent format for this project, let's not reinvent the wheel.
In order to complete this project you will need your own local development environment with libvirt, ceph and openstack. A single vm is sufficient for dev purposes. In production this code will run across 100s of nodes in multiple data centres
Every function needs brief comments, unit tests, input validation and return a result in a consistent format.
Return result should be an object with a status, description field and execution time
Open to suggestions on every aspect of this job
The execution time in ms will be used for future for monitoring and analytics
When responding to this job please provide a link to a relevant Python library, SDK or example set of code. This shows me you have read the full job description and understand what I need. Any responses without this link on the first line will be ignored
Function set 1 - Phase 1 - Ceph integration
Perform the following basic operations against a ceph cluster
Create volume, delete volume, create snapshot, list snapshots, delete specific snapshot, verify existence/check status and size
List all pools
List all volumes in a pool
Function set 1 - Phase 2
Backup a volume using base and incremental to separate pool or cluster.
Function set 2 - Phase 1 - Libvirt
Create a VM specify one or more ceph volumes, one or more ovs networks (creating the ports as required), Ram, cpu cores, vnc details etc.. All the things you’d expect to need to specify to create a VM
Check vm status including running or stopped, specs such as ram, cpu.
Delete a vm
Stop a vm
Undefine a vm
Function set 2 - Phase 2
Live migrate a VM to a different host
Support PCI pass through
Adjust RAM or CPU specs for an existing VM
Function set 3 - Phase 1 - Openvswitch
Create, edit, delete, list networks
Create, edit, delete, list network ports
List all ports and their related switches and status
Function set 3 - Phase 2
Rate limit and set device info for ovn
This job is the very first part of a much larger project and is essentially a test, once I find a developer to work with we'll sign an NDA and I'll reveal the details of the larger project which is expected to run for 3-6 months.
I am looking for someone with experience but I also need good value for money, so please ensure that your response to this job reflects your best rate.
This job is to create some python functions to manipulate libvirt, ceph and openvswitch. These functions will be integrated into a larger project at a later time.
I have listed the features I need from each set including what I'll be looking for in the second phase of this project, once you have completed phase 1 to a satisfactory level we'll start phase 2.
Most of this code has been written many times before for other projects such as openstack. I am happy for you to repurpose code from other open source projects as long as it's all brought into a consistent format for this project, let's not reinvent the wheel.
In order to complete this project you will need your own local development environment with libvirt, ceph and openstack. A single vm is sufficient for dev purposes. In production this code will run across 100s of nodes in multiple data centres
Every function needs brief comments, unit tests, input validation and return a result in a consistent format.
Return result should be an object with a status, description field and execution time
Open to suggestions on every aspect of this job
The execution time in ms will be used for future for monitoring and analytics
When responding to this job please provide a link to a relevant Python library, SDK or example set of code. This shows me you have read the full job description and understand what I need. Any responses without this link on the first line will be ignored
Function set 1 - Phase 1 - Ceph integration
Perform the following basic operations against a ceph cluster
Create volume, delete volume, create snapshot, list snapshots, delete specific snapshot, verify existence/check status and size
List all pools
List all volumes in a pool
Function set 1 - Phase 2
Backup a volume using base and incremental to separate pool or cluster.
Function set 2 - Phase 1 - Libvirt
Create a VM specify one or more ceph volumes, one or more ovs networks (creating the ports as required), Ram, cpu cores, vnc details etc.. All the things you’d expect to need to specify to create a VM
Check vm status including running or stopped, specs such as ram, cpu.
Delete a vm
Stop a vm
Undefine a vm
Function set 2 - Phase 2
Live migrate a VM to a different host
Support PCI pass through
Adjust RAM or CPU specs for an existing VM
Function set 3 - Phase 1 - Openvswitch
Create, edit, delete, list networks
Create, edit, delete, list network ports
List all ports and their related switches and status
Function set 3 - Phase 2
Rate limit and set device info for ovn