Adding a New Database
for this example consider your new tsdb would be opentsdb:
- Add Vagrantfiles:
- Create at least one folder in
TSDBBench/vagrant_files
- E.g.,
opentsdb_cl1_rf1
(cl = cluster size, rf = replication factor)
- E.g.,
- Create at least one Vagrantfile in this new folder
- Named same as the folder but with
_
+ number +.vagrant
as suffix - Each file is one VM that is created and provisioned
- E.g.,
TSDBBench/vagrant_files/opentsdb_cl1_rf1/opentsdb_cl1_rf1_0.vagrant
- Named same as the folder but with
- In this Vagrantfile put deployment tasks like installing and configuring
- But nothing where you need to know IPs from other nodes of the cluster (that comes in a later step)
- Cannot be done with Vagrant
- Consider files in basic folder that can be reused
- See
TSDBBench/vagrant_files/basic/opentsdb.rb
for example
- See
- But nothing where you need to know IPs from other nodes of the cluster (that comes in a later step)
- Create at least one folder in
- Add the python part
- Add a python file to
TSDBBench/vagrant_files/generator/files/databases/
- Named like the folder +
.py
(e.g.,opentsdb_cl1_rf1.py
)
- Named like the folder +
- In this file add:
- Deployment tasks that requires IPs from all nodes of the cluster
- Checks that the database is running
- Some basic db configs (everything that starts with db_)
- Look at other database python files, there are comments that explain every field in every file
- E.g.,
TSDBBench/vagrant_files/generator/files/databases/opentsdb_cl1_rf1.py
- E.g.,
- Add a python file to
- Add a Client (if not existing) to YCSB-TS