How disable powerdns in microbosh and bosh ?


Guillaume Berche
 

Hi,

I understand that by default the micro-bosh has DNS enabled (i.e. hosts a
powerDNS servers that gets injected by default in all VMs it manages). If
the dns entry [1] is specified, additional DNS resolvers will be added to
/etc/resolv.conf and the micro bosh powerDNS will remain (at the end as the
last fallback ?) When micro-bosh is only used to instanciate a multi-vm
bosh instance which does not rely on FQDN but rather on IP addresses, then
it would make sense to disable DNS on microbosh to avoid bosh failing to
resolve Iaas FQDN in case microbosh is down.

On a multi-vm bosh cluter, it seems the power DNS would be disabled if any
of the necessary dns property is missing [3], even through spec file [2]
isn't explicit about it.

I however wonder what's the best way to disable the DNS job in the
micro-bosh, as the dns properties are typically not set in the microbosh
manifest. Searching through forums I only found [4] mentionning specifying
the "dynamic" type for the micro-bosh network implicitly disables the
powerDNS job. I don't understand why there is a link between the two. Is
there a more explict way to configure micro-bosh DNS ? Where are director
properties [2] default values for micro set, and can they be overriden from
the manifest file ? I tried assigning an empty dns.adress in the micro bosh
manifest, but the bosh micro cli did not pick the modification "Will skip
deploy due to no changes". Am I on the right track ?

apply_spec:
properties:
dns:
#Define an empty DNS address to disable the microbosh power DNS
running by default.
address:

I tried looking at the concourse pipeline config and resources to get
inspiration but could not find related bosh config yet.

Thanks in advance,

Guillaume.

[0] https://bosh.io/docs/create-micro-manifest.html
*MicroBOSH has a nameserver component called powerDNS. If, after you deploy
MicroBOSH, you use it deploy other software, MicroBOSH will create VMs as
it deploys that software. VMs that MicroBOSH creates use the powerDNS on
their parent VM to resolve IP addresses.*
[1] http://bosh.io/docs/networks.html
[2]
https://github.com/cloudfoundry/bosh/blob/05806e445d4784b5c44721dfe7dc89aeb353de66/release/jobs/director/spec#L149
[3]
https://github.com/cloudfoundry/bosh/blob/7cd8b976a0489e47947c7f9ffc1c2db77dc5e3da/release/jobs/director/templates/director.yml.erb.erb#L67-L84
[4] https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-users/6lfnOXMlBEU/hAJiewKL7wAJ


Pablo Alonso Rodriguez <palonsoro@...>
 

Hi.

If you are trying to unset dns properties, maybe this might work (at least,
DNS properties should not be set at director.yml):

apply_spec:
properties:
dns: null

However, as far as I have seen, microbosh DNS is set as the last entry at
resolv.conf. According to the MAN page (
http://man7.org/linux/man-pages/man5/resolv.conf.5.html), it should be the
last server tried. Furthermore, if all the servers fail, all the servers
are retried again in the same order.

Thus, I think that having microbosh in the last place of resolv.conf should
not disturb you even if microbosh VMs crashes, provided that you have set
other DNS servers in the networks section of your deployment manifest. The
DNS servers that you provide should be tried in the first place and should
be retried if there is a temporary network issue.


2015-06-17 13:22 GMT+02:00 Guillaume Berche <bercheg(a)gmail.com>:

Hi,

I understand that by default the micro-bosh has DNS enabled (i.e. hosts a
powerDNS servers that gets injected by default in all VMs it manages). If
the dns entry [1] is specified, additional DNS resolvers will be added to
/etc/resolv.conf and the micro bosh powerDNS will remain (at the end as the
last fallback ?) When micro-bosh is only used to instanciate a multi-vm
bosh instance which does not rely on FQDN but rather on IP addresses, then
it would make sense to disable DNS on microbosh to avoid bosh failing to
resolve Iaas FQDN in case microbosh is down.

On a multi-vm bosh cluter, it seems the power DNS would be disabled if any
of the necessary dns property is missing [3], even through spec file [2]
isn't explicit about it.

I however wonder what's the best way to disable the DNS job in the
micro-bosh, as the dns properties are typically not set in the microbosh
manifest. Searching through forums I only found [4] mentionning specifying
the "dynamic" type for the micro-bosh network implicitly disables the
powerDNS job. I don't understand why there is a link between the two. Is
there a more explict way to configure micro-bosh DNS ? Where are director
properties [2] default values for micro set, and can they be overriden from
the manifest file ? I tried assigning an empty dns.adress in the micro bosh
manifest, but the bosh micro cli did not pick the modification "Will skip
deploy due to no changes". Am I on the right track ?

apply_spec:
properties:
dns:
#Define an empty DNS address to disable the microbosh power DNS
running by default.
address:

I tried looking at the concourse pipeline config and resources to get
inspiration but could not find related bosh config yet.

Thanks in advance,

Guillaume.

[0] https://bosh.io/docs/create-micro-manifest.html
*MicroBOSH has a nameserver component called powerDNS. If, after you
deploy MicroBOSH, you use it deploy other software, MicroBOSH will create
VMs as it deploys that software. VMs that MicroBOSH creates use the
powerDNS on their parent VM to resolve IP addresses.*
[1] http://bosh.io/docs/networks.html
[2]
https://github.com/cloudfoundry/bosh/blob/05806e445d4784b5c44721dfe7dc89aeb353de66/release/jobs/director/spec#L149
[3]
https://github.com/cloudfoundry/bosh/blob/7cd8b976a0489e47947c7f9ffc1c2db77dc5e3da/release/jobs/director/templates/director.yml.erb.erb#L67-L84
[4] https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-users/6lfnOXMlBEU/hAJiewKL7wAJ



_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh


Guillaume Berche
 

Thanks a lot Pablo Alonso for your response and for your analysis that
microbosh DNS is always placed at end of the resolv.conf and hence should
not harm bosh resolution w.r.t. explicitly configured DNS resolvers. I'll
try the null syntax out of curiosity.

Guillaume.

On Wed, Jun 17, 2015 at 3:03 PM, Pablo Alonso Rodriguez <palonsoro(a)gmail.com
wrote:
Hi.

If you are trying to unset dns properties, maybe this might work (at
least, DNS properties should not be set at director.yml):

apply_spec:
properties:
dns: null

However, as far as I have seen, microbosh DNS is set as the last entry at
resolv.conf. According to the MAN page (
http://man7.org/linux/man-pages/man5/resolv.conf.5.html), it should be
the last server tried. Furthermore, if all the servers fail, all the
servers are retried again in the same order.

Thus, I think that having microbosh in the last place of resolv.conf
should not disturb you even if microbosh VMs crashes, provided that you
have set other DNS servers in the networks section of your deployment
manifest. The DNS servers that you provide should be tried in the first
place and should be retried if there is a temporary network issue.


2015-06-17 13:22 GMT+02:00 Guillaume Berche <bercheg(a)gmail.com>:

Hi,

I understand that by default the micro-bosh has DNS enabled (i.e. hosts a
powerDNS servers that gets injected by default in all VMs it manages). If
the dns entry [1] is specified, additional DNS resolvers will be added to
/etc/resolv.conf and the micro bosh powerDNS will remain (at the end as the
last fallback ?) When micro-bosh is only used to instanciate a multi-vm
bosh instance which does not rely on FQDN but rather on IP addresses, then
it would make sense to disable DNS on microbosh to avoid bosh failing to
resolve Iaas FQDN in case microbosh is down.

On a multi-vm bosh cluter, it seems the power DNS would be disabled if
any of the necessary dns property is missing [3], even through spec file
[2] isn't explicit about it.

I however wonder what's the best way to disable the DNS job in the
micro-bosh, as the dns properties are typically not set in the microbosh
manifest. Searching through forums I only found [4] mentionning specifying
the "dynamic" type for the micro-bosh network implicitly disables the
powerDNS job. I don't understand why there is a link between the two. Is
there a more explict way to configure micro-bosh DNS ? Where are director
properties [2] default values for micro set, and can they be overriden from
the manifest file ? I tried assigning an empty dns.adress in the micro bosh
manifest, but the bosh micro cli did not pick the modification "Will skip
deploy due to no changes". Am I on the right track ?

apply_spec:
properties:
dns:
#Define an empty DNS address to disable the microbosh power DNS
running by default.
address:

I tried looking at the concourse pipeline config and resources to get
inspiration but could not find related bosh config yet.

Thanks in advance,

Guillaume.

[0] https://bosh.io/docs/create-micro-manifest.html
*MicroBOSH has a nameserver component called powerDNS. If, after you
deploy MicroBOSH, you use it deploy other software, MicroBOSH will create
VMs as it deploys that software. VMs that MicroBOSH creates use the
powerDNS on their parent VM to resolve IP addresses.*
[1] http://bosh.io/docs/networks.html
[2]
https://github.com/cloudfoundry/bosh/blob/05806e445d4784b5c44721dfe7dc89aeb353de66/release/jobs/director/spec#L149
[3]
https://github.com/cloudfoundry/bosh/blob/7cd8b976a0489e47947c7f9ffc1c2db77dc5e3da/release/jobs/director/templates/director.yml.erb.erb#L67-L84
[4] https://groups.google.com/a/cloudfoundry.org/d/msg/bosh-users/6lfnOXMlBEU/hAJiewKL7wAJ



_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh

_______________________________________________
cf-bosh mailing list
cf-bosh(a)lists.cloudfoundry.org
https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh