Skip to content

Instantly share code, notes, and snippets.

View hub-cap's full-sized avatar

Michael Basnight hub-cap

View GitHub Profile
util.inherits(LBClient, events.EventEmitter);
function LBClient() {
events.EventEmitter.call(this);
this.on('newLoadBalancer', this._scheduleLoadBalancer);
this.on('loadBalancerScheduled', this._saveChildLoadBalancer);
this.on('loadBalancerSaved', this._provisionChildLoadBalancer);
this.on('loadBalancerProvisioned', this._updateChildLoadBalancer);
}
+------------------+-------------------------+-------+---------------+----------------+----------------+
| load_balancer_id | parent_load_balancer_id | port | instance_uuid | datastore_type | private_ip |
+------------------+-------------------------+-------+---------------+----------------+----------------+
| 236577 | 236463 | 18725 | some-uuid | mysql5.5 | 10.176.168.145 |
| 236579 | 236463 | 2753 | some-uuid | mysql5.5 | 10.176.168.145 |
| 236589 | 236463 | 42074 | some-uuid | mysql5.5 | 10.176.168.145 |
| 236587 | 236463 | 35406 | some-uuid | mysql5.5 | 10.176.168.145 |
| 236581 | 236463 | 60804 | some-uuid | mysql5.5 | 10.176.168.145 |
...
Assume
----
Blah.prototype.somefunc(cb) {
cb()
}
Working
----
Components
* MySQL Layer
* list of ips and ports (pub/priv) per haproxy
* list of avail pub ips
* choose ip (should be blocking so only one thing can do at a time)
* API Layer
* Add/Remove pub ip (needs mysql list of avail ips)
* Move vip
baz@ovz-node:~$ siege -c100 -t1M http://localhost:3000/
** SIEGE 2.70
** Preparing 100 concurrent users for battle.
The server is now under siege...
Lifting the server siege... done.
Transactions: 11930 hits
Availability: 100.00 %
Elapsed time: 59.63 secs
Data transferred: 0.22 MB
Response time: 0.00 secs
ffi.cdef[[
typedef void MYSQL;
typedef void MYSQL_RES;
typedef char **MYSQL_ROW;
Wed May 28 20:38:23 2014 ERR: 50.57.61.14:443 (hostname=agent-endpoint-ord.monitoring.api.rackspacecloud.com connID=1) -> Non-fatal error: unknown error: code=400, message=Invalid value 'agent.dbaas_mysql'. Should be one of (agent.memory, agent.cpu, agent.load_average, agent.disk, agent.filesystem, agent.network, agent.apache, agent.redis, agent.mysql, agent.plugin, agent.windows_perfos, agent.mssql_version, agent.mssql_database, agent.mssql_buffer_manager, agent.mssql_sql_statistics, agent.mssql_memory_manager, agent.mssql_plan_cache).
Wed May 28 20:39:03 2014 INF: Setting time delta to 57584ms based on server time 1401309601526ms
Wed May 28 20:39:24 2014 INF: (plugin=agent.dbaas_mysql, id=chtBPAzuOY, iid=idMQHtKDwk) -> agent.dbaas_mysql (details=port=3306,id="chtBPAzuOY",period=60) scheduled for 60s
Wed May 28 20:39:24 2014 INF: (plugin=agent.mysql, id=chElCPZ601, iid=idMtX5PNAU) -> agent.mysql (details=port=3306,id="chElCPZ601",period=60) scheduled for 60s
Wed May 28 20:39:25 2014 ERR: 50.57.61.14:443 (hos
baz@monitoring-test:~/rackspace-monitoring-agent$ raxmon-checks-create --entity-id=enNnEwr5PC --who=me --why=cuz --label=dbaas --type=agent.dbaas_mysql --details="port=3306"
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/raxmon_cli/common.py", line 125, in run_action
callback(instance, options, args, done)
File "/usr/local/bin/raxmon-checks-create", line 48, in callback
why=options.why)
File "/usr/local/lib/python2.7/dist-packages/rackspace_monitoring/drivers/rackspace.py", line 733, in create_check
data=data, coerce=self.get_check, headers=headers)
File "/usr/local/lib/python2.7/dist-packages/rackspace_monitoring/drivers/rackspace.py", line 301, in _create
headers=headers)
local MockQueryData = MySQLMock:extend()
function MockQueryData:mysql_query(conn, query)
return 0
end
function MockQueryData:mysql_use_result(conn)
return {}
end
testcases['test_multi_query'] = MockQueryData:new()
15:59 Ignore List:
15:59 1 *away*: NICKS
15:59 2 *afk*: NICKS
15:59 3 *g0n3*: NICKS
15:59 4 *zzz*: NICKS
15:59 5 *: ACTIONS -regexp -pattern is (away|gone|back)
15:59 6 *_: NICKS
15:59 7 *_503: NICKS
15:59 8 *: JOINS PARTS QUITS MODES NICKS