-
Notifications
You must be signed in to change notification settings - Fork 3
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
Use a custom designate driver for FIP's #70
base: stable/yoga-m3
Are you sure you want to change the base?
Conversation
47fec91
to
0cc8559
Compare
672dc6d
to
1be302f
Compare
1be302f
to
a5bd376
Compare
Use designate /v2/reverse/floatingips/ endpoint to create DNS zones and DNS entries during FIP creation. Current driver uses zones and recordset endpoints instead of specific designate endpoint.
a5bd376
to
b44f3e7
Compare
neutron/services/externaldns/drivers/designate/driver_ccloud.py
Outdated
Show resolved
Hide resolved
neutron/services/externaldns/drivers/designate/driver_ccloud.py
Outdated
Show resolved
Hide resolved
neutron/services/externaldns/drivers/designate/driver_ccloud.py
Outdated
Show resolved
Hide resolved
neutron/services/externaldns/drivers/designate/driver_ccloud.py
Outdated
Show resolved
Hide resolved
fa3f049
to
20d9ba7
Compare
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.
only some minor things
neutron/services/externaldns/drivers/designate/driver_ccloud.py
Outdated
Show resolved
Hide resolved
class DesignateCcloud(driver.ExternalDNSService): | ||
"""Driver for Designate.""" |
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.
It looks like your code is almost identical to neutron.services.externaldns.drivers.designate.driver.Designate
. You could inherit that class and then only use the methods that changed, i.e. create_record_set()
and delete_record_set
.
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.
If I read the git log correctly, we already extensively modified that driver compared to upstream.
This means updating to a new release would mean patching two classes. If we want to avoid that we would need to compare the currently proposed new driver to upstream first and then overwrite the changed methods.
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.
Yes, we already have a changes for driver.py.
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.
Ah, I see. Would it then make sense to - in an extra commit - change the driver back to original? Then we have the usptream driver there and only our changes in our own driver.
client, admin_client = get_all_projects_edit_managed_client( | ||
context) |
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.
This seems to be the only change to the already existing Designate externaldns driver for this class. Why do we need this change here? It doesn't seem to be related to the FIP problem you set out to solve. If we don't need it we could just use the already existing delete_record_set()
and would have less code duplication.
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 need it to avoid leftover ptr's.
@@ -0,0 +1,654 @@ | |||
# Copyright 2012 VMware, Inc. |
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.
A lot in this file seems to be copypasted from different parts of the neutron tests. Please import all unchanged classes from somewhere else and don't just copypaste them into your code. Only keep things you are actually changing. Please also only keep tests that actually test something relevant to your change. If it's not actually testing something regarding your own class we don't need to copy it over.
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 is no sense to import classes from other code if we won't to stay more independent from upstream changes.
No description provided.