summaryrefslogtreecommitdiff
path: root/python-fabric-cf.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-fabric-cf.spec')
-rw-r--r--python-fabric-cf.spec231
1 files changed, 231 insertions, 0 deletions
diff --git a/python-fabric-cf.spec b/python-fabric-cf.spec
new file mode 100644
index 0000000..4946191
--- /dev/null
+++ b/python-fabric-cf.spec
@@ -0,0 +1,231 @@
+%global _empty_manifest_terminate_build 0
+Name: python-fabric_cf
+Version: 1.4.7
+Release: 1
+Summary: Fabric Control Framework
+License: MIT License
+URL: https://github.com/fabric-testbed/ControlFramework
+Source0: https://mirrors.aliyun.com/pypi/web/packages/0b/8f/8dd32758c2b7a961ab6f20f7d13362818faacd03f259df0efb7bf1ed341f/fabric-cf-1.4.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-cryptography
+Requires: python3-psycopg2-binary
+Requires: python3-sqlalchemy
+Requires: python3-waitress
+Requires: python3-prometheus-client
+Requires: python3-connexion
+Requires: python3-swagger-ui-bundle
+Requires: python3-fabric-fss-utils
+Requires: python3-PyYAML
+Requires: python3-fabric-message-bus
+Requires: python3-fabric-fim
+
+%description
+[![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)
+
+## Architecture
+The following diagram depicts an overall architecture for the Control Framework.
+![Architecture](./images/cf.png)
+
+## Requirements
+Python 3.9+
+
+## 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 .
+```
+
+## Configuration pre-requisites
+- Kafka Configuration
+ - Request topic, consumer and producer credentials for each Actor from [Song](ywsong2@g.uky.edu)
+ - Request Hosts running the Actors to be added to Kafka Brokers and Schema Registry Firewall
+ - Make sure to configure consumer.group.id different for each actor
+
+
+%package -n python3-fabric_cf
+Summary: Fabric Control Framework
+Provides: python-fabric_cf
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-fabric_cf
+[![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)
+
+## Architecture
+The following diagram depicts an overall architecture for the Control Framework.
+![Architecture](./images/cf.png)
+
+## Requirements
+Python 3.9+
+
+## 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 .
+```
+
+## Configuration pre-requisites
+- Kafka Configuration
+ - Request topic, consumer and producer credentials for each Actor from [Song](ywsong2@g.uky.edu)
+ - Request Hosts running the Actors to be added to Kafka Brokers and Schema Registry Firewall
+ - Make sure to configure consumer.group.id different for each actor
+
+
+%package help
+Summary: Development documents and examples for fabric_cf
+Provides: python3-fabric_cf-doc
+%description help
+[![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)
+
+## Architecture
+The following diagram depicts an overall architecture for the Control Framework.
+![Architecture](./images/cf.png)
+
+## Requirements
+Python 3.9+
+
+## 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 .
+```
+
+## Configuration pre-requisites
+- Kafka Configuration
+ - Request topic, consumer and producer credentials for each Actor from [Song](ywsong2@g.uky.edu)
+ - Request Hosts running the Actors to be added to Kafka Brokers and Schema Registry Firewall
+ - Make sure to configure consumer.group.id different for each actor
+
+
+%prep
+%autosetup -n fabric-cf-1.4.7
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-fabric_cf -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.7-1
+- Package Spec generated