[ 
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

        

Reply via email to