From 3ada41b2e02817175192ac3e44f261ee76993a66 Mon Sep 17 00:00:00 2001 From: Olaf Bohlen <olaf.bohlen@niit.com> Date: Wed, 19 Aug 2020 17:54:11 +0200 Subject: [PATCH] initial work --- tasks/main.yml | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 1 deletions(-) diff --git a/tasks/main.yml b/tasks/main.yml index 4442303..fd4045c 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,2 +1,112 @@ --- -# tasks file for oi-zone \ No newline at end of file +# tasks file for oi-zone +- name: create VNICs + dladm_vnic: + name: "{{ item['logical'] }}" + link: "{{ item['physical'] }}" + vlan: "{{ item['vlan'] }}" + loop: "{{ oizone['nics'] }}" + +- name: create filesystems + zfs: + name: "{{ item['path'] }}" + state: present + zfs_extra_properties: "{{ item['zfs_extra_properties'] }}" + loop: "{{ oizone['filesystems'] }}" + when: zfscreate + +- name: set up VM zones for master + solaris_zone: + name: "{{ oizone['name'] }}" + state: installed + path: "{{ oizone['zoneroot'] }}/{{ oizone['name'] }}" + config: > + set brand={{ oizone['brand'] }}; + set autoboot={{ oizone['autoboot'] }}; + {% if oizone['bootargs'] %} + set bootargs={{ oizone['bootargs'] }}; + {% endif %} + set ip-type={{ oizone['iptype'] }}; + {% for nic in oizone['nics'] %} + add net; + set physical={{ nic['logical'] }}; + {% if {{ oizone['iptype'] == "shared" %} + set address={{ nic['address'] }}; + {% endif %} + end; + {% endfor %} + {% for disk in vmconfig[outer_item]['disks'] %} + add device; + set match="/dev/zvol/rdsk/localstripe/vm/{{ outer_item }}d{{ disk['instance'] }}"; + end; + add attr; + set name="{{ disk['label'] }}"; + set type="string"; + set value="localstripe/vm/{{ outer_item }}d{{ disk['instance'] }}"; + end; + {% endfor %} + {% if oizone['cpus'] == "dedicated" %} + add dedicated-cpu; + set ncpus={{ oizone['ncpus'] }}; + end; + {% endif %} + {% if oizone['cpus'] == "capped-cpu" %} + add capped-cpu; + set ncpus={{ oizone['ncpus'] }}; + end; + {% endif %} + {% if oizone['mem'] == "capped-memory" %} + add capped-memory; + set physical={{ oizone['ram'] }}; + set swap={{ oizone['swap'] }}; + set locked={{ oizone['locked'] }}; + end; + {% endif %} + {% for dataset in oizone['filesystems'] %} + {% if dataset['type'] == "dataset" %} + add dataset; + set name={{ dataset['path'] }}; + end; + {% endif %} + {% if dataset['type'] == "lofs" %} + add fs; + set special={{ dataset['path'] }}; + set dir={{ dataset['mountpoint'] }}; + set type="lofs"; + {% for option in database['options'] %} + add options {{ option }}; + {% endfor %} + end; + {% endif %} + {% if dataset['type'] == "volume" %} + add device; + set match=/dev/zvol/rdsk/{{ dataset['path'] }}; + end; + {% endif %} + {% endfor %} + {% if oizone['brand'] == "kvm" %} + add attr; + set name="bootorder"; + set type="string"; + set value="{{ oizone['kvm']['bootorder'] }}"; + add attr; + set name="vnc"; + set type="string"; + set value="{{ oizone['kvm']['vnc'] }}"; + end; + add attr; + set name="vcpus"; + set type="string"; + set value="{{ oizone['ncpus'] }}"; + end; + add attr; + set name="ram"; + set type="string"; + set value="{{ oizone['ram'] }}"; + end; + {% endif %} + +- name: create a sysding.conf + template: + dest: "{{ oizone['zoneroot'] }}/{{ oizone['name'] }}/root/etc/sysding.conf" + src: sysding.j2 -- Gitblit v1.9.3