From 443ac95f373d55bbd6af88c2f5bca8cf97869103 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Fri, 6 Sep 2013 16:38:11 +0100 Subject: [PATCH] [DOCS]: Updates to include auto-failover and log archiving Change-Id: Ib438fe7a97f8807aec6eaed8285785894e3dd4e0 --- doc/admin_api/about.rst | 10 ++- doc/admin_api/config.rst | 22 +++-- doc/admin_api/index.rst | 1 + doc/admin_api/schedulers.rst | 66 +++++++++++++++ doc/api/api.rst | 74 ++++++++++++++++- doc/api/config.rst | 5 -- doc/index.rst | 1 - doc/libralayout.png | Bin 76648 -> 65055 bytes doc/pool_mgm/about.rst | 17 ++-- doc/pool_mgm/code.rst | 131 ----------------------------- doc/pool_mgm/commands.rst | 154 +++++++++++++++++++++++++++++++++++ doc/pool_mgm/config.rst | 50 ++++-------- doc/pool_mgm/index.rst | 2 +- doc/sources/libralayout.odg | Bin 16682 -> 16493 bytes etc/sample_libra.cfg | 25 ++---- libra/mgm/mgm.py | 4 - 16 files changed, 349 insertions(+), 213 deletions(-) create mode 100644 doc/admin_api/schedulers.rst delete mode 100644 doc/pool_mgm/code.rst create mode 100644 doc/pool_mgm/commands.rst diff --git a/doc/admin_api/about.rst b/doc/admin_api/about.rst index 83cb5ac9..3123352d 100644 --- a/doc/admin_api/about.rst +++ b/doc/admin_api/about.rst @@ -4,8 +4,11 @@ Description Purpose ------- -The Admin API server listens for REST+JSON connections to interface various -parts of the LBaaS system and other scripts with the LBaaS database state. +The Admin API server listens for REST+JSON connections to provide information +about the state of Libra to external systems. + +Additionally the Admin API has several schedulers which automatically maintain +the health of the Libra system and the connected Load Balancer devices. Design ------ @@ -14,3 +17,6 @@ Similar to the main API server it uses an Eventlet WSGI web server frontend with Pecan+WSME to process requests. SQLAlchemy+MySQL is used to access the data store. The main internal difference (apart from the API itself) is the Admin API server doesn't use keystone or gearman. + +It spawns several scheduled threads to run tasks such as building new devices +for the pool, monitoring load balancer devices and maintaining IP addresses. diff --git a/doc/admin_api/config.rst b/doc/admin_api/config.rst index e6c2e91f..e12b6301 100644 --- a/doc/admin_api/config.rst +++ b/doc/admin_api/config.rst @@ -16,6 +16,7 @@ Configuration File db_section=mysql1 ssl_certfile=/opt/server.crt ssl_keyfile=/opt/server.key + gearman=127.0.0.1:4730 [mysql1] host=localhost @@ -39,7 +40,7 @@ Command Line Options The port number to listen on, default is 8889 - .. option:: --db_secions + .. option:: --db_sections Config file sections that describe the MySQL servers. This option can be specified multiple times for Galera or NDB clusters. @@ -90,11 +91,6 @@ Command Line Options How long to wait until we consider the second and final ping check failed. Default is 30 seconds. - .. option:: --stats_repair_timer - - How often to run a check to see if damaged load balancers had been - repaired (in seconds), default 180 - .. option:: --number_of_servers The number of Admin API servers in the system. @@ -123,3 +119,17 @@ Command Line Options A list of tags to be used for the datadog driver + .. option:: --node_pool_size + + The number of hot spare load balancer devices to keep in the pool, + default 10 + + .. option:: --vip_pool_size + + The number of hot spare floating IPs to keep in the pool, default 10 + + .. option:: --expire_days + + The number of days before DELETED load balancers are purged from the + database. The purge is run every 24 hours. Purge is not run if no + value is provided. diff --git a/doc/admin_api/index.rst b/doc/admin_api/index.rst index f6137510..bf69ee7e 100644 --- a/doc/admin_api/index.rst +++ b/doc/admin_api/index.rst @@ -6,4 +6,5 @@ Libra Admin API Server about config + schedulers api diff --git a/doc/admin_api/schedulers.rst b/doc/admin_api/schedulers.rst new file mode 100644 index 00000000..ae265268 --- /dev/null +++ b/doc/admin_api/schedulers.rst @@ -0,0 +1,66 @@ +Admin Schedulers +================ + +The Admin API has several schedulers to maintain the health of the Libra +system. This section of the document goes into detail about each one. + +Each Admin API server takes it in-turn to run these tasks. Which server is +next is determined by the :option:`--number_of_servers` and +:option:`--server_id` options. + +Stats Scheduler +--------------- + +This scheduler is actually a monitoring scheduler and at a later date will also +gather statistics for billing purposes. It is executed once a minute. + +It sends a gearman message to active Load Balancer device. There are three +possible outcomes from the results: + +#. If all is good, no action is taken +#. If a node connected to a load balancer has failed the node is marked as + ERROR and the load balancer is marked as DEGRADED +#. If a device has failed the device will automatically be rebuilt on a new + device and the associated floating IP will be re-pointed to that device. The + old device will be marked for deletion + +Delete Scheduler +---------------- + +This scheduler looks out for any devices marked for deletion after use or after +an error state. It is executed once a minute. + +It sends a gearman message to the Pool Manager to delete any devices that are +to be deleted and removes them from the database. + +Create Scheduler +---------------- + +This scheduler takes a look at the number of hot spare devices available. It +is executed once a minute (after the delete scheduler). + +If the number of available hot spare devices falls below the value specified by +:option:`--node_pool_size` it will request that new devices are built and those +devices will be added to the database. It records how many are currently being +built so long build times don't mean multiple Admin APIs are trying to fulfil +the same quota. + +VIP Scheduler +------------- + +This scheduler takes a look at the number of hot spare floating IPs available. +It is executed once a minute. + +If the number of available floating IP address falls below the value specified +by :option:`vip_pool_size` it will request that new IPs are build and those +will be added to the database. + +Expunge Scheduler +----------------- + +This scheduler removes logical Load Balancers marked as DELETED from the +database. It is executed once a day. + +The DELETED logical Load Balancers remain in the database mainly for billing +purposes. This clears out any that were deleted after the number of days +specified by :option:`--expire-days`. diff --git a/doc/api/api.rst b/doc/api/api.rst index bd2242f8..64b69f1e 100644 --- a/doc/api/api.rst +++ b/doc/api/api.rst @@ -319,6 +319,8 @@ by the LBaaS service. +-----------------+------------------------------------------------------------+----------+-----------------------------------------------------------------+ | Virtual IP | :ref:`Get list of virtual IPs ` | GET | {baseURI}/{ver}/loadbalancers/{loadbalancerId}/virtualips | +-----------------+------------------------------------------------------------+----------+-----------------------------------------------------------------+ +| Logs | :ref:`Archive log file to Object Storage ` | POST | {baseURI}/{ver}/loadbalancers/{loadbalancerId}/logs | ++-----------------+------------------------------------------------------------+----------+-----------------------------------------------------------------+ 5.2 Common Request Headers ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -2270,6 +2272,74 @@ if not found. ] } +.. _api-logs: + +22. Archive log file to Object Storage +-------------------------------------- + +22.1 Operation +~~~~~~~~~~~~~~ + ++----------+------------------------------------+--------+-----------------------------------------------------+ +| Resource | Operation | Method | Path | ++==========+====================================+========+=====================================================+ +| Logs | Archive log file to Object Storage | POST | {baseURI}/{ver}/loadbalancers/{loadbalancerId}/logs | ++----------+------------------------------------+--------+-----------------------------------------------------+ + +22.2 Description +~~~~~~~~~~~~~~~~ + +The operation tells the load balancer to push the current log file into an HP Cloud Object Storage container. The status of the load balancer will be set to 'PENDING_UPDATE' during the operation and back to 'ACTIVE' upon success or failure. A success/failure message can be found in the 'statusDescription' field when getting the load balancer details. + +**Load Balancer Status Values** + ++----------------+---------------+--------------------------------+ +| Status | Name | Description | ++================+===============+================================+ +| ACTIVE | Load balancer | is in an operational state | +| PENDING_UPDATE | Load balancer | is in the process of an update | ++----------------+---------------+--------------------------------+ + +By default with empty POST data the load balancer will upload to the swift account owned by the same tenant as the load balancer in a container called 'lbaaslogs'. To change this the following optional parameters need to be provided in the POST body: + +**objectStoreBasePath** : the object store container to use + +**objectStoreEndpoint** : the object store endpoint to use including tenantID, for example: https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/1234567890123 + +**authToken** : an authentication token to the object store for the load balancer to use + +22.3 Request Data +~~~~~~~~~~~~~~~~~ + +The caller is required to provide a request data with the POST which includes the appropriate information to upload logs. + +22.4 Query Parameters Supported +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +None required. + +22.5 Required HTTP Header Values +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**X-Auth-Token** + +22.6 Request Body +~~~~~~~~~~~~~~~~~ + +The request body must follow the correct format for new load balancer creation, examples.... + +A request that uploads the logs to a different object store + +:: + + { + "objectStoreBasePath": "mylblogs", + "objectStoreEndpoint": "https://region-b.geo-1.objects.hpcloudsvc.com:443/v1/1234567890123", + "authToken": "HPAuth_d17efd" + } + + + Features Currently Not Implemented or Supported ----------------------------------------------- @@ -2281,7 +2351,3 @@ The following features are not supported. advertised in /protocols request. Instead TCP will be used for port 443 and the HTTPS connections will be passed through the load balancer with no termination at the load balancer. - -3. The ability to list deleted load balancers is not yet supported. - - diff --git a/doc/api/config.rst b/doc/api/config.rst index 0031fe2e..18b06775 100644 --- a/doc/api/config.rst +++ b/doc/api/config.rst @@ -97,11 +97,6 @@ Command Line Options The path for the SSL key file to be used for the frontend of the API server - .. option:: --expire_days - - Deleted Load Balancers older than this number of days will be expunged - from the database using a sceduler that is executed every 24 hours. - .. option:: --ip_filters A mask of IP addresses to filter for backend nodes in the form diff --git a/doc/index.rst b/doc/index.rst index 858b5e58..2f7c15a3 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,7 +7,6 @@ Load Balancer as a Service Device Tools introduction worker/index pool_mgm/index - statsd/index api/index admin_api/index config diff --git a/doc/libralayout.png b/doc/libralayout.png index 2f9cfcbb519fc5baae182af219a43df30956d570..aaca394750ddba2c2533103c726123a615de4bb5 100644 GIT binary patch literal 65055 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 MKUG&OdTbi_UzDOi<^TWy literal 76648 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 option - to a class implementing the driver :py:class:`~MgmDriver` API - for that API server. After implementing a new driver class, you simply add - a new entry to this dictionary to plug in the new driver. - diff --git a/doc/pool_mgm/commands.rst b/doc/pool_mgm/commands.rst new file mode 100644 index 00000000..667600ae --- /dev/null +++ b/doc/pool_mgm/commands.rst @@ -0,0 +1,154 @@ +Gearman Commands +================ + +The Pool Manager registers as the worker name ``libra_pool_mgm`` on the gearman +servers. Using this it accepts the JSON requests outlined in this document. + +In all cases it will return the original message along with the following for +success: + +.. code-block:: json + + { + "response": "PASS" + } + +And this for failure: + +.. code-block:: json + + { + "response": "FAIL" + } + +BUILD_DEVICE +------------ + +This command sends the Nova ``boot`` command using the Nova API and returns +details about the resulting new Nova instance. Details about which image and +other Nova settings to use are configured using the options or config file for +Pool Manager. + +Example: + +.. code-block:: json + + { + "action": "BUILD_DEVICE" + } + +Response: + +.. code-block:: json + + { + "action": "BUILD_DEVICE", + "response": "PASS", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9", + "addr": "15.185.175.81", + "type": "basename: libra-stg-haproxy, image: 12345", + "az": "3" + } + +DELETE_DEVICE +------------- + +This command requests that a Nova instance be deleted. + +Example: + +.. code-block:: json + + { + "action": "DELETE_DEVICE", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9" + } + +Response: + +.. code-block:: json + + { + "action": "DELETE_DEVICE", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9", + "response": "PASS" + } + +BUILD_IP +-------- + +This command requests a floating IP from Nova. + +Example: + +.. code-block:: json + + { + "action": "BUILD_IP", + } + +Response: + +.. code-block:: json + + { + "action": "BUILD_IP", + "response": "PASS", + "id": "12345", + "ip": "15.185.234.125" + } + +ASSIGN_IP +--------- + +This command assigns floating IP addresses to Nova instances (by name of +instance). + +Example: + +.. code-block:: json + + { + "action": "ASSIGN_IP", + "ip": "15.185.234.125", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9" + } + +Response: + +.. code-block:: json + + { + "action": "ASSIGN_IP", + "ip": "15.185.234.125", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9", + "response": "PASS" + } + +REMOVE_IP +--------- + +This command removes a floating IP address from a Nova instance, preserving +the IP address to be used another time. + +Example: + +.. code-block:: json + + { + "action": "REMOVE_IP", + "ip": "15.185.234.125", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9" + } + +Response: + +.. code-block:: json + + { + "action": "REMOVE_IP", + "ip": "15.185.234.125", + "name": "libra-stg-haproxy-eaf1fef0-1584-11e3-b42b-02163e192df9", + "response": "PASS" + } + diff --git a/doc/pool_mgm/config.rst b/doc/pool_mgm/config.rst index 1bbb824b..095cd8f4 100644 --- a/doc/pool_mgm/config.rst +++ b/doc/pool_mgm/config.rst @@ -25,40 +25,13 @@ Configuration File nova_secgroup = default nova_image = 12345 nova_image_size = standard.medium - api_server = 10.0.0.1:8889 10.0.0.2:8889 - nodes = 10 - check_interval = 5 - submit_interval = 15 + gearman=127.0.0.1:4730 node_basename = 'libra' Command Line Options -------------------- .. program:: libra_pool_mgm - .. option:: --api_server - - The hostname/IP and port colon separated pointed to an Admin API server - for use with the HP REST API driver. Can be specified multiple times for - multiple servers - - .. option:: --check_interval - - How often to check the API server to see if new nodes are needed - (value is minutes) - - .. option:: --submit_interval - - How often to check the list of nodes to see if the nodes - are now in a good state (value is in minutes) - - .. option:: --driver - - API driver to use. Valid driver options are: - - * *hp_rest* - HP REST API, talks to the HP Cloud API server (based - on Atlas API) - This is the default driver. - .. option:: --datadir The data directory used to store things such as the failed node list. @@ -73,10 +46,6 @@ Command Line Options A name to prefix the UUID name given to the nodes the pool manager generates. - .. option:: --nodes - - The size of the pool of spare nodes the pool manager should keep. - .. option:: --nova_auth_url The URL used to authenticate for the Nova API @@ -114,3 +83,20 @@ Command Line Options The flavor ID (image size ID) or name to use for new nodes spun up in the Nova API + .. option:: --gearman_ssl_ca + + The path for the Gearman SSL Certificate Authority. + + .. option:: --gearman_ssl_cert + + The path for the Gearman SSL certificate. + + .. option:: --gearman_ssl_key + + The path for the Gearman SSL key. + + .. option:: --gearman + + Used to specify the Gearman job server hostname and port. This option + can be used multiple times to specify multiple job servers + diff --git a/doc/pool_mgm/index.rst b/doc/pool_mgm/index.rst index 0b011b3b..6b3d9b19 100644 --- a/doc/pool_mgm/index.rst +++ b/doc/pool_mgm/index.rst @@ -6,4 +6,4 @@ Libra Node Pool Manager about config - code + commands diff --git a/doc/sources/libralayout.odg b/doc/sources/libralayout.odg index ebb82800a7376018f8acf149b40f38083e31a330..579f46bd815765804ab0c8f928b33a4fc3d00115 100644 GIT binary patch literal 16493 zcmd73b9|-C(gqqQlT2*ewylXVF(ik&9^R}PaRoW zWHoTsQS-bk7M)0|J2@8ZNIRut8*!R7MK(^?NTZ)<<^%bX;XyzU3{ii9vz57r7VQWD z8YFVxNTS_(Eb&gS>PW0J*%fSv^x0KW5? z;`?iN%f;5#cHQlQ+j;jK;qvLc9sX|1C74a=!a41y1l(0i4#I5E!Il~pz?1v5Y|E|4 zzhG#2&zV+GQPQJF7}k+L4bKidx7yGnKDIC&_d-3s`DmA~T$hT>+0b05Pl?WCfQ2Y5 zm&i*=r#jv|Gb_5Sq}TV8Mtas54_|j}{&1v?c)kRxU(*B};d{Kfx$!GIy%?Y#3GmtQl=xPKT`Vzi)~TyaL$5p%Ml?Cno_r4u%r&(z`>;( zFI~or@fD+if{7}9O(Kt{&D)3}vq_DL4pQ~@)YiH6jPxFtk;;&ftK)irMxJD=rX=4% z2X!{c2`};6<|I8hMie+?aKDBI>i?Q6Gbre;r3&WMZ!kRktMW$hGaN`|rPM26U32malI}#yQ$S1>GotYxxS>(0s8c) zH(9QAdU?@-pIH0(JYNE6dp;S+%Oi+oaXMLU_l1}(RIb$-O@<;8S?g)1tv_=|1Hwd>!};IP9f=p_loAEWqw%^s8RKz#&g>c8)x7p0lBt2i*m8_@b}OO4H5eTZu_(P z{oYn3<&4DPN#ex!TPmu|Z4w*=w^f+bTkSSGIFG192Z9c4-{ITXMf}9c?%4=o3I`77 zn9*ny!w56cz0%urH=cUla6_y%n6+Ch>C}b749P1u7@k93fsi~o+Nn))JvyAOeQ9{q zQft1s9ArKT)ad-8>U<`-X?K)}md8RQ_IdE-5vPc#ppbZ81?T{~!|^VmcXg3ukfX+@1w!T`} zI3Ys#wY?N7K^(YPBkzp5>-OBag(dD_W5YhFP+U3#2~ENTJXu7^$)r@XxE_@+nV{Kb z>Sxt^HN!0uH>BT~K`~`D20_(sQr@E1s3xq~B!$nfOU6smGrz2JG_OjHA{Vs|mW9IJ zGry*1@T=$AOj(bF2m}mVS&J5%7hek<4J0K4!{KZ^w0SrR6ckiBKEdBVKy+|`e|YGZ z93i1-o%7v09kWOYjaNz4W9ROx1zMb^lN;ICF0~ToR|Y(2_Mc5bVy=T|>dGq@BkNg< z9zE-;NI(carDD?YF{}(8m*>h$AIGaDW#ki`)uwNSAIqH=+V3}0cVz*;5Vv_>9(zxn zHZBy(J`P|z)jvieDN!dK985#6C#zOoDNew+K)&lu7KMS8(a^vN`F-61V*n!ldcVPO z0l2$+uPL4qJ$0#`uvZ`q8Zu+pHFG_!>&Ktk)lFHjQJ^BuNq#k);yv<%8_D zuFlwJsrqV5XG7A({rS6uvZ(^LOtW2hyp-CB^=8S_q4Bs-R37^brd?$|BJz=1lW-~C4iBb#iSjw)W;?NUtTDXL&L z2S)1n)DaK8Fjy}=T4gUAu<3zF1UcXNpnfZptJ8kc5we+=5W>-@a_>$=Y_5^A0Y9o9 zOGE zfH+z)BAV zl9f`#+neD0ieaR8TWs7eA9pW1c7_bKRLtIEOL#hsi|U398bLgd8A*aV<;TfK5)h?o zkJ?`F?446xl84wqC%GLVV}dDP*+m;Uj*LfopTmkD1|3?t1XGm{Nm- zgWVp^9qjG7uKEy}nVC5`XEJrtY?S z?HwFI!N3v|5>%-Y1%qJ7kszDjqEph+FflM%U2gU#c|W*#cyMNK?iRF*3JV2zkecm} zs`T6+`4GZNHK<>80h+yy^3fiykiDALEaI1;3ew)bhSa3*`=V1`qOw+-8 zUngdgu(>4abG@C=40XGJp}dnW-+T5p&593Bd-iTY(Zrf?`vE)Pk+hA4LIgB_y%}^C zhp=V(y442GLZJVMmUVq9A6^Zi{A@i9oCcMoONt)^lO|P|pHj!h(KZggDUK`c`ok?+ zu=BYIwbAn8{Ip(WjC!0pgCc=}Y$$tyR8p+GvU%&^z=$PnSzSHe$474<0vx?t0;Mhm zON7fk@vF=8n_e(Yzeagtj9?HyBud#{+Q*BZBz_h%?OD&mh7V7r2G>v9H3`y492`_k zR2G8mv0*F2i4-rE3n7(92wOB8dvmOx0}v=Icin7=qp!G+t{K#`w32esK!}49g1&vq zl;Mba`E+D1yG9Hz3qg+wXS`lDxEvZPvP$lIB?gqpBi_3$P!n0tb#LKrabhcT#L8q$ z6mvsEze?}taVqY|oV&GG5%)zxMlBR8HNuQliim%|bqjy{WUlZPLGW6^ zEgUtu#~&;#M|E>>u$4Em={093keoOO+5FhghJ>cwq_ou{lVu4PXA8C!Gou>?@4?Kp zf$Jtex1bmD2BTuauyN58Ly|=ffR|@J7_+(rb|A%BT`9WX6xUxm@-C<^mG~iJgY}LX zL3MJ`PQ+i_ka*aOjPWrus$r7O|1OD;DM{BbP#~qWT)UJhRcNGJJu;n8eM!yh>9~uh za%Z!3>y65Nbyiedd}OLuzBgQ%!?|f9w}_c?9!6&MLi-!yHrF}!)7X42s);~4?L}aN zWx6!A`|5(IIPFBz!P(G3H&2k6nTHG(!76Xy)c^6iodI!fQTRNZ0lE6Nh>SMxvT}br zrrmuuH_r_*F?phqp;*tvn>XNGAkcSP{qZPTo-}sY#r~(RTsF61^mYt}b(lM}htPGCDzydrtrpqBWzq*EEYd#}mkRBh`tv3O-jTINm4v zA%7s65JCUvOVez{Lxr-|16qhpkE!-ml!=xFm_Y4Hg}AEe?<8VNha7qJ~eQLYs9E?4V>$EkB#`5;W2OU$fMBZ-Uat1U+r@?b=b8-}1* zN^F;)iczUhIu!lJV{@xp$Q9LRbjNS4i0%)pY%WAF(W~LB5u=&#wedanZhBO{q*Kqg zdt>9=M`X1XtBBf<-4(j=V}0-r-&PY#uv6nZ%?ngT=CbzL=(G0)*5o!`m#}IS^Ipl@ zTt_)9*rUMD=Z3&%hmtl?{~=(WGT6ZZzhJ)=<1kU7oEgS=dh#)34?>NM&-;lH4fP9Y zR9P{O#3bd`&UYeQCiv$6D`=9A>h|hevT<0`#qwQ@cIYpZ3%_S)?@+aw?IpRuuB(fR#nsgnI4sU;tpU_7 z<56!AY_G)2!-aOIC--h1kAFX09yN#H=Q5_LiA^LDg##V+8Q8!U&}w(IIbZ3L)md)| z+|yn#^=jgxR$&-&kw8ViIG9$9TO^VrzH>luE9cAD*`VwYO&Lh0GLbVeAtA_@)VH*> z6cve-Cp#wwM~g@lAmfoHJW1wsL*8#SNo$cF$9pnu%r9(QhFO&2u8dWVew81uhY zDyJdjzWD*a&1x#4C4D2x?e?W=g;dRZTAK6}$@IJ)CMC*|CHt28WWvSF>~NTb3HfH!JhLUyPjB>92MGs$o==^cCgj)LS*ARr=q7Z_(#VG_h9Ga-H#7mOGN+`zKwN1D zC3<;ifj@Z)Ngi=IEZ>eItE0S%d_;ilWgS-5J-g~bQxTgv9h}C+1GLpbw|7CYDfv;r z)7$uHd&hLM0aDtG8)hSmLk;OK_L>MQv|0|ToqOu@ZRO7co(p&Ga$e9$t zVfI>P`_{TEsLvl{BN^HyCLqwA%;ct2Dz8?d%KV24L?|FB?UW~79h%{_?PpjzHa2#D z?>KZD-{5`%%(2ki%oZU6tanGRHy|snq@+YbM8pTp@J4SxaEWrAVTU~J&lXkoVm5?O z!+2unC#97PVz*{6n)vB7d3kwBRE@@oZmQ!tU95Av-X5kho8{)^VY;O-8o@9XT}B)o zA2XnR-Hmr4bGhCXJIrKcU`T#vV`Fpf4TQGTUT&bqxahn%PK2Rp^!8>G!pZ2rtbjFU zQL57Nc)Z+dT6aBJtkI*>2wKsWm)C7j<43Wuu=oT+ixCzP$>i}!H4i0vv(eGP=M`yf zeVVmM22BEmLP0`B6?9#1bCGl-kE>xMz=3o>$tx)_d4GMHsta{(kXKY>wpgww|6bU2 zh+P`UZty-^@*R`al8TzTqNGIUd8e(7>#(l3rw7L+0e^eoUH{?7J}s`t?Ju*cb}&Kc zwDE!ZB&*Kxvy`-nt|lH9i)EtY6OSf~l>scuj|t9;U@YmZAV}ZAcDIMm6-O^KD)Ru) z@Eyp*><2ATR((=teK{=bq;_)VU58aokr&M_x?wjchTN3UXE5*T$}ywmy3E1J!`w-{ zp8qCOig^02Z`f^cw%jlk--GuRET3jPtvOKHc-j(~;S9_0df#B1Uh(bd~}k2Al!f zRdYHVX?r95tF{NyUY2&#)7pZSs6thXuBgr;9H?tGg;Q83Z)$qSK-EfBUW=!|boz4bsGLoRt3}e1J{^X= z-cB4=SO8_-9CgI;yojub!*Iaxa9B7;h0+W>_tO`d56W~#tUJK7?r`CLO< zWxy$q7Mv0x+po|rsgSMulJ59ZqYFjF{56A>k$H_GuDoea1ZP+LgI!@i5NzB*z<10K z7^%U#2k*8XxhEX1R7jIvDbZEwl>2VDLBM~$r_oewz^E+J#~D5FH(ru^1pB*UKH6~Y z18L8I_t5+$n*2*}iBIK0*U8Qy5@dUasNpe6=(XoRIW{ze#~ThgLWcvF$dfJdjk~o* zNq}Iv^-5%a0@{%miOdPG>pLF^ zz|Y;{Ub9;{r?OCgw(}2px%a1EdU=Dt-9dRhk2UWnE;KMDV%`*vWI!&o0Z6SpSdu=Q zr-riS%F1|`5@Z8nB00Od9@7SXho&_%%VteR3fu7RAH{82t)H95pUz_R#lzd!jy{*iDqu-Bn+wlI%S_+^_C3i3ASo#p z3ilHfTVIJ%_64ms)SpiYOl_UvSz_LX6Tl~^Y3W1hgW~sO{-_KgVBdpsq(0}enHvT8DBtl&R=h@Y4Z<3gD-7nRdEb^1$J~9W4gf zrQDu&cg;ytP@8jldO8mfBgwi7Kd@KTeO|1D0j&l6wgbc{R%QjV*0cCXr>q1x1jd7R z^%fuiKrjdZz<(YVUq8o(oq@f*iKUU<@1e1#rfIj#_Bk}Pf9c%oI5|SFe6biOvj1A+ z0|tS%1J`NqPh1^FZ$hpxCRt3mbY7p zr!5xX6wHR?s_&?bmg0J)xApxjN}VIa6{b|+Scr$9Z3yll7s`z^5K&2!w}Vm$zeK)^ zONqEkw0tCk0vc`!rtJK_vQYmdk@$Y-wQ|!IM?s>1EwXC+gc4&yyf&At;P$A|432;# z8$bq{C(7DsjHW_xcs4B~toFQ}GgJO~{7}EkRkvizK&+L#;$!{Zup?-4Py87L`xv}u z|I2%~vbXbl3!T`8pK4Ww>zdotNk;psOjuHd)H`)uE;W!F27O^K5cnNE+qc zlk5IV8Jyj7`qxkmIZK*AD}1YcoQ4mz=gS;h8qZ(g{J#j{sNq)+1g@^;#0P`Dp_C6) z!navg8RM>G{RMIoK|}@|%mZ=E>mqpXH%a4lLB8d%fF|ciT;4^;df;|~x~4&YfsjnC zPWL^~vB!7C9g{`%XN;Kcqt{I?A`*~ZBEvR!PCyQM99~hc>&)gm$j{U+!$%RX)54!su4>W8}Gmpq~SvK z%aEJn2QkA256_RoHz`dt_)5rz>7}YDrzP{FFv3{Bjs8>^hkc0m)%fYj99M|~r&XP0VBc#$m`L}|y@-EvPj7iZq@txQPjq&pqx1XR*YAc&W&pq6z^NUccw zo1rW}i(;&8f!!ung(NEZFZ2;Q{7Hz7o4v=P`4?CNuyk#Mxr0@31HdApXaz**lbeZE zeehA)LH%EH;xb#%7o4Eh@?P=m+CVL1K~3xx+O;ZAKB}Ao>zF+TID21C#asCKho;0% z49Ly)KVUqU??lCg?m@vdZR)#Uxh{c4m5Aez@#NR}1g>ceiw4<2LQNX0R*Jm*zoqhyoX)CF* z3hAUadlhu#g8^zqpg~>$f?Ls29pj)PGRMiHp=Tf#MDc!v`U84dL5Q2j^;V%}=<6YK zkbnrB20$N^HcaN*8bOY*&UuuyPH-`jVjgk-ur!oTjzN^-_ixF@zTUAFpi!<3#q;vb zmcD7}VG#u2t^sA_G*66Z0&R}-NLVcwy#R&`8R6o4hPQE!PYSfEyXDX-vX7MG0qxfG z<*?p&(QtNT*P^!2k|dCxcOOwBZ#}}nG31f1ot6iH2EikCPUtOfg{USIBD9qqUnJT)IV~W>&mtw8H97RlYl;Xb z4(ymhs)GYLr@MY@gIQpT1%vOx*>HLxZU{s|39!gvjq{2PO&@+DNu`Sj6JU|U zBA#grz8iR*@fxrE$L*%K3Z)|&>mv|UEyrAGD zzG7~wDZhq@+Rd=ZoR#ujB{q%l?!g6G-;B=n%QB(n5l@ucVhT9gv3QkPq?T(3{F2HM zI@{TEeyOJ7JCDM5MW=^I&1mTw-QnG~_ymXw0+Jj`j&VchSpKcXT^ zOiXPb`ZHzR-Ap4-`FoXxv?+acshs6=I~29q`c$}ibxO7#P^1y{4usWM+?O2O(Ink_ zLHk^Nq|jxC_>Ne%o9(J2+N;*+2TS*vFlj5o|BdLom=W++x8jPhuloaBV6(^J*IsWk~HKax;dB&cJ0iEC-lwB)7dF~S7Bkkt$Y+yQ(ry}dZ2p(+fC3m2X4T*jRuR$20wm9)4VkxVk z=H7yODaXX_rCC>VprSO`wM_(3FfIjFy0N~FYpBfLe}C{SW{3lo6~6O^QPeWZ!I0(S z7GF)TH?4sYd%d!)AG+BUm^r_=7<|}IF0_LlH)M=Bm`A=hZP8B&)EIeS!qUC3l@!#= zSFDAfSj)N7tJO`|Hn0zx>7HtC`8iW27Rm_cvtR4OUXCYMMBkxw)17C=eBraC-h8xa zGZ2s_*nb-Yi#&tsK**|ndwZea29@$UxN>sVES{Hhp<4@G+!jydm!|qH>^XkAwNx@E z`LwMyuu@&^it5|O1#+j1Smby9)fLL~mKpLP{K7DS;KqdW! zo|Fys+n}a}rgb3EbERY~6eY3rJlCW=V&8U2hMpLcy=v+w2rxUYcOFs^USLfx^ zr>lqOG@7b zDKtkLL)}y0Y3eaBXLQM~VN}{{t;~DV=ye_j0r9m-TZ^kCV%j!@iF|<$6R=kKCHeMV zsheGB8sA;)w9Y%2!)A zTuVv%8$U;i5-G@Lc(Kok&fK6@a=W`6S{#Qed8TSRt>^*>6=INbi-TVBbk}17*;wBA z-eHubKpk(>ZfIZ3G+F9!nH?4|T$coS#A-8sO!O-7zE%tQmY^`E7Bd+GngT1yBRjzLq5{~C74QY6MvAx4*jg_GndQ%{TkCCy|5KO1^Di@b<7sQeA$=sUd@WqQPhsF zDqi{n9_ZlcQUPs!Hf0}&yBbS3IivGJQdS%8 zSi!=A4YXE)gvbT>H1@ z%BOn|MA}mZ6V}`ip1Xy(Hl@B$?(D7!KrDHVt*$cejeRqNhHJID+kH#}L2eWVvan}G z-U4;*D4TM2snto+ixL65aNtumu9VEw&vC@KKGkn~&HYf9MAdt2;6oWQi%=gML(-W9 zez*2r@Z*_0{e~AXvIF*_E{=f1KFo9BuYqMgE+D3L2R_S!<5D`xvzmT4bThuUMGyx7 z=@e`O6ZGDzr&Q(HZ!}g)YeO8u<|J(?bCsphL8=f&5AE(JL`14zjP39vMRNIqmD#9l zI@JU5ClUza3bZ4$b6;zQcL_3K17fvGJznDXy>z$|)?50EG->7agvg7hh#upVC2@bgya&dDK z3QWcorEq$Y1fLcO&k8smnVGe#GZ+kD-?82awme*4gKC>pV<+p5%RTO&qAPa8=#clZ z+Kd!Pg5mIPw91u@cXVk6J{40h&4T}?#EGB}dC&5v=fA?%y(i={G+@vTV3s)qEC)Ze)?5txQNNVtxMcH>t< zSz8_t4ZX|=*tT;wjP~O()(phKQDD-DH2iBot#xcJC7A8)wUO#o-#F^jGSb01K@QP= z3~9d11B7`hP=76yQoz#QAq8DRS(mRD%WGNJFzXk?v?d7^!@_D?haDH}yU=18Am8t@ zEKLoiX|b2z1+8+bzbJeFzy5?Q9AW<8{_eSdB%D{dWu?$?DfpE3MRUPRrUgis?=`or zYyk9qp>{Cf(f{m?Rxn8lhz0x^Syp}Pq4nBAWV@;g=yB)7-`Kd+>t_62AlwmO zR(($$k-d<`M$)LWc1g)FCX`nbG_Y2C()47H2|e4eY3|Wio4fq59yx4r7GPY=2nz7< z&2**`3}-g=PT?k-U>Thglp&WO+>)0{wfIq8%2*^+&leAZ8H?Gr&aDwS@+~x{zYS?0 zQE7n!?F#}mVe%38(|PLt<#gU|rhx7-0b1mWWD+&ewq2sH}~VPSyEd^t0T zQmWT+sRK`xb`qzOvbJl$2I{Eu@6HZ4f!GSFTME~eyPCs4W1Vo}FH(D*7tE(BT_{eZ z!xT04+Az}n!KcpYdfq~6$G?a*#+nl^iPyfR>r3pQ8PZApOrBpJtoN{Q6_L$JWoHc* z29%Y`2P>=KE4bt$#~FS2X`-bN%{dye>(Z=Wjo^qdTO88A5sE3C17PY;!XfMLXYawB z!3H%)zo;F^yu2qnBmg;-2WH&6%GR=+jd90(3#n zwIj`0QoZ)Hr`XF~G78i^U1J8*qN6Rv3W2%?rSR7!MlCn zRngq0%!$IgIjDL$AZI|8_FBGudkhi zMT0$RKE_{c;GEMVEZ_yM{Kb7X^I`d4*g!IHK*p(kQGfu9Sb8U??g9)BUBO*Z!jycv za*UCA*>8^b$GffPc#@4^16t4lm>PlOU}r-hY-@bhLauh%!sR$$jk=;WkOSNGkOT(s z;k;f?&R+QOG6%y-MI3I9w#sCSY~%ruA2jcq9-)6qAndqrvilHy2^oCS;?SDDij7RN zZ^H@O3AhDcsVw13J6$qHqs`khSkfCkXZ$g<^Hn7)jTob`qF{es$bRM9 zn+W7LEC!pZjn2+rrGgvuN*CT-yrx`Fjf8J+POL>3z3o9!uqtgChy#0|5hL3<`|vyD z57B$@dM4fZpm8Xt@M_gJ<(Q`7YEiJ-?Ae9@jVdIg4c_|l!}+mdSp;#O0!4LgZDbzO z!|}1?#NT-w3b79Dlr~wia87NOSK6tLti>@Bm?%tcV`dIjo!;CY9y2WX?8Yy|$1u7N zY(HAd1qkoWnPXuGGL1OZpCX5yWS~DCG;?L#rMSuy#ONTT88#P*k2sycF{QqD_w1ZC zU^w+z$#z_(A@Di$+1NVG-(HoS(%^Q!1I<*%MVVT{XSn~m zyI}u0Dzmp3SV8+7nZ|J%`-G}au=G-GMjL(ayAYP)g5!7w)Ef7*-~21y_j!FCiEgj=_}dQO(!lz+7}*mL8B2Oz zjzCVY+Y$6fEtIh{ItwOkXE>)IE8GTCQrL#AZq<52 z9_)jICaw{r?jeVdGVs_KPN#7~E3`QzFSLnwa zKVNaf70F0~HfTScq zi=T5!47C)Ig+X0{#GI?$6-mji0hFMx;382sP&fK8Z_MDUb_dZK0PW^i_U&@fSY^iq z;@qD;=YHp4tzsMQc3DOfiNm2`+w;&g?h87?M7mn$pXaMT9^GvBJnbIJFk^_gbjwtP z93~)zDej_cMgX^R)zG&q)JJuRjr+?K`R$Y{6zUO(Db;ck#@nYQQsB9lG;GGrB`6)M z_8|!`_!27*s>)L=j#Q@CG<0@BB`vOm#*jOz7-At1LfY~}FHCH*uC{k7(kK)wxvZL2 zG*3}b1uWY(pP!d!W~H}^cPPzLOe)!~RR*kUMxbbbs`kcHa_#N}wbTo8Cl(|p0s|>r ztIG=Xk*mF14wG(3Y7M~N8`j3|E6)sp_Q?ut8?#LIbIPc;pDJsEEtb+t?RCAX+MM`i zKiXb89w<{LHKAOc*K?8{6P=zaxW6R+~8pZfLviFKw@58*GSGCf6_K<(;MEQWZ`+#HlTm0JN{Argt-iYB$n(mL{&T>2CwpohMomGE19aoMd@8C^z6Gu~y z;7CrW=)#i05WQS$sgD&^>&pQJI}Hv(yJXw=GJ>5BHi*6DItg!Y>LDq_xYY7c%(v+_ zG!sDEEaD|QB;^!OoJ*ry2MfmMsLe1OBg9DEh%rVt^hL2jR&Vq5krmbiWD;|zcs#}k zyDrCVA+sdJ`-Uk8o{&DQ_V|2Yx5sjkezJJA;)Oe?ue8BoeFkV16+vkf((=jra$TXBX=h)=)ya<^RJX84Scg~L4PAv(GY}tmKOUAp>jt$WcY#>5M*iP_NWxP zawf{}%f6cP!uh7yVXl^oUo(@E4WO}UqQc9G^Q^l;-dyt4AT!6Tvxr-Qb)F>=8gNeW zXmtYz;ZUGlQ51wwk-v;n%=>_fVe=sy1gLXaC=EtBVymbthj*QEpm64*T16|=8Uhy- zA|T^c93g*z+*+$ra3}uK{XPTzwMGC|$Xbc)i~4(z73@B-HQ0w-ihOE{6*Dj%=@k1%Ecre%5p>vaBr6eIV5;l z_}Wab@SuMPYO<(4m*W}S@)ep@pJ)8fD3QcrkZekgAH%T!ubU&H zeK8y);Wlfkbl69!zLiq=v)?F)K8P-#0lP<7tM71+#jkexUw(+`QB8d5`&x?NpHv(! ztO8YVdCn;^s*+m|_yRJ_S|Uu389lACG3kP(2cY5y5^LFy)PkE!Ps9_B@ZflKF0!zT zUKKd(Fd1at__gvpMTg{sV>H?JEBxS=?Ov*=Ac0EgTIf&-ZSN-4C!&YWnBtvrJ>0qoY+0@z`~@AXq($tsvA{<9T~-63m>FtKh~3y?@eDLCOKKM8muwKC zx*3iRS|dEk{>9-8rDV0ShKg3KyzX`a|m6Q767s64Z;H(JX{dn!bL^F8aw*11u z3*K@5XE2!9xQZT2*e0J>GN18F8{4h{m)8kF7;s-kw2Zy;7Z9N_c*R8dQUeAqX!l zXwTz}eX*?@@f>%8msIe;*3tKpp?nQY>tH*g6GM;CejcHRdIlReU;{Nm8yh^V?=q%$ zjZwI>#e*JwX~fYEqvFACB^9UCrm`Q6nSfA++x>Mwkjkhwcg?aA4*v&3l5nS)JyQ(;tu=BvH5dv zzc0NTPN+nbMa;N)99$-!i!zU6_(X}vU~d`Q0+1+;@13pa@R@`Qhd=ND&EeAAwd6ib zuDh*hOp(I1x6GpkyQ#SDe6a4HfBbe-a6XFQY(6uj>WqIlDu2{0e)=Z=E1y+{0D@MQ zh9*W1w*RPBv}2&Px3V&~*0D4&r~TK`#Q#JK8%+}n z9U}ufS^*P#3mt2_|55(Cj4$cmDC_9y8JHVu=~e;c12vbWiQ^>zzdJiV7DJ9CIV8f z#r33zINtE2!a#mq3gauZA+sbi@g{S&y^HT3u)sk(<4fC+^ypE@ZhN%l0J9zRi;AZ^ zuUZ{7dhMKS0fhlV*BxYmJd#n>y6m~P6e&b|at zm#UaiMsj%X?Htl7sQq#!`ukFc+Rn1+OY?d7`V}DNjfDkMnss|ge{}5bYAS5$+Ustk zN8S+slu;NU;eQ~8U97N1E8>9DdnZQ)&wr#FLRR#}455FEHwMbxYMj~cStg7?T*FFs zg<9Fk>N52yxe+t-V(&R5`k$+eGD_i{z zp8galy1#}}f9U-uF8fojp6&n6>Ay1Dzdoct_5R6ifA&xR2IpUy?mr{_=DI(Hg#G_s z(f?t-e}et-{C+F{L0`YQ?@!VD8?gVtg#XQEzuD+dY5g0}KY8#!-{-%gT>cHppS<}0 z6@`T3|61!$p8U@!zZvgO(fAvbzw+k)SDg62!TBqX{uAeq$M#n`_|2q$%Gf8)-}0)g X1n6gK5dZ-0^N;28cndz)@816daiH(Y literal 16682 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 diff --git a/etc/sample_libra.cfg b/etc/sample_libra.cfg index 00398c74..c3bd5afc 100644 --- a/etc/sample_libra.cfg +++ b/etc/sample_libra.cfg @@ -51,33 +51,20 @@ nova_keyname = default nova_secgroup = default nova_image = 12345 nova_image_size = standard.medium -api_server = 10.0.0.1:8889 10.0.0.2:8889 -nodes = 10 -check_interval = 5 -submit_interval = 15 node_basename = 'libra' az = 1 - -[statsd] -api_server=127.0.0.1:8889 -server=127.0.0.1:4730 -logfile=/tmp/statsd.log -pid=/tmp/statsd.pid -driver=dummy datadog hp_rest -datadog_api_key=0987654321 -datadog_app_key=1234567890 -datadog_message_tail="@user@domain.com" -datadog_tags=service:lbaas -datadog_env=prod -ping_interval = 60 -poll_timeout = 5 -poll_timeout_retry = 30 +gearman=127.0.0.1:4730 [admin_api] db_sections=mysql1 ssl_certfile=certfile.crt ssl_keyfile=keyfile.key expire_days=7 +stats_driver=dummy datadog database +datadog_api_key=KEY +datadog_app_key=KEY2 +datadog_tags=service:lbaas +node_pool_size=50 [api] host=0.0.0.0 diff --git a/libra/mgm/mgm.py b/libra/mgm/mgm.py index 1ce956bf..b7980d03 100644 --- a/libra/mgm/mgm.py +++ b/libra/mgm/mgm.py @@ -44,10 +44,6 @@ class Server(object): def main(): options = Options('mgm', 'Node Management Daemon') - options.parser.add_argument( - '--api_server', action='append', metavar='HOST:PORT', default=[], - help='a list of API servers to connect to (for HP REST API driver)' - ) options.parser.add_argument( '--az', type=int, help='The az number the node will reside in (to be passed to the API'