Skip to content

Instantly share code, notes, and snippets.

@byllc
Last active August 29, 2015 13:56
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save byllc/8870959 to your computer and use it in GitHub Desktop.
Save byllc/8870959 to your computer and use it in GitHub Desktop.
Question to ask when creating a bosh release.

BOSH Release Requirements Checklist

##Packaging

  • What packages are required?
  • Is there a usuable binary available?
  • Where is the source code located?
  • What are the compilation requirements on target platform?

##Job Creation

  • How to run process? eg. start, stop, restart.Control Script? Helpful wrapper script? ({name}_ctl)
  • How to daemonize?
  • How to configure pidfile? (/var/vcap/sys/run/{name})
  • How to set logs dir? (/var/vcap/sys/log/{name})
  • How to storage (db) dir? (/var/vcap/store/{name})
  • What do config files look like?
  • What is parameterizable? (jobs/{name}/spec -> properties: …)
  • How to cluster? Leader (Master) vs Followers (Slaves)

BOSH Release Requirements Checklist For Maria DB

##Packaging

  • What packages will be required?
  We need Mariadb and Galera and optionally SCons and python depending on our installation method. 
  We can either compile everything and require python, scons, galera and mariadb or use the precompiled galera package from their website and rextract the libgalera_smm.so into a package in the release and only compile mariadb. 
    ## For the galera release you also need -DWITH_WSREP=ON and -DWITH_INNODB_DISALLOW_WRITES=1.
    cmake -DCMAKE_INSTALL_PREFIX:PATH=/path/to/install/location
    make
    make install

    #alternate install option from source without requiring make install
    #db will run from source directory
    ./scripts/mysql_install_db --srcdir=$PWD --datadir=/path/to/data/dir --user=$LOGNAME

##Job Creation How to run process? eg. start, stop, restart.Control Script? Helpful wrapper script? ({name}_ctl)

  #Starts mysql by changing to the install directory and then calling
  #mysqld_safe
  mysql.server start
  mysql.server stop

How to daemonize? mysqld_safe will daemonize automatically

How to configure pidfile? (/var/vcap/sys/run/{name})

 pid-file=/var/vcap/sys.run/mysql/your-db.pid #in my.conf

How to set logs dir?(/var/vcap/sys/log/{name}) Logs not enabled by default

**How to storage (db)**dir? (/var/vcap/store/{name})

data=/var/vcap/store/mysql

**What do config files look like?**https://gist.github.com/byllc/8871383

What is parameterizable? (jobs/{name}/spec -> properties: …)

How to cluster? Leader (Master) vs Followers (Slaves) Galera library https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/

  #to create a new cluster on the master config
  wsrep_cluster_address=gcomm://

  #to choose a cluster to join, DNS names work as well
  #you simply point to the master cluster ip
  wsrep_cluster_address=gcomm://xx.xx.xx.xx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment