[![Requirements Status](https://requires.io/github/fabric-testbed/ControlFramework/requirements.svg?branch=master)](https://requires.io/github/fabric-testbed/ControlFramework/requirements/?branch=master)
[![PyPI](https://img.shields.io/pypi/v/fabric-cf?style=plastic)](https://pypi.org/project/fabric-cf/)
# Control Framework
This repository contains Fabric Control Framework and Actor implementations.
## Overview
Fabric Control Framework has 3 actors
- Controller
- Broker
- Aggregate Manager
## Broker
Broker is an agent of CF that collects resource availability information from multiple aggregate managers and can make resource promises on their behalf. More details can be found [here](fabric_cf/broker/Readme.md)
## Aggregate Manager
AM is a CF agent responsible for managing aggregate resources. Is under the control of the owner of the aggregate. Provides promises of resources to brokers and controllers/ orchestrators. More details can be found [here](fabric_cf/authority/Readme.md)
## Orchestrator
Orchestrator is an agent of CF that makes allocation decisions (embedding) of user requests into available resources. Communicates with user to collect slice requests, communicates with broker or aggregate managers to collect resource promises, communicates with aggregate managers to provision promised resources. Creates slices, configures resources, maintains their state, modifies slices and slivers. More details can be found [here](fabric_cf/orchestrator/Readme.md)
## Requirements
Python 3.7+
## Build Docker Images
### Authority Docker Image
```
docker build -f Dockerfile-auth -t authority .
```
### Broker Docker Image
```
docker build -f Dockerfile-broker -t broker .
```
### Orchestrator Docker Image
```
docker build -f Dockerfile-orchestrator -t orchestrator .
```
## Devlopment Deployment
Development Deployment requires local Kafa cluster. Below steps specify how to bring up development Kafka Cluster
### Kafka Cluster
#### Generate Credentials
You must generate CA certificates (or use yours if you already have one) and then generate a keystore and truststore for brokers and clients.
```
cd $(pwd)/secrets
./create-certs.sh
cd -
```
Set the environment variable for the docker-compose. Copy `env.template` as `.env`. Below is shown an example configuration in `.env`
```
# docker-compose environment file
#
# When you set the same environment variable in multiple files,
# here’s the priority used by Compose to choose which value to use:
#
# 1. Compose file
# 2. Shell environment variables
# 3. Environment file
# 4. Dockerfile
# 5. Variable is not defined
# Kafka configuration
KAFKA_SSL_SECRETS_DIR=./secrets
```
#### Bring up the containers
You can use the docker-compose-kafka.yaml file to bring up a simple Kafka cluster containing
- broker
- zookeeper
- schema registry
Use the below command to bring up the cluster
```
docker-compose -f docker-compose-kafka.yaml up -d
```
This should bring up following containers:
```
NAMES
df0e3be0b641 confluentinc/cp-schema-registry:latest "/etc/confluent/dock…" 7 minutes ago Up 7 minutes 0.0.0.0:8081->8081/tcp schemaregistry
82a0a59c117b confluentinc/cp-kafka:latest "/etc/confluent/dock…" 7 minutes ago Up 7 minutes 0.0.0.0:9092->9092/tcp, 0.0.0.0:19092->19092/tcp broker1
c6b824b7d3c6 confluentinc/cp-zookeeper:latest "/etc/confluent/dock…" 7 minutes ago Up 7 minutes 2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp zookeeper
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
PyPI 官网下载 | fabric-cf-0.16.tar.gz (426个子文件)
setup.cfg 38B
MANIFEST.in 294B
broker-request.json 1KB
am-request.json 1KB
orchestrator-request.json 1KB
LICENSE 1KB
README.md 3KB
PKG-INFO 5KB
PKG-INFO 5KB
psql_database.py 70KB
reservation_client.py 70KB
kernel.py 51KB
kernel_wrapper.py 47KB
rpc_manager.py 36KB
actor.py 34KB
actor_database.py 33KB
actor_management_object.py 30KB
broker_simpler_units_policy.py 30KB
kafka_actor.py 29KB
client_actor_management_object_helper.py 26KB
authority_reservation.py 26KB
kafka_broker.py 25KB
configuration_processor.py 25KB
broker_reservation.py 25KB
authority_calendar_policy.py 24KB
container.py 24KB
resource_set.py 23KB
reservation.py 22KB
kernel_test.py 19KB
controller_calendar_policy.py 19KB
broker.py 19KB
kafka_actor_service.py 18KB
globals.py 18KB
orchestrator_handler.py 18KB
controller.py 17KB
kafka_server_actor.py 16KB
delegation.py 16KB
kafka_client_actor_service.py 15KB
network_node_inventory.py 15KB
term.py 15KB
remote_actor_cache.py 15KB
term_test.py 15KB
server_actor_management_object.py 14KB
authority.py 14KB
substrate.py 14KB
translate.py 14KB
configuration.py 13KB
unit_set.py 13KB
slice_defer_thread.py 13KB
pdp_auth.py 12KB
reservation_server.py 12KB
network_node_control.py 12KB
broker_delegation.py 12KB
converter.py 12KB
unit.py 11KB
reservation_status_update_thread.py 11KB
actor_service.py 11KB
broker_calendar.py 11KB
i_database.py 11KB
base_test_case.py 11KB
i_policy.py 11KB
incoming_rpc_event.py 11KB
i_actor.py 10KB
resource_pool_descriptor.py 10KB
slice.py 10KB
controller_simple_policy.py 10KB
container_management_object.py 10KB
i_concrete_set.py 10KB
i_reservation_resources.py 10KB
i_delegation.py 9KB
local_container.py 9KB
kafka_controller.py 9KB
client_calendar.py 9KB
kafka_authority.py 9KB
local_controller.py 9KB
constants.py 9KB
broker_calendar_policy.py 9KB
kafka_broker_proxy.py 9KB
authority_management_object.py 9KB
controller_management_object.py 9KB
i_resource_control.py 9KB
reservation_list.py 9KB
i_slice.py 9KB
fim_helper.py 9KB
local_broker.py 9KB
ticket.py 8KB
container_database.py 8KB
controller_test_wrapper.py 8KB
i_authority_policy.py 8KB
controller_ticket_review_policy.py 8KB
base_plugin.py 8KB
kafka_retun.py 8KB
slice_table.py 8KB
reservation_holdings.py 8KB
broker_service.py 8KB
proxy.py 8KB
authority_calendar.py 8KB
i_kernel_reservation.py 8KB
reservation_holdings_test.py 8KB
kafka_server_actor_service.py 8KB
共 426 条
- 1
- 2
- 3
- 4
- 5
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功