| 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" ] |