diff --git a/multi-node-aio/build.sh b/multi-node-aio/build.sh index c160891e..509fdad0 100755 --- a/multi-node-aio/build.sh +++ b/multi-node-aio/build.sh @@ -19,7 +19,8 @@ source bootstrap.sh source ansible-env.rc -ansible-playbook -i playbooks/inventory \ +ansible-playbook -vv \ + -i playbooks/inventory \ -e setup_host=${SETUP_HOST:-"true"} \ -e setup_pxeboot=${SETUP_PXEBOOT:-"true"} \ -e setup_dhcpd=${SETUP_DHCPD:-"true"} \ @@ -28,7 +29,7 @@ ansible-playbook -i playbooks/inventory \ -e osa_branch=${OSA_BRANCH:-"master"} \ -e default_network=${DEFAULT_NETWORK:-"eth0"} \ -e default_image=${DEFAULT_IMAGE:-"ubuntu-16.04-amd64"} \ - -e vm_disk_size=${VM_DISK_SIZE:-61440} \ + -e vm_disk_size=${VM_DISK_SIZE:-92160} \ -e http_proxy=${http_proxy:-''} \ -e run_osa=${RUN_OSA:-"true"} \ -e pre_config_osa=${PRE_CONFIG_OSA:-"true"} \ diff --git a/multi-node-aio/playbooks/deploy-osa.yml b/multi-node-aio/playbooks/deploy-osa.yml index ad1b0b4f..718b12e7 100644 --- a/multi-node-aio/playbooks/deploy-osa.yml +++ b/multi-node-aio/playbooks/deploy-osa.yml @@ -13,6 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. + +- name: Setup cinder host volume + hosts: cinder_hosts:swift_hosts + gather_facts: false + tasks: + - name: un-mount deleteme mount + mount: + name: "/var/lib/lxc" + state: unmounted + + - name: remote deleteme mount + mount: + name: "/var/lib/lxc" + state: absent + + - name: Remove deleteme lv + lvol: + vg: vg00 + lv: lxc00 + force: true + state: absent + - name: Setup cinder host volume hosts: cinder_hosts gather_facts: false @@ -35,7 +57,7 @@ - deploy-osa -- name: Setup cinder host volume +- name: Setup swift host volume hosts: swift_hosts gather_facts: false tasks: diff --git a/multi-node-aio/playbooks/deploy-vms.yml b/multi-node-aio/playbooks/deploy-vms.yml index d1ebba31..24f88e04 100644 --- a/multi-node-aio/playbooks/deploy-vms.yml +++ b/multi-node-aio/playbooks/deploy-vms.yml @@ -103,28 +103,6 @@ - src: /root/.ssh/id_rsa.pub dest: /root/.ssh/id_rsa.pub - - name: un-mount deleteme mount - mount: - name: "/deleteme" - state: unmounted - - - name: remote deleteme mount - mount: - name: "/deleteme" - state: absent - - - name: Remove deleteme dir - file: - path: "/deleteme" - state: absent - - - name: Remove deleteme lv - lvol: - vg: vg00 - lv: deleteme00 - force: true - state: absent - vars_files: - vars/main.yml tags: diff --git a/multi-node-aio/playbooks/inventory b/multi-node-aio/playbooks/inventory index 44f2cfed..7f39eb78 100644 --- a/multi-node-aio/playbooks/inventory +++ b/multi-node-aio/playbooks/inventory @@ -13,6 +13,7 @@ cinder2 ansible_host=10.0.236.108 swift1 ansible_host=10.0.236.109 swift2 ansible_host=10.0.236.110 swift3 ansible_host=10.0.236.111 +loadbalancer1 ansible_host=10.0.236.112 [pxe_hosts] mnaio1 @@ -24,7 +25,7 @@ mnaio1 mnaio1 [deploy_hosts] -log1 +infra1 [swift_hosts] swift1 diff --git a/multi-node-aio/playbooks/kvm/kvm-vm.xml b/multi-node-aio/playbooks/kvm/kvm-vm.xml index fe51e386..f9a195c7 100644 --- a/multi-node-aio/playbooks/kvm/kvm-vm.xml +++ b/multi-node-aio/playbooks/kvm/kvm-vm.xml @@ -2,9 +2,10 @@ {{ item.server_hostname }} {{ item.server_vm_ram }} {{ item.server_vm_ram }} -{% set vcpus_threads = ((item.server_vm_vcpus | int) // 2) %} -{% set vcpus = (item.server_vm_vcpus | int) * vcpus_threads %} - {{ vcpus }} +{% set _vcpus_threads = ((item.server_vm_vcpus | int) // 2) %} +{% set vcpus_threads = (_vcpus_threads | int) == 0 | ternary('1', _vcpus_threads) %} +{% set vcpus = (item.server_vm_vcpus | int) * (vcpus_threads | int) %} + {{ vcpus | int }} /machine @@ -17,7 +18,7 @@ - + diff --git a/multi-node-aio/playbooks/osa/openstack_user_config.yml b/multi-node-aio/playbooks/osa/openstack_user_config.yml index 7951b327..88d35adc 100644 --- a/multi-node-aio/playbooks/osa/openstack_user_config.yml +++ b/multi-node-aio/playbooks/osa/openstack_user_config.yml @@ -12,8 +12,8 @@ used_ips: - "10.0.248.0,10.0.248.200" global_overrides: - internal_lb_vip_address: "10.0.2.110" - external_lb_vip_address: "10.0.236.103" + internal_lb_vip_address: "10.0.236.112" + external_lb_vip_address: "10.0.2.142" tunnel_bridge: "br-vxlan" management_bridge: "br-mgmt" provider_networks: @@ -140,6 +140,11 @@ swift_block: &swift_block swift1: ip: 10.0.236.111 +loadbalancer_block: &loadbalancer_block + loadbalancer1: + ip: 10.0.236.112 + + ### ### Infrastructure ### @@ -153,9 +158,9 @@ repo-infra_hosts: *infra_block # rsyslog server log_hosts: *log_block - # load balancer -haproxy_hosts: *log_block +haproxy_hosts: *loadbalancer_block + ### ### OpenStack diff --git a/multi-node-aio/playbooks/pxe/debian/mnaio.preseed.j2 b/multi-node-aio/playbooks/pxe/debian/mnaio.preseed.j2 index f8b817f5..568ced51 100644 --- a/multi-node-aio/playbooks/pxe/debian/mnaio.preseed.j2 +++ b/multi-node-aio/playbooks/pxe/debian/mnaio.preseed.j2 @@ -112,34 +112,34 @@ d-i partman-auto/choose_recipe select custompartitioning d-i partman-auto/expert_recipe string \ custompartitioning :: \ 1 1 1 free \ - $gptonly{ } \ - $primary{ } \ - $bios_boot{ } \ + $gptonly{ } \ + $primary{ } \ + $bios_boot{ } \ method{ biosgrub } \ . \ 256 1 512 raid \ - $gptonly{ } \ - $lvmignore{ } \ - $primary{ } \ - $bootable{ } \ + $gptonly{ } \ + $lvmignore{ } \ + $primary{ } \ + $bootable{ } \ method{ raid } \ raidid{ 1 } \ . \ 204800 1 -1 raid \ - $gptonly{ } \ - $lvmignore{ } \ + $gptonly{ } \ + $lvmignore{ } \ method{ raid } \ raidid{ 2 } \ . \ 1024 512 400% linux-swap \ - $defaultignore{ } \ - $lvmok{ } \ + $defaultignore{ } \ + $lvmok{ } \ method{ swap } \ format{ } \ . \ 16384 5000 100% ext4 \ - $defaultignore{ } \ - $lvmok{ } \ + $defaultignore{ } \ + $lvmok{ } \ method{ format } \ format{ } \ use_filesystem{ } \ @@ -147,8 +147,8 @@ d-i partman-auto/expert_recipe string \ mountpoint{ / } \ . \ 81920 1000 100% ext4 \ - $defaultignore{ } \ - $lvmok{ } \ + $defaultignore{ } \ + $lvmok{ } \ lv_name{ openstack00 } \ method{ format } \ format{ } \ @@ -158,8 +158,8 @@ d-i partman-auto/expert_recipe string \ mountpoint{ /openstack } \ . \ 81920 1000 100% btrfs \ - $defaultignore{ } \ - $lvmok{ } \ + $defaultignore{ } \ + $lvmok{ } \ lv_name{ machines00 } \ method{ format } \ format{ } \ diff --git a/multi-node-aio/playbooks/pxe/debian/vm.preseed.j2 b/multi-node-aio/playbooks/pxe/debian/vm.preseed.j2 index 0d36062c..c35befae 100644 --- a/multi-node-aio/playbooks/pxe/debian/vm.preseed.j2 +++ b/multi-node-aio/playbooks/pxe/debian/vm.preseed.j2 @@ -115,7 +115,7 @@ d-i partman-auto/expert_recipe string \ device{ /dev/vda2 } \ vg_name{ vg00 } \ . \ - 1024 1 4096 linux-swap \ + 2048 1 4096 linux-swap \ $lvmok{ } in_vg{ vg00 } \ lv_name{ swap00 } \ method{ swap } format{ } \ @@ -136,7 +136,7 @@ d-i partman-auto/expert_recipe string \ label{ openstack } \ mountpoint{ /openstack } \ . \ - 8192 1 16384 btrfs \ + 4096 1 8192 btrfs \ $lvmok{ } in_vg{ vg00 } \ lv_name{ machines00 } \ method{ format } format{ } \ @@ -144,13 +144,13 @@ d-i partman-auto/expert_recipe string \ label{ machines } \ mountpoint{ /var/lib/machines } \ . \ - 1024 1 1024000 ext4 \ + 8192 1 10240000 ext4 \ $lvmok{ } in_vg{ vg00 } \ - lv_name{ deleteme00 } \ + lv_name{ lxc00 } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ - label{ deleteme } \ - mountpoint{ /deleteme } \ + label{ lxc } \ + mountpoint{ /var/lib/lxc } \ . \ # This makes partman automatically partition without confirmation, provided diff --git a/multi-node-aio/playbooks/vars/main.yml b/multi-node-aio/playbooks/vars/main.yml index d6691895..1415ab14 100644 --- a/multi-node-aio/playbooks/vars/main.yml +++ b/multi-node-aio/playbooks/vars/main.yml @@ -2,7 +2,7 @@ ############### DEFAULTS ############### default_interface: "{{ default_network | default('eth0') }}" default_vm_image: "{{ default_image | default('ubuntu-16.04-amd64') }}" -default_vm_storage: "{{ vm_disk_size | default(61440) }}" +default_vm_storage: "{{ vm_disk_size | default(92160) }}" default_ubuntu_mirror_proxy: 'http://10.0.2.1:3142/' default_ubuntu_mirror_hostname: archive.ubuntu.com @@ -138,7 +138,7 @@ pxelinux_short_name: "syslinux-6.03" # List of servers to create specific mac address bound boot entries. servers: - server_hostname: 'infra1' # str - required, hostname of server - server_vm_ram: 6144 # int - not required, used to specify ram when provisioning a VM + server_vm_ram: 8192 # int - not required, used to specify ram when provisioning a VM server_vm_vcpus: 4 # int - not required, used to specify vcpus when provisioning a VM server_vm_fixed_addr: '10.0.2.100' # str - not required, used to specify fixed address when using internal DHCPD server_vm_primary_network: 'dhcp' # str - not required, primary network used to kick the VM @@ -177,7 +177,7 @@ servers: address: '10.0.244.100/22' # str - not required, must be in CIDR format vm_int_iface: vm-br-eth5 # str - not Required, used to specify an integration networks interface when provisioning a VM - server_hostname: 'infra2' - server_vm_ram: 6144 + server_vm_ram: 8192 server_vm_vcpus: 4 server_vm_fixed_addr: '10.0.2.101' server_vm_primary_network: 'dhcp' @@ -216,7 +216,7 @@ servers: address: '10.0.244.101/22' vm_int_iface: vm-br-eth5 - server_hostname: 'infra3' - server_vm_ram: 6144 + server_vm_ram: 8192 server_vm_vcpus: 4 server_vm_fixed_addr: '10.0.2.102' server_vm_primary_network: 'dhcp' @@ -255,7 +255,7 @@ servers: address: '10.0.244.102/22' vm_int_iface: vm-br-eth5 - server_hostname: 'logging1' - server_vm_ram: 2048 + server_vm_ram: 1024 server_vm_vcpus: 2 server_vm_fixed_addr: '10.0.2.110' server_vm_primary_network: 'dhcp' @@ -566,6 +566,45 @@ servers: inet_type: 'manual' address: '10.0.244.111/22' vm_int_iface: vm-br-eth5 + - server_hostname: 'loadbalancer1' + server_vm_ram: 1024 + server_vm_vcpus: 1 + server_vm_fixed_addr: '10.0.2.142' + server_vm_primary_network: 'dhcp' + server_image: "{{ default_vm_image }}" + server_default_interface: 'eth0' + server_mac_address: '52:54:00:bd:80:12' + server_preseed_ks: 'vm' + server_extra_options: '' + server_networks: + dhcp: + iface: 'eth0' + inet_type: 'dhcp' + vm_int_iface: vm-br-dhcp + mgmt: + iface: 'eth1' + inet_type: 'static' + address: '10.0.236.112/22' + vm_int_iface: vm-br-eth1 + flat: + iface: 'eth2' + inet_type: 'static' + address: '10.0.248.112/22' + vm_int_iface: vm-br-eth2 + vlan: + iface: 'eth3' + inet_type: 'manual' + vm_int_iface: vm-br-eth3 + vxlan: + iface: 'eth4' + inet_type: 'manual' + address: '10.0.240.112/22' + vm_int_iface: vm-br-eth4 + storage: + iface: 'eth5' + inet_type: 'manual' + address: '10.0.244.112/22' + vm_int_iface: vm-br-eth5 ############### SERVERS ###############