[
https://issues.apache.org/jira/browse/LIBCLOUD-140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13181317#comment-13181317
]
Dave King edited comment on LIBCLOUD-140 at 1/6/12 1:32 PM:
------------------------------------------------------------
Just attached a first attempt at a patch (libcloud-140-attempt-2.patch --
ignore attempt-1, that's a git am patch). This exposes most of the updates and
deletes in the LB API.
New functions:
* ex_destroy_balancers(self, balancers):
* ex_balancer_detach_members(self, balancer, members):
* ex_balancer_detach_members_no_poll(self, balancer, members):
* ex_balancer_update_member(self, balancer, member, **kwargs):
* ex_balancer_update_member_no_poll(self, balancer, member, **kwargs):
* ex_update_balancer_health_monitor(self, balancer, health_monitor):
* ex_update_balancer_health_monitor_no_poll(self, balancer,
* ex_disable_balancer_health_monitor(self, balancer):
* ex_disable_balancer_health_monitor_no_poll(self, balancer):
* ex_update_balancer_connection_throttle(self, balancer,
* ex_update_balancer_connection_throttle_no_poll(self, balancer,
* ex_disable_balancer_connection_throttle(self, balancer):
* ex_disable_balancer_connection_throttle_no_poll(self, balancer):
* ex_enable_balancer_connection_logging(self, balancer):
* ex_enable_balancer_connection_logging_no_poll(self, balancer):
* ex_disable_balancer_connection_logging(self, balancer):
* ex_disable_balancer_connection_logging_no_poll(self, balancer):
* ex_enable_balancer_session_persistence(self, balancer):
* ex_enable_balancer_session_persistence_no_poll(self, balancer):
* ex_disable_balancer_session_persistence(self, balancer):
* ex_disable_balancer_session_persistence_no_poll(self, balancer):
* ex_update_balancer_error_page(self, balancer, page_content):
* ex_update_balancer_error_page_no_poll(self, balancer, page_content):
* ex_disable_balancer_custom_error_page(self, balancer):
* ex_disable_balancer_custom_error_page_no_poll(self, balancer):
* ex_create_balancer_access_rule(self, balancer, rule):
* ex_create_balancer_access_rule_no_poll(self, balancer, rule):
* ex_destroy_balancer_access_rule(self, balancer, rule):
* ex_destroy_balancer_access_rule_no_poll(self, balancer, rule):
* ex_destroy_balancer_access_rules(self, balancer, rules):
* ex_destroy_balancer_access_rules_no_poll(self, balancer, rules):
This defaults all update/disables to polling the Load Balancer until it returns
to RUNNING state, as that's what was done for the recent update_balancer
function.
I'm a little concerned: currently old functions like attach_members won't poll
until the Load Balancer is finished. Should these be changed to match these
new code patterns as well? (Doing the polling client side seems kind of a
pain.)
--
I added accessList to a Load Balancer 'extra's as I noticed it was being
returned with the full details. (This has either changed since I implemented
most of the 'extra' work or I just missed it the first time.)
The fixture changes were to make the returned ids in the fixtures consistent
with the ids used MockHttp fixture (I messed this up when adding them.)
was (Author: tildedave):
Just attached a first attempt at a patch (libcloud-140-attempt-2.patch --
ignore attempt-1, that's a git am patch). This exposes most of the updates and
deletes in the LB API.
New functions:
* ex_destroy_balancers(self, balancers):
* ex_balancer_detach_members(self, balancer, members):
* ex_balancer_detach_members_no_poll(self, balancer, members):
* ex_balancer_update_member(self, balancer, member, **kwargs):
* ex_balancer_update_member_no_poll(self, balancer, member, **kwargs):
* ex_update_balancer_health_monitor(self, balancer, health_monitor):
* ex_update_balancer_health_monitor_no_poll(self, balancer,
* ex_disable_balancer_health_monitor(self, balancer):
* ex_disable_balancer_health_monitor_no_poll(self, balancer):
* ex_update_balancer_connection_throttle(self, balancer,
* ex_update_balancer_connection_throttle_no_poll(self, balancer,
* ex_disable_balancer_connection_throttle(self, balancer):
* ex_disable_balancer_connection_throttle_no_poll(self, balancer):
* ex_enable_balancer_connection_logging(self, balancer):
* ex_enable_balancer_connection_logging_no_poll(self, balancer):
* ex_disable_balancer_connection_logging(self, balancer):
* ex_disable_balancer_connection_logging_no_poll(self, balancer):
* ex_enable_balancer_session_persistence(self, balancer):
* ex_enable_balancer_session_persistence_no_poll(self, balancer):
* ex_disable_balancer_session_persistence(self, balancer):
* ex_disable_balancer_session_persistence_no_poll(self, balancer):
* ex_update_balancer_error_page(self, balancer, page_content):
* ex_update_balancer_error_page_no_poll(self, balancer, page_content):
* ex_disable_balancer_custom_error_page(self, balancer):
* ex_disable_balancer_custom_error_page_no_poll(self, balancer):
* ex_create_balancer_access_rule(self, balancer, rule):
* ex_create_balancer_access_rule_no_poll(self, balancer, rule):
* ex_destroy_balancer_access_rule(self, balancer, rule):
* ex_destroy_balancer_access_rule_no_poll(self, balancer, rule):
* ex_destroy_balancer_access_rules(self, balancer, rules):
* ex_destroy_balancer_access_rules_no_poll(self, balancer, rules):
This defaults all update/disables to polling the Load Balancer until it returns
to RUNNING state, as that's what was done for the recent update_balancer
function.
I'm a little concerned: currently old functions like attach_members won't poll
until the Load Balancer is finished. Should these be changed to match these
new code patterns as well? (Doing the polling client side seems kind of a
pain.)
--
I added accessList to a Load Balancer 'extra's as I noticed it was being
returned with the full detials. (This has either changed since I implemented
most of the 'extra' work or I just missed it the first time.)
> Rackspace LB Driver: Update Configuration Options
> -------------------------------------------------
>
> Key: LIBCLOUD-140
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-140
> Project: Libcloud
> Issue Type: Improvement
> Affects Versions: 0.7.1
> Reporter: Dave King
> Priority: Minor
> Labels: loadbalancer, rackspace
> Attachments: libcloud-140-attempt-1.patch,
> libcloud-140-attempt-2.patch
>
>
> Currently the Rackspace Cloud Load Balancer API exposes Health Monitors,
> Connection Throttle, Connection Logging, Session Persistence, Error Pages,
> and Access Lists.
> Libcloud should expose these to be updated/disabled (like name, protocol, and
> port are currently allowed).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira