{%- set parameter_dict = dict(default_parameter_dict, **slapparameter_dict) %} {%- set replicate_quantity = int(parameter_dict['replicate-quantity']) %} # Set default title and port for each replicate based on requested quantity {%- for i in range(1, replicate_quantity + 1) %} {%- do parameter_dict.setdefault("title-%d" % i, "") %} {%- do parameter_dict.setdefault("port-%d" % i, 8081 + i) %} {%- endfor %} # Standard buildout section [buildout] parts = publish-connection-information eggs-directory = {{ buildout['eggs-directory'] }} develop-eggs-directory = {{ buildout['develop-eggs-directory'] }} offline = true ################################ # Sections to Request instances ################################ # Macro section sharing request parameters [instance-request-base] <= slap-connection recipe = slapos.cookbook:request # It is the same software as the current one software-url = ${slap-connection:software-release-url} # We want the default behaviour software-type = default # What parameter are neede to be retrieved return = server_url server-cdn-url monitor-setup-url # Provided parameters config-download_url = {{ parameter_dict['download_url'] }} # Create request section in a loop. {% for i in range(1, replicate_quantity + 1) %} # Request a normal html5as instance [instance-{{ i }}] <= instance-request-base # Name of the instance name = instance-html5as-{{ i }} config-port = {{ parameter_dict["port-%s" % i] }} config-title = {{ parameter_dict["title-%s" % i] }} {% if "sla-%s-computer-guid" % i in parameter_dict -%} sla-computer_guid = {{ parameter_dict["sla-%s-computer-guid" % i] }} {% endif -%} {% endfor %} # Publish information to connect to the two instances [publish-connection-information] recipe = slapos.cookbook:publish {% for i in range(1, replicate_quantity + 1) %} instance-{{ i }}-server_url = ${instance-{{ i }}:connection-server_url} instance-{{ i }}-server-cdn-url = ${instance-{{ i }}:connection-server-cdn-url} instance-{{ i }}-server-monitor-setup-url = ${instance-{{ i }}:connection-monitor-setup-url} {% endfor %}