Changes for CORD POD configuration
diff --git a/cord-hosts b/cord-hosts
index 3a85337..52135d2 100644
--- a/cord-hosts
+++ b/cord-hosts
@@ -1,7 +1,10 @@
-head ansible_ssh_host=node1.juju2.xos-pg0.clemson.cloudlab.us
+head ansible_ssh_host=10.90.0.2
[compute]
-node2.juju2.xos-pg0.clemson.cloudlab.us
+10.90.0.64
+10.90.0.65
+10.90.0.66
[all:vars]
-cloudlab=true
+cloudlab=False
+ansible_ssh_user=cord
diff --git a/cord-post-install.yml b/cord-post-install.yml
index a46bfd9..460ed42 100644
--- a/cord-post-install.yml
+++ b/cord-post-install.yml
@@ -13,11 +13,11 @@
- name: Copy credentials to nova-cloud-controller
shell: "scp admin-openrc.sh ubuntu@nova-cloud-controller:"
- - name: Copy network setup script
- sudo: yes
- copy: src=scripts/network-setup.sh
- dest=/usr/local/src/network-setup.sh
- mode=0644
+# - name: Copy network setup script
+# sudo: yes
+# copy: src=scripts/network-setup.sh
+# dest=/usr/local/src/network-setup.sh
+# mode=0644
- - name: Run network setup script
- shell: ansible nova-cloud-controller -m script -u ubuntu -a "/usr/local/src/network-setup.sh"
+# - name: Run network setup script
+# shell: ansible nova-cloud-controller -m script -u ubuntu -a "/usr/local/src/network-setup.sh"
diff --git a/cord-setup.yml b/cord-setup.yml
index 80e5a53..5f599ae 100644
--- a/cord-setup.yml
+++ b/cord-setup.yml
@@ -60,7 +60,7 @@
- name: (CloudLab) Set up extra disk space
shell: /usr/testbed/bin/mkextrafs -f /var/lib/uvtool/libvirt/images
creates=/var/lib/uvtool/libvirt/images/lost+found
- when: cloudlab
+ when: cloudlab is defined and cloudlab
- name: Add myself to libvirtd group
user: name={{ ansible_env['SUDO_USER'] }}
@@ -76,7 +76,7 @@
tasks:
- name: Create VMs to host OpenCloud services
sudo: no
- script: scripts/create-vms.sh
+ script: scripts/create-vms-cord.sh
- include: tasks/vm-ips.yml
@@ -115,66 +115,26 @@
# Play: prepare compute nodes for installation
- hosts: compute
sudo: yes
- vars:
- control_net: "{{ hostvars['head']['ansible_virbr0']['ipv4']['network'] }}/24"
- gateway: "{{ hostvars['head']['ansible_default_ipv4']['address'] }}"
tasks:
- name: Install package needed by Juju
apt: name=python-yaml state=present
- - name: Add key
+ - name: Add key for standard user
authorized_key: user="{{ ansible_env['SUDO_USER'] }}"
key="{{ hostvars['head']['sshkey']['stdout'] }}"
- - name: Add route via /etc/rc.local
- template: src=templates/etc/rc.local.cloudlab
- dest=/etc/rc.local
- mode=0755
- when: cloudlab
- notify:
- - run /etc/rc.local
+ - name: Add key for root
+ authorized_key: user="root"
+ key="{{ hostvars['head']['sshkey']['stdout'] }}"
- - name: Add route via /etc/rc.local
- template: src=templates/etc/rc.local
- dest=/etc/rc.local
- mode=0755
- when: not cloudlab
- notify:
- - run /etc/rc.local
-
- - name: Touch ~/.ssh/config
+ - name: Make sure that /var/lib/nova exists
file: path=/var/lib/nova state=directory
+ when: cloudlab is defined and cloudlab
- name: (CloudLab) Set up extra disk space
shell: /usr/testbed/bin/mkextrafs -f /var/lib/nova
creates=/var/lib/nova/lost+found
- when: cloudlab
-
- handlers:
- - name: run /etc/rc.local
- shell: /etc/rc.local
-
-# Play: Use libvirt hooks to set up iptables
-- hosts: head
- sudo: yes
- tasks:
- - name: Enable port forwarding for services
- copy: src=files/{{ item }}
- dest={{ item }}
- mode=0755
- notify:
- - reload libvirt config
- - run qemu hook
- with_items:
-# - /etc/libvirt/hooks/daemon
- - /etc/libvirt/hooks/qemu
-
- handlers:
- - name: reload libvirt config
- shell: killall -HUP libvirtd
-
- - name: run qemu hook
- shell: /etc/libvirt/hooks/qemu start start
+ when: cloudlab is defined and cloudlab
# Play: Install services using Juju
- hosts: head
@@ -211,3 +171,18 @@
- name: Deploy OpenStack services with Juju
shell: juju quickstart cord.yaml
+
+- hosts: head
+ sudo: no
+ tasks:
+
+ - name: Get Keystone IP
+ shell: uvt-kvm ip keystone
+ register: keystone_ip
+
+ - name: Create credentials
+ template: src=templates/admin-openrc-cord.sh.j2
+ dest={{ ansible_env['PWD'] }}/admin-openrc.sh
+
+ - name: Copy credentials to nova-cloud-controller
+ shell: "scp admin-openrc.sh ubuntu@nova-cloud-controller:"
diff --git a/cord.yaml b/cord.yaml
index 4332a95..08f9cfb 100644
--- a/cord.yaml
+++ b/cord.yaml
@@ -198,6 +198,7 @@
charm: cs:trusty/nova-cloud-controller-64
num_units: 1
options:
+ config-flags: "force_config_drive = always"
console-access-protocol: novnc
network-manager: Neutron
openstack-origin: cloud:trusty-kilo
diff --git a/scripts/create-vms-cord.sh b/scripts/create-vms-cord.sh
new file mode 100755
index 0000000..953ca3d
--- /dev/null
+++ b/scripts/create-vms-cord.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+function create-vm {
+ NAME=$1
+ CPU=$2
+ MEM_MB=$3
+ DISK_GB=$4
+ uvt-kvm list | grep $1
+ if [ "$?" -ne "0" ]
+ then
+ uvt-kvm create $NAME --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB --bridge mgmtbr
+ uvt-kvm wait --insecure $NAME
+ fi
+}
+
+create-vm juju 1 2048 20
+create-vm mysql 2 4096 40
+create-vm rabbitmq-server 2 4096 40
+create-vm keystone 2 4096 40
+create-vm glance 2 4096 160
+create-vm nova-cloud-controller 2 4096 40
+create-vm neutron-gateway 2 4096 40
+create-vm neutron-api 2 4096 40
+create-vm openstack-dashboard 1 2048 20
+create-vm ceilometer 1 2048 20
+create-vm nagios 1 2048 20