-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Big GLUE 2.1 rebase #99
Conversation
Pull Request Test Coverage Report for Build 288
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
178 commits 🙄... no way to review this in a sane way. Overall LGTM.
I would propose to fix the pep8 error, and try to figure out what to do with the codeclimate (is it now worth it to reduce the cognitive complexity???) and then merge.
cloud_info/providers/openstack.py
Outdated
@@ -355,6 +397,56 @@ def get_images(self): | |||
images[img_id] = aux_img | |||
return images | |||
|
|||
@_rescope | |||
def get_instances(self, os_project_name=None, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😎Are we really publishing this information? I guess it can be valuable for security teams to know if a given image is running
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't publish detailed information but we publish numbers: https://github.com/EGI-Foundation/cloud-info-provider/blob/2d0fe14c8fecf91062d8fd4a9678987912de07bf/etc/templates/compute.glue21#L54-L57
as computed by https://github.com/EGI-Foundation/cloud-info-provider/blob/2d0fe14c8fecf91062d8fd4a9678987912de07bf/etc/templates/compute.glue21#L21-L24
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok.
looking at the glue draft, I see there is no link between instances and images, so publishing the instances would not be really useful :(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was looking at the table with the description and if I'm not wrong it's missing there. I have added a comment in the spec draft
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have nothing of value to add. I have at least read the PR though 🤷♂️
cloud_info/providers/openstack.py
Outdated
return obj_name[start:end] | ||
|
||
@_rescope | ||
def get_compute_endpoints(self, os_project_name=None, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alvarolopez this change (and the similar ones on get_templates
and get_images
are not coherent with the base class:
https://github.com/EGI-Foundation/cloud-info-provider/blob/d07d879094e631c26e0f051eaa9721f8fa7139a2/cloud_info/providers/__init__.py#L17
Is there any clean way to easily handle this?
38d4d30
to
81cbe7b
Compare
5d2c21b
to
7eff834
Compare
@gwarf looks like bad credentials here are making the deploy fail in PR's. I think this is intended . https://community.egi.eu/t/travis-papercut-managing-secrets-with-travis/216/3 |
The deploy step are made for PR, but only for tags, but indeed there is still a problem with the credential in the master branch, but I'm lost, I've tried two times to change/update them and to recreate the tag but it still fails :/ |
…point and to a share.
* Use project ids instead of project name * Use Keystone URL instead of nova's * openstack: load all available authentication plugins * Load keystoneauth1 session arguments * Nicer error information when templating * Make it work with Keystone v2 Avoids having different endpoints for each of the supported projects. OCCI endpoint still uses the OCCI URL to keep compatibility. Instead of only loading the v3password authentication plugin, lets load all the available keystoneauth plugins so that the user is able to use their preferred authentication method. Fixes EGI-Federation#86 Small changes to play nicely with Keystone v2 so it works with Keystone-VOMS authentication that it still the main one in the production infra.
* Adapt endpoints information * Fetch nova URL and version for Glue1.2 render * Renamed cloud_info to cloud_info_provider This bring some coherence to the package and should fix coveralls build
Avoid importing OS libs without try/except
OpenNebula support. * Avoid failing if one endpoint is not present Useful if the site does not support OCCI * Add missing getters to providers * Refactor SSL code Put the code into the baseprovider so it can be used by OpenStack and OpenNebula providers easily. May be worth to put it as a separate class. * Avoid project which is too OS centric 'project' is OS specific and does not fit within the ONE naming. Also used os_project_id as the configuration variable to be explicit about using the id and not the name. * Scope images and templates to the VO * Set default membership in shares Assume it's equal to the VO name for convenience if not defined.
Fix core.py tests.
4dc0ae5
to
f0f5623
Compare
So unless anyone is against it I will merge this once the codacy report will be available. (@brucellino ? @enolfc ? @alvarolopez ? Any remark?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks Crazy To Me :)
Summary
This Work In Progress PR adds initial support for GLUE 2.1 Schema that includes improved cloud-specific information.
It's based on some quite old work done in the context of the INDIGO project (it includes work on keystone v3 support and other aspects by @alvarolopez).
It consists of GLUE 2.1-specific LDIF template files, but as the data structure between GLUE 2.0 and GLUE 2.1 differs vastly, it was needed to update the provider too.
test_core.py
andtest_static.py
) are still using a lot of@unittest.expectedFailure
and should be fixedTo be done (or at lest considerder) before merge:
@unittest.expectedFailure
tests forcore.py
andstatic.py
providersRelated issues : #35, #87 and #88
And some emoji as requested by @brucellino:⚠️ 😓 🚧 🕴
😄