cookbook 'azure_fqdn_fix', '= 1.0.0'
azure_fqdn_fix (4) Versions 1.0.0 Follow1
Fixes node FQDNs on Azure without hassle
cookbook 'azure_fqdn_fix', '= 1.0.0', :supermarket
knife supermarket install azure_fqdn_fix
knife supermarket download azure_fqdn_fix
azure_fqdn_fix Cookbook
Adjusts /etc/hosts to fix hostname -f which is read by OHAI and sets a node's FQDN
Requirements
Currently this cookbook is designed to work only on UBUNTU LINUX on the AZURE VM PLATFORM.
e.g.
Platforms
- Ubuntu Linux 14.04+
 - Support for other Liunx Platforms will not be done by me, but can/will be supported via fork & pull
 
Chef
- Chef 12.0 or later
 
Cookbooks
- Ohai
 
Attributes
azure_fqdn_fix::default
<table>
  <tr>
    <th>Key</th>
    <th>Type</th>
    <th>Description</th>
    <th>Default</th>
  </tr>
  <tr>
    <td><tt>['azure_fqdn_fix']['domain']</tt></td>
    <td>String</td>
    <td>The domain name of your node</td>
    <td><tt>'example.of.long.domain.com'</tt></td>
  </tr>
  <tr>
    <td><tt>['azure_fqdn_fix']['hostname']</tt></td>
    <td>String</td>
    <td>The hostname your node</td>
    <td><tt>'default-hostname'</tt></td>
  </tr>
</table>
Usage
node['domain'] and node['hostname'] are not a reliable way of putting together a node's FQDN if it is hosted on Azure. Once you set up your public-ip DNS resolver name in the Azure portal, you are ready to use this recipe in your run_list.
['azure_fqdn_fix']['hostname'] is whatever you set your public resolver hostname to. It is whatever you put in the space that you fill in.
['azure_fqdn_fix']['domain'] is the portion of the DNS resolver hostname that you cannot change. It is usually underneath the editable region and has the format of region.cloudapp.azure.com
azure_fqdn_fix::default
- Set the attributes 
node['azure_fqdn_fix']['domain']andnode['azure_fqdn_fix']['hostname']in your node through some means - Include 
azure_fqdn_fixin your node'srun_list: 
{
  "name":"my_node",
  "run_list": [
    "recipe[azure_fqdn_fix]"
  ]
}
Tips
- I highly recommend setting the 
['azure_fqdn_fix']['domain']at the environment scope since most of your VM's in a cluster will be in the same geographical resource center. - It is highly advised that you set up the DNS resolver BEFORE you run your bootstrap of your node because you can pass the --json-attributes flag (-j for short) and configure the public resolver as 
{'azure_fqdn_fix' : { 'hostname' : 'I-picked-this-hostname' }}. If you didn't set thedomainattribute at the environment scope, you should include it in your json attributes hash. - If you are fixing the FQDN of a node which has been deployed with this recipe:
- Follow usage above
 - Run 
sudo chef-clientto run the recipe - Run 
ohaito update the node["fqdn"] attribute - Run 
sudo chef-clientto report the updated FQDN to the chef-server 
 
Gotcha's
If you have a recipe in your run_list which for some reason changes the file permissions or ownership of the files in the /etc/ directory then you should run this recipe before the one(s) that do(es) because this recipe will alter the owner, group, and mode of the /etc/hosts file.
Contributing
- Fork the repository on Github
 - Create a named feature branch (like 
add_component_x) - Write your change
 - Write tests for your change (if applicable)
 - Run the tests, ensuring they all pass
 - Submit a Pull Request using Github
 
License and Authors
License: MIT
Contributors: Justin Karnes
Dependent cookbooks
| ohai >= 0.0.0 | 
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
azure_fqdn_fix CHANGELOG
This file is used to list changes made in each version of the azure_fqdn_fix cookbook.
0.1.0
- [Justin Karnes] - Initial release of azure_fqdn_fix
 
Collaborator Number Metric
        
            1.0.0 failed this metric
            Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
        
      Foodcritic Metric
        
            1.0.0 failed this metric
            FC064: Ensure issues_url is set in metadata: azure_fqdn_fix/metadata.rb:1
FC065: Ensure source_url is set in metadata: azure_fqdn_fix/metadata.rb:1
Run with Foodcritic Version 8.2.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
        
      License Metric
        
            1.0.0 passed this metric
        
  
1.0.0 failed this metric
            1.0.0 failed this metric
            FC064: Ensure issues_url is set in metadata: azure_fqdn_fix/metadata.rb:1
FC065: Ensure source_url is set in metadata: azure_fqdn_fix/metadata.rb:1
Run with Foodcritic Version 8.2.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
License Metric
        
            1.0.0 passed this metric
        
  
1.0.0 passed this metric