diff options
author | David Blaisonneau <david.blaisonneau@orange.com> | 2016-08-04 17:37:15 +0200 |
---|---|---|
committer | David Blaisonneau <david.blaisonneau@orange.com> | 2016-08-05 16:50:35 +0200 |
commit | 5cc5559348a8a18a41cfd25cce446955d63afb83 (patch) | |
tree | 75d5434688d3d4dbcc467581205c5fe4a40c2e60 /ci/config_tpl/maas_tpl | |
parent | eae61f596efd44095dbb78db6e7dd45d249cf77e (diff) |
New scripts for configs generation, based on jinja2
Signed-off-by: David Blaisonneau <david.blaisonneau@orange.com>
Diffstat (limited to 'ci/config_tpl/maas_tpl')
-rw-r--r-- | ci/config_tpl/maas_tpl/deployment.yaml | 45 | ||||
-rw-r--r-- | ci/config_tpl/maas_tpl/juju-bootstrap.yaml | 13 | ||||
-rw-r--r-- | ci/config_tpl/maas_tpl/maas-network_config.yaml | 20 | ||||
-rw-r--r-- | ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml | 23 | ||||
-rw-r--r-- | ci/config_tpl/maas_tpl/maas-nodes.yaml | 28 |
5 files changed, 129 insertions, 0 deletions
diff --git a/ci/config_tpl/maas_tpl/deployment.yaml b/ci/config_tpl/maas_tpl/deployment.yaml new file mode 100644 index 00000000..b57ec01c --- /dev/null +++ b/ci/config_tpl/maas_tpl/deployment.yaml @@ -0,0 +1,45 @@ +opnfv-{{ lab.location }}{{ lab.racks[0].rack }}-maas: + juju-bootstrap: +{% include 'juju-bootstrap.yaml' %} + maas: + apt_sources: + - ppa:maas/stable + - ppa:juju/stable + arch: amd64 + boot_source: + keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg + selections: + '1': + arches: amd64 + labels: release + os: ubuntu + release: xenial + subarches: '*' + url: http://maas.ubuntu.com/images/ephemeral-v2/releases/ + disk_size: 160G + interfaces: +{% for net in opnfv.spaces %} + - bridge={{ net.bridge }},model=virtio +{% endfor %} + ip_address: {{ opnfv.spaces_dict.admin.cidr[:-4] }}5 + memory: 4096 + name: opnfv-{{ lab.location }}{{ lab.racks[0].rack }} + network_config: | +{% include 'maas-network_config.yaml' %} + node_group_ifaces: +{% include 'maas-node_group_ifaces.yaml' %} + nodes: +{% include 'maas-nodes.yaml' %} + password: ubuntu + pool: default + release: trusty + settings: + maas_name: {{ lab.location }}{{ lab.racks[0].rack }} + main_archive: http://archive.ubuntu.com/ubuntu + upstream_dns: {{ lab.racks[0].dns }} + user: ubuntu + vcpus: 4 + virsh: + rsa_priv_key: {{ os.home }}/.ssh/id_rsa + rsa_pub_key: {{ os.home }}/.ssh/id_rsa.pub + uri: qemu+ssh://{{ os.user }}@{{ os.brAdmIP }}/system diff --git a/ci/config_tpl/maas_tpl/juju-bootstrap.yaml b/ci/config_tpl/maas_tpl/juju-bootstrap.yaml new file mode 100644 index 00000000..533c62cc --- /dev/null +++ b/ci/config_tpl/maas_tpl/juju-bootstrap.yaml @@ -0,0 +1,13 @@ + arch: amd64 + disk_size: 60G + interfaces: +{% for net in ['admin','public','external'] %} +{% if net in opnfv.spaces_dict %} + - bridge={{ opnfv.spaces_dict[net].bridge }},model=virtio +{% endif %} +{% endfor %} + memory: 4096 + name: bootstrap + pool: default + vcpus: 4 +{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/maas_tpl/maas-network_config.yaml b/ci/config_tpl/maas_tpl/maas-network_config.yaml new file mode 100644 index 00000000..6188a515 --- /dev/null +++ b/ci/config_tpl/maas_tpl/maas-network_config.yaml @@ -0,0 +1,20 @@ + auto lo + iface lo inet loopback +{% set ethid = 0 %} +{% for net in opnfv.spaces %} + + auto eth{{ ethid }} + iface eth{{ ethid }} inet static + netmask 255.255.255.0 +{% if net.type!='external' %} +{% set net_prefix = net.cidr[:-4] %} + address {{ net_prefix }}5 +{% else %} + address {{ net.ipaddress }} +{% endif %} +{% if net.type=='admin' %} + gateway {{ net.gateway }} + dns-nameservers {{ lab.racks[0].dns }} {{ net_prefix }}5 127.0.0.1 +{% endif %} +{% set ethid = ethid+1 %} +{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml b/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml new file mode 100644 index 00000000..578c89fb --- /dev/null +++ b/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml @@ -0,0 +1,23 @@ +{% set ethid = 0 %} +{% for net in opnfv.spaces %} +{% if net.type!='external' %} +{% set net_prefix = net.cidr[:-4] %} + - broadcast_ip: {{ net_prefix }}255 + device: eth{{ ethid }} + dynamic_range: + high: {{ net_prefix }}250 + low: {{ net_prefix }}81 + ip: {{ net_prefix }}5 +{% if net.gateway!= None %} + router_ip: {{ net.gateway }} +{% endif %} +{% if net.type!='admin' %} + management: 1 +{% endif %} + static_range: + high: {{ net_prefix }}80 + low: {{ net_prefix }}50 + subnet_mask: 255.255.255.0 +{% set ethid = ethid+1 %} +{% endif %} +{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-nodes.yaml b/ci/config_tpl/maas_tpl/maas-nodes.yaml new file mode 100644 index 00000000..4b5a0ce0 --- /dev/null +++ b/ci/config_tpl/maas_tpl/maas-nodes.yaml @@ -0,0 +1,28 @@ +{% for node in lab.racks[0].nodes %} +{% if node.architecture=='x86_64' %} + - architecture: amd64/generic +{% endif %} + interfaces: +{% for nic in node.nics %} + - mac_address: {{ nic.mac[0] }} + mode: auto + name: {{ nic.ifname }} +{% endfor %} + mac_addresses: +{% for nic in node.nics %} + - {{ nic.mac[0] }} +{% endfor %} + name: {{ node.name }} + power: +{% if node.power.type=='ipmi' %} + address: {{ node.power.address }} + driver: LAN_2_0 + pass: {{ node.power.pass }} + type: ipmi + user: {{ node.power.user }} +{% elif node.power.type=='wakeonlan' %} + type: etherwake + mac_address: {{ node.power.mac_address }} +{% endif %} + tags: {{ ' '.join(node.roles) }} +{% endfor %} |