Re: URL of a Service Instance


Marco Nicosia
 

Hi Rahul, answers in-line:


On Thu, Dec 31, 2015 at 8:36 PM, Rahul Gupta <wildnez(a)gmail.com> wrote:


Thanks for yet another explanation. This leads to another question: how
does CF handle availability of service instances? If many of the instances
are maintained on one VM and if that VM becomes unavailable for X amount of
time then all the service instances running on that VM will also become
unavailable, together. Is there a documentation that might explain this
more detail?
I'm afraid there's no scheduler for VMs beyond what BOSH provides at
provision time, which isn't very complex today. There are features coming,
like anti-affinity rules to balance across AZs, but that's 2016 roadmap.

That means that for now, the service broker is responsible for making all
the decisions. The BOSH CPIs don't have ways of manipulating VMs after
launch (ttbomk), so most of those decisions are made at create-instance
time. I suppose if you have a very dynamic service, you can move
service-instances around VMs, but it's nothing we've tried before.


For my other question, is there a provision by which I can configure the
other environment characteristics such as cpu cores, RAM etc for a service
instance?
Yes. In the BOSH manifest, you specify the characteristics of the VM. You
can define your machine types in the iaas_settings block, here are examples:
AWS:
https://github.com/cloudfoundry/cf-mysql-release/blob/develop/manifest-generation/examples/aws/iaas-settings.yml
vSphere example:
https://github.com/cloudfoundry/cf-mysql-release/blob/develop/manifest-generation/examples/vsphere/iaas-settings.yml


And is there a documentation that can show how to pass JVM arguments to
configure heap size and other properties of a service instance JVM?
That's entirely up to the BOSH job(s) that you define to run on the VMs. In
our case, we don't specify MariaDB directly, instead we run a job called
"mariadb_ctrl" which, in the long run, calls this script:

https://github.com/cloudfoundry/mariadb_ctrl/blob/master/mysql_daemon.sh

It's important to know that BOSH will use monit to launch and monitor your
job. All that stuff is covered here:
http://bosh.io/docs/jobs.html#monitoring


Thanks,
Rahul
--
Marco Nicosia
Product Manager
Pivotal Software, Inc.
mnicosia(a)pivotal.io

Join cf-dev@lists.cloudfoundry.org to automatically receive all group messages.