[
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:31 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 detials. (This has either changed since I implemented
most of the 'extra' work or I just missed it the first time.)
was (Author: tildedave):
Just attached a first attempt at a patch (libcloud-140-attempt-1.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