cloud-info-provider
EGI Cloud Information System Provider
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
EGI Cloud Information System Provider
Basic Info
Statistics
- Stars: 4
- Watchers: 12
- Forks: 14
- Open Issues: 7
- Releases: 24
Topics
Metadata Files
README.md
Cloud Information provider
The Cloud Information provider generates a representation of cloud resources following the GlueSchema representation.
The provider extracts information from a cloud deployment using public APIs and formats as a JSON.
Currently supported cloud middleware:
- OpenStack
Installation
Use pip:
sh
pip install cloud-info-provider
From source
Source-based installation is not recommended for production usage, but it is
handy for testing or development purpose. Get the source by cloning this
repository and run with uv
sh
uv run cloud-info-provider-service
Usage
shell
cloud-info-provider-service <openstack authentication options> <site_config>
Site configuration
The cloud-info-provider uses a YAML file describe the basic information of the cloud site to represent. This file follows the specification in the fedcloud-catchall-operations for site descriptions:
```yaml
gocdb: "
the images is ignored by the cloud-info-provider
images:
vos:
- name: "
Middleware
Dynamic information is obtained with the middleware providers. Use the
--middleware option for specifying the provider to use (see the command help
for exact names).
Each dynamic provider has its own command-line options for specifying how to
connect to the underlying service. Use the --help option for a complete
listing of options.
OpenStack
The openstack provider require a working keystone endpoint and valid
credentials to access that endpoint. It uses
keystoneauth so any Keystone
authentication method available in that library can be used. The configured user
for authentication must be a member of every project configured in your shares.
Authentication options largely depend on the authentication method used, default
is username/password. For example, using OpenID Connect against a EGI Check-in
integrated endpoint:
sh
cloud-info-provider-service --middleware openstack \
--os-auth-type v3oidcaccesstoken \
--os-identity-provider egi.eu --os-protocol oidc \
--os-access-token $ACCESS_TOKEN \
--os-auth-url https://<keystone-endpoint>:5000/v3
Other extra options for the providers (defaults should be OK):
--select-flavors {all,public,private}Select all (default),publicorprivateflavors. For more details see OpenStack flavors documentation.--all-imagesIf set, include information about all images (including snapshots), otherwise only publish images with EGI registry metadata, ignoring the others.
Support for specialized hardware (GPU & InfiniBand) through OpenStack properties
The openstack provider is able to gather additional GPU and InfiniBand
information made available through flavor's and image's metadata. To this end,
this provider allows passing CLI options (--property-*) to match the metadata
keys. As an example, the option --property-flavor-gpu-vendor gpu:vendor will
seek for gpu-vendor key in the flavor definition (properties field), while
--property-image-gpu-driver gpu:driver:version will fetch the value associated
with the gpu:driver:version key in the list of images obtained.
For the InfiniBand case, there is an additional option
(--property-flavor-infiniband-value) that also checks the value obtained from
the metadata. Only if they match, InfiniBand is considered as supported.
Use the --help option for the whole list of available GPU and InfiniBand
properties.
CAs
The provider will use your python default CAs for checking and connecting to
your endpoints and GOCDB, so please make sure those CAs include the IGTF CAs.
The location of the CAs depending on how you installed the different python
packages (using deb/rpm packages or pip).
For debian-based systems (e.g. Ubuntu), use the following:
sh
cd /usr/local/share/ca-certificates
for f in /etc/grid-security/certificates/*.pem ; do ln -s $f $(basename $f .pem).crt; done
update-ca-certificates
For RH-based systems (e.g. CentOS), you can include the IGTF CAs with:
sh
cd /etc/pki/ca-trust/source/anchors
ln -s /etc/grid-security/certificates/*.pem .
update-ca-trust extract
Otherwise, you need to add the IGTF CAs to the internal requests bundle:
sh
cat /etc/grid-security/certificates/*.pem >> $(python -m requests.certs)
Release management
Release management is documented in RELEASING.md
Acknowledgement
This work recieved funding from the EOSC-hub project
(Horizon 2020) under Grant number 777536.
![]()
Owner
- Name: EGI Federation
- Login: EGI-Federation
- Kind: organization
- Email: contact@egi.eu
- Location: Science Park, Amsterdam, The Netherlands
- Website: https://egi.eu
- Twitter: EGI_eInfra
- Repositories: 137
- Profile: https://github.com/EGI-Federation
Advanced Computing for Research
GitHub Events
Total
- Issues event: 9
- Watch event: 1
- Delete event: 12
- Issue comment event: 22
- Push event: 17
- Pull request review comment event: 2
- Pull request review event: 14
- Pull request event: 32
- Create event: 10
Last Year
- Issues event: 9
- Watch event: 1
- Delete event: 12
- Issue comment event: 22
- Push event: 17
- Pull request review comment event: 2
- Pull request review event: 14
- Pull request event: 32
- Create event: 10
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 38
- Total pull requests: 89
- Average time to close issues: about 1 year
- Average time to close pull requests: 20 days
- Total issue authors: 7
- Total pull request authors: 11
- Average comments per issue: 2.79
- Average comments per pull request: 1.71
- Merged pull requests: 72
- Bot issues: 0
- Bot pull requests: 12
Past Year
- Issues: 2
- Pull requests: 18
- Average time to close issues: 4 months
- Average time to close pull requests: 11 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.5
- Average comments per pull request: 0.44
- Merged pull requests: 12
- Bot issues: 0
- Bot pull requests: 10
Top Authors
Issue Authors
- enolfc (11)
- gwarf (10)
- alvarolopez (6)
- arax (5)
- brucellino (3)
- cgimeno (1)
- StephaneGerardVUB (1)
Pull Request Authors
- gwarf (29)
- dependabot[bot] (28)
- enolfc (21)
- alvarolopez (15)
- arax (7)
- brucellino (2)
- orviz (2)
- cgimeno (2)
- scroogie (2)
- Mamut3D (1)
- cesga-rdiez (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- Mako *
- PyYAML *
- defusedxml *
- pbr *
- pyOpenSSL *
- requests *
- six *
- stevedore *
- bandit >=1.1.0,<=1.6.2 test
- defusedxml * test
- fixtures >=0.3.14 test
- mock * test
- pyOpenSSL * test
- python-glanceclient * test
- python-novaclient * test
- requests * test
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- actions/setup-python v5 composite
- actions/upload-artifact v3 composite
- actions/checkout v4 composite
- peter-evans/create-pull-request v5 composite
- sean0x42/markdown-extract v2 composite
- actions/checkout v4 composite
- actions/setup-python v5 composite
- actions/checkout v4 composite
- actions/download-artifact v3 composite
- actions/setup-python v5 composite
- actions/upload-artifact v3 composite
- sean0x42/markdown-extract v2 composite
- softprops/action-gh-release v1 composite
- actions/checkout v4 composite
- super-linter/super-linter/slim v5 composite