<?xml version="1.0" encoding="ASCII"?> <commons:DOMLModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:app="http://www.piacere-project.eu/doml/application" xmlns:commons="http://www.piacere-project.eu/doml/commons" xmlns:infra="http://www.piacere-project.eu/doml/infrastructure" xmlns:optimization="http://www.piacere-project.eu/doml/optimization" name="nginx_openstack" activeConfiguration="//@configurations.0" activeInfrastructure="//@concretizations.0"> <application name="app"> <components xsi:type="app:SoftwareComponent" name="nginx"> <annotations xsi:type="commons:SProperty" key="source_code" value="/usr/share/nginx/html/index.html"/> </components> </application> <infrastructure name="infra"> <nodes xsi:type="infra:AutoScalingGroup" name="ag" deploymentNetwork="//@infrastructure/@networks.0"> <machineDefinition name="vm1" os="Ubuntu-Focal-20.04-Daily-2022-04-19" credentials="//@infrastructure/@credentials.0" group="//@infrastructure/@groups.0"> <ifaces name="i1" endPoint="16.0.0.1" belongsTo="//@infrastructure/@networks.0" associated="//@infrastructure/@groups.0"/> </machineDefinition> </nodes> <networks name="net1" protocol="tcp/ip" addressRange="16.0.0.0/24" connectedIfaces="//@infrastructure/@nodes.0/@machineDefinition/@ifaces.0"/> <credentials xsi:type="infra:KeyPair" name="ssh_key" user="user1"/> <groups xsi:type="infra:SecurityGroup" name="sg" groupedNodes="//@infrastructure/@nodes.0/@machineDefinition" ifaces="//@infrastructure/@nodes.0/@machineDefinition/@ifaces.0"> <rules name="icmp" protocol="icmp" fromPort="-1" toPort="-1"> <cidr>0.0.0.0/0</cidr> </rules> <rules name="http" kind="INGRESS" protocol="tcp" fromPort="80" toPort="80"> <cidr>0.0.0.0/0</cidr> </rules> <rules name="https" kind="INGRESS" protocol="tcp" fromPort="443" toPort="443"> <cidr>0.0.0.0/0</cidr> </rules> <rules name="ssh" kind="INGRESS" protocol="tcp" fromPort="22" toPort="22"> <cidr>0.0.0.0/0</cidr> </rules> </groups> </infrastructure> <concretizations name="con_infra"> <providers name="openstack"> <vms name="concrete_vm" maps="//@infrastructure/@nodes.0/@machineDefinition"> <annotations xsi:type="commons:SProperty" key="vm_name" value="nginx-host"/> <annotations xsi:type="commons:SProperty" key="vm_flavor" value="ubuntu"/> </vms> <networks name="concrete_net" maps="//@infrastructure/@networks.0"> <annotations xsi:type="commons:SProperty" key="name" value="ostack2"/> </networks> </providers> </concretizations> <optimization name="opt"> <objectives xsi:type="optimization:MeasurableObjective" kind="min" property="cost"/> <nonfunctionalRequirements xsi:type="commons:RangedRequirement" name="req1" description="Cost <= 200" property="cost" max="200.0"/> <nonfunctionalRequirements xsi:type="commons:EnumeratedRequirement" name="req2" description="Provider" property="provider"> <values>OPEN</values> </nonfunctionalRequirements> </optimization> <configurations name="config"> <deployments component="//@application/@components.0" node="//@infrastructure/@nodes.0/@machineDefinition"/> </configurations> </commons:DOMLModel>