Skip to content
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

Update keeper module #33

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Update keeper module #33

wants to merge 3 commits into from

Conversation

ivanovmi
Copy link
Collaborator

@ivanovmi ivanovmi commented Dec 19, 2016

@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 4294fa1 on fix_flavor_removing into 0a380b4 on master.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 4b74db0 on fix_flavor_removing into 0a380b4 on master.

- Added static method for validating uuid4
- Added simple check, that continues keeping
  default flavors in openstack without deleting
- Remove strong constraint. Reason:
  https://github.com/openstack-dev/pbr/blob/e0d26741/pbr/packaging.py#L915
@ivanovmi ivanovmi force-pushed the fix_flavor_removing branch from 4b74db0 to 2a79bb9 Compare December 19, 2016 15:24
@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 2a79bb9 on fix_flavor_removing into 0a380b4 on master.

@@ -119,6 +120,10 @@ def get(self, client_name, resource_name, param=None, func=None,
else:
probe = getattr(el, param)(*args, **kwargs)

if (resource_name == "flavors"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's not quite right place to it, that changes affects all the get operations for flavors.
As I remember default flavors have specific names, so what if make a change in main.py on 82 line just for getting that bunch of flavors? That way only default flavors could appear in cache and not the user created flavors if they got here. For getting them you can use even the same admin_keeper.get() operation with filter function for a specific line of flavor names) And after that you can look at how cirros avoid to being deleted by the name in spam_factory.py on 454 line, and do the same :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@FromZeus Hi, thank for review! I think that hardcoding a bunch of names is a wrong way :)
But, also i think that I can move validate_uuid method to spam_factory module, and iterate over list of flavors - and if id of flavor is uuid - we can remove this flavor. This allow us doesn't to break our cloud, and doesn't disrupt logic of keeper.get() method
Reason, why I using uuid validation - because standard flavors creates with custom id (not uuid) and our flavors will be created with auto-generated uuid

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey :) Hm... What if somebody will create a custom flavor by hands, so that flavor will have uuid too, then while validating of uuid that flavor will be deleted. Is this possible situation?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Possibly yes :)
But if we hardcode some parameters, this will be wrong too (from my POV).
As possible solution, we can save current state to db, and duplicate this info for more safety. Or, we can change mechanism with assigning custom id, like spamo-{iteration_number}, and keep resource, if id doesn't start with spamo

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, if you could just pass an id which will contain spamo- as prefix and then just check it in spam_factory.py delete method of flavor that would be a better solution :)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm agree with the use of the defined prefix for all resources to be able to remove them whenever we want.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All the resources have already a distinguish as a placement to the cache thus they could be cleaned up with spamostack --clean all for example. But flavors are an exception in sense the default flavors placed to cache for initial usage. So there is no need to use that prefix for all the resources or is there?

Copy link

@akscram akscram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please, use the defined prefix for resources to be able to distinguish and delete them.

@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling 705abe3 on fix_flavor_removing into 0a380b4 on master.

@ivanovmi ivanovmi requested a review from akscram December 26, 2016 14:41
@coveralls
Copy link

Coverage Status

Coverage remained the same at 0.0% when pulling c5160e2 on fix_flavor_removing into 0a380b4 on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants