blob: 825b1c38aa44586ff36c96b3cd8d0b4999e9cfd6 [file] [log] [blame]
allocator:
image: "{{ docker.registry }}/cord-ip-allocator:{{ docker.image_version }}"
container_name: allocator
labels:
- "lab.solution=CORD"
- "lab.component=allocator"
environment:
# need to explicitly set the resolver, else go will skip the /etc/hosts file
- "GODEBUG=netdns=go"
- "ALLOCATE_PORT=4242"
- "ALLOCATE_LISTEN=0.0.0.0"
- "ALLOCATE_NETWORK={{ networks.fabric }}"
- "ALLOCATE_SKIP=2"
provisioner:
image: "{{ docker.registry }}/cord-provisioner:{{ docker.image_version }}"
container_name: provisioner
labels:
- "lab.solution=CORD"
- "lab.component=provisioner"
links:
- allocator
environment:
# need to explicitly set the resolver, else go will skip the /etc/hosts file
- "GODEBUG=netdns=go"
- "INTERFACE_CONFIG={{ interface_config }}"
- "PROVISION_PORT=4243"
- "PROVISION_LISTEN=0.0.0.0"
- "PROVISION_DEFAULT_ROLE=compute-node"
- "PROVISION_SCRIPT=/etc/maas/ansible/do-ansible"
volumes:
- "/etc/maas/ansible:/etc/maas/ansible"
switchq:
image: "{{ docker.registry }}/cord-maas-switchq:{{ docker.image_version }}"
container_name: switchq
labels:
- "lab.solution=CORD"
- "lab.component=switchq"
links:
- provisioner
environment:
- "SWITCHQ_PROVISION_URL=http://provisioner:4243/provision/"
- "SWITCHQ_PROVISION_TTL=0s"
- "SWITCHQ_DEFAULT_ROLE=fabric-switch"
- "SWITCHQ_ADDRESS_URL=file:///switchq/dhcp/dhcp_harvest.inc"
volumes:
- "/etc/bind/maas:/switchq/dhcp"
automation:
image: "{{ docker.registry }}/cord-maas-automation:{{ docker.image_version }}"
container_name: automation
labels:
- "lab.solution=CORD"
- "lab.component=automation"
links:
- provisioner
environment:
# need to explicitly set the resolver, else go will skip the /etc/hosts file
- "GODEBUG=netdns=go"
- "AUTOMATION_PROVISION_URL=http://provisioner:4243/provision/"
- "AUTOMATION_PROVISION_TTL=30m"
{% if virtualbox_support is defined and virtualbox_support == "1" %}
- "AUTOMATION_POWER_HELPER_SCRIPT=/etc/maas/virtualbox/power_discovery"
- "AUTOMATION_POWER_HELPER_USER={{ virtualbox.power_helper_user }}"
- "AUTOMATION_POWER_HELPER_HOST={{ virtualbox_host }}"
{% endif %}
volumes:
- "/etc/maas:/mappings"
{% if virtualbox_support is defined and virtualbox_support == "1" %}
- "/etc/maas/virtualbox:/etc/maas/virtualbox"
{% endif %}
command: [ "-apiVersion", "1.0", "-apikey", "{{ apikey.stdout }}", "-maas", "http://{{ mgmt_ip_address.stdout }}/MAAS", "-period", "30s", "-mappings", "@/mappings/mappings.json", "-always-rename" ]