Skip to main content

A tool for managing cloud resources and scheduling compute tasks

Project description

https://badge.fury.io/py/corc.svg

Note, corc is a small project that is currently under development for providing a set of tools for managing infrastructure components.

corc is a tool for conducting a range of operations for managing infrastructure components via a set of supported providers. Each provider is defined as a seperate plugin that can be installed and utilized by corc. The list of components that corc exposes are:

  • Configurer

  • Compute

  • Orchestration

  • Storage

Currently, the set of plugins/providers is very limited, and the initial development is focused on the area of orchestration and the associated libvirt_provider plugin.

However, plugin/provider contributions for each of these components are very welcome.

Installation

Installation from pypi:

pip install corc

Installation from local git repository:

cd corc
pip install .

If you have cloned the repo, an alternative way to install corc is to run:

make install

Which will create a virtual environment, install the required dependencies, and install corc itself.

Usage

Since corc is a top level interface for managing infrastucture components, specialized providers that provide the specific implementation have to be installed. To accomplish this, each of the different corc components define the add_provider and remove_provider arguments that can be used to install and remove providers:

usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...

options:
  -h, --help            show this help message and exit

COMMAND:
  {add_provider,remove_provider,pool,stack}

For instance, if we want to add the libvirt_provider to the orchestration component, we can do so by running:

corc orchestration add_provider libvirt_provider

Orchestrator Stacks and Pools

As part of the orchestration component, corc defines the concepts of stacks and pools. A stack is a collection of resources that are managed and orchestrated by corc.

Stacks are expected to defined as a yaml file that are passed to corc, which is used to orchestrate a set of resources.

A pool is a construct that can be used to logically group resources. When a pool is constructed, it is saved to a local state file where the pool is constructed.

When defining a stack as a yaml file, it is supported that pools are defined as part of the stack. An example of a stack yaml definition can be seen in the examples/stack.yml

The corc orchestration CLI can be used to manage both stacks and pools:

:~ corc orchestration -h
usage: corc orchestration [-h] {add_provider,remove_provider,pool,stack} ...

options:
-h, --help            show this help message and exit

COMMAND:
{add_provider,remove_provider,pool,stack}

When a stack is deployed, corc will orchestrate the defined resources, create the specified pools if nonexistent, and associate resources to their specific pools.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corc-0.0.3a1.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

corc-0.0.3a1-py3-none-any.whl (48.5 kB view details)

Uploaded Python 3

File details

Details for the file corc-0.0.3a1.tar.gz.

File metadata

  • Download URL: corc-0.0.3a1.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for corc-0.0.3a1.tar.gz
Algorithm Hash digest
SHA256 9bfd8629c3b1f958d8a8c0447ce8408b202df453272afe5183004f2bbd387bfb
MD5 0bfb5dc3b42a716620bc357b65b8db86
BLAKE2b-256 d972b61bdef5815c123d8e96a9a2611deeac8fc3d6dba671b02a21c4a0a7bc35

See more details on using hashes here.

File details

Details for the file corc-0.0.3a1-py3-none-any.whl.

File metadata

  • Download URL: corc-0.0.3a1-py3-none-any.whl
  • Upload date:
  • Size: 48.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for corc-0.0.3a1-py3-none-any.whl
Algorithm Hash digest
SHA256 93a53ed9c0876e60739c4e88d0d1a329ccbb3860fdfd6d9b4ff5d63d07531e82
MD5 3e6b1537fd71dbf5242cf053d787592c
BLAKE2b-256 d58fbc42803ad44e0de1b1492768b9fd3633e211cf6eb4d6e1f669e01c2c2481

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page