Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite of formula #18

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Multiple updates
Fixed some typos
reverted back to dictonary declarations, liked it better
updated pillar.example and dhcpd.sample
added some statements and options i think
  • Loading branch information
tomduijf committed Oct 11, 2016
commit 7770deac0e4bf0d03f6d3e8374da14814bf63159
82 changes: 46 additions & 36 deletions dhcpd/files/dhcpd.conf.blocks.jinja
Original file line number Diff line number Diff line change
@@ -1,44 +1,47 @@
{#- #### Class macro ############################################# #}
{%- macro print_classes(classes) %}
{%- for config in classes %}
{#- #### Pool macro ######################################################### #}
{#- pools: are lists, not dicts #}
{%- macro print_pools(pools) %}
{%- for config in pools %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
class "{{ config.name }}" {
pool {
{{- statements.print(config) | indent(2) }}
{%- if config.has_key('options') %}
{{- options.print(config.options) | indent(2) }}
{%- endif %}
{%- if config.has_key('failover_peer') %}
failover peer "{{ config['failover_peer'] }}";
{%- endif %}
}
{% endfor %}
{%- endmacro %}
{#- #### Pool macro ############################################# #}
{%- macro print_pools(pools) %}
{%- for config in pools %}
{#- #### Class macro ######################################################## #}
{#- classes: are dicts #}
{%- macro print_classes(classes) %}
{%- for name, config in classes.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
pool {
class "{{ name }}" {
{{- statements.print(config) | indent(2) }}
{%- if config.has_key('failover_peer') %}
failover peer "{{ config['failover_peer'] }}";
{%- endif %}
{%- if config.has_key('options') %}
{{- options.print(config.options) | indent(2) }}
{%- endif %}
}
{% endfor %}
{%- endmacro %}
{# #### Groups macro ############################################ #}
{# #### Groups macro ######################################################## #}
{#- groups: are dicts #}
{%- macro print_groups(groups) %}
{%- for config in groups %}
{%- for name, config in groups.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
group {{ config.name }} {
group {{ name }} {
{%- if config.has_key('options') %}
{{- options.print(config.options) | indent(2) }}
{%- endif %}
Expand All @@ -48,31 +51,33 @@ group {{ config.name }} {
}
{% endfor %}
{%- endmacro %}
{# #### Host macro ############################################## #}
{# #### Host macro ########################################################## #}
{#- hosts: are dicts #}
{%- macro print_hosts(hosts) %}
{%- for config in hosts %}
{%- for name, config in hosts.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
host {{ config.name }} {
host {{ name }} {
{{- statements.print(config) | indent(2) }}
{%- if config.has_key('options') %}
{{- options.print(config.options) | indent(2) }}
{%- endif %}
}
{% endfor %}
{%- endmacro %}
{#- #### Subnets macro ########################################### #}
{#- #### Subnets macro ###################################################### #}
{#- subnets: are dicts #}
{%- macro print_subnets(subnets) %}
{%- for config in subnets %}
{%- for name, config in subnets.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config['comment'].splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
subnet {{ config.name }} netmask {{ config.netmask }} {
subnet {{ name }} netmask {{ config.netmask }} {
{{- statements.print(config) | indent(2) }}
{%- if config.has_key('options') %}
{{- options.print(config.options) | indent(2) }}
Expand All @@ -83,15 +88,16 @@ subnet {{ config.name }} netmask {{ config.netmask }} {
}
{% endfor %}
{%- endmacro %}
{#- #### Shared networks ############################################# #}
{#- #### Shared networks #################################################### #}
{#- shared_subnets: are dicts #}
{%- macro print_shared_networks(shared_networks) %}
{%- for config in shared_networks %}
{%- for name, config in shared_networks.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
shared-network {{ config.name }} {
shared-network {{ name }} {
{{- statements.print(config) | indent(2) }}
{%- if config.has_key('options') %}
{{- options.print(config.options) }}
Expand All @@ -105,43 +111,47 @@ shared-network {{ config.name }} {
}
{% endfor %}
{%- endmacro %}
{#- #### Zone macro ############################################# #}
{#- #### Zone macro ######################################################### #}
{#- zones: are dicts #}
{%- macro print_zones(zones) %}
{%- for config in zones %}
{%- for name, config in zones.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
zone "{{ config.name }}" {
zone {{ name }} {
primary {{ config.primary }};
key {{ config.key }};
}
{% endfor %}
{%- endmacro %}
{#- #### Key macro ############################################# #}
{%- macro print_keys(keys) %}
{%- for config in keys %}
{#- #### Key macro ########################################################## #}
{#- _keys: are dicts #}
{#- I don't like the _ either #}
{%- macro print_keys(xkeys) %}
{%- for name, config in xkeys.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
key "{{ config.name }}" {
key "{{ name }}" {
algorithm {{ config.algorithm }};
secret "{{ config.secret }}";
}
{% endfor %}
{%- endmacro %}
{#- #### Failover peer macro ################################### #}
{#- #### Failover peer macro ################################################ #}
{#- failover_peers: are dicts #}
{%- macro print_failover_peers(failover_peers) %}
{%- for config in failover_peers %}
{%- for name, config in failover_peers.iteritems() %}
{%- if config.has_key('comment') %}
{%- for line in config.comment.splitlines() %}
# {{ line }}
{%- endfor %}
{%- endif %}
failover peer "{{ config.name }}" {
failover peer "{{ name }}" {
{%- if config.has_key('role') and config.role == 'primary' %}
primary;
{%- if config.has_key('mclt') %}
Expand Down
16 changes: 8 additions & 8 deletions dhcpd/files/dhcpd.conf.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
## DHCP global directives
{%- if config.has_key('failover_peers') %}
{{ blocks.print_failover_peers(config.failover_peers) | indent(0) }}
{%- endif %}
{% endif %}

{{ statements.print(config) | indent(0) }}

Expand All @@ -21,15 +21,15 @@
# Define custom options for {{ space }}
option space {{ space }};
{%- for opt, conf in opts.iteritems() %}
{{- options.customized( space ~ '.' ~ opt, conf) }}
{{- options.custom( space ~ '.' ~ opt, conf) }}
{%- endfor %}
{% endfor %}
{% endif %}

{%- if config.has_key('customized_options') %}
{%- if config.has_key('custom_options') %}
## Define misc custom options
{%- for opt, conf in config.custom_options.iteritems() %}
{{- options.customized( opt, conf) }}
{{- options.custom( opt, conf) }}
{%- endfor %}
{% endif %}

Expand Down Expand Up @@ -57,11 +57,11 @@ option space {{ space }};
{{- blocks.print_shared_networks(config.shared_networks) | indent(0) }}
{% endif %}

{%- if config.has_key('zones') %}
{{- blocks.print_zones(config.zones) | indent(0) }}
{%- if config.has_key('_keys') %}
{{- blocks.print_keys(config._keys) | indent(0) }}
{% endif %}

{%- if config.has_key('keys') %}
{{- blocks.print_keys(config.keys) | indent(0) }}
{%- if config.has_key('zones') %}
{{- blocks.print_zones(config.zones) | indent(0) }}
{% endif %}

2 changes: 1 addition & 1 deletion dhcpd/files/dhcpd.conf.options.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@
{#- print customized options and return the option item/type for #}
{#- later merging #}
{#- #}
{%- macro customized(option, conf) %}
{%- macro custom(option, conf) %}
{%- set option = option|replace('_', '-') %}
option {{ option }} code {{ conf['code'] }} = {{ conf['type'] }}
{%- for k, v in option_types.iteritems() %}
Expand Down
2 changes: 2 additions & 0 deletions dhcpd/files/dhcpd.conf.statements.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
'log-facility': False,
'max-lease-time': False,
'next-server': False,
'omapi-key': False,
'omapi-port': False,
'one-lease-per-client': False,
'ping-check': False,
'server-identifier': False,
Expand Down
Loading