Friday, May 08, 2015

Devstack install Openstack Kilo on Fedora 21 ( Rawhide repos )

 Running stack.sh on Fedora 21 requires several updates via rawhide repo.
Several services mentioned bellow have to be enabled to support reboots, firewalld has to be be disabled after after stack.sh completion, due to devstack is not packstack (RDO). F21 VM been used for devstack install had nested kvm enabled, 8 GB RAM and 3 VCPUS.

 To prepare Fedora 21 VM to devstack run following commands:-
 
 # yum -y update
 # yum -y install git python-six  fedora-repos-rawhide
 # yum --enablerepo=rawhide install  python-pip python-pbr systemd
 # reboot

Now install Virtualization Preview Repo for F21 and upgrade system:-

 #  wget http://fedorapeople.org/groups/virt/virt-preview/fedora-virt-preview.repo -O /etc/yum.repos.d/fedora-virt-preview.repo
 # yum -y update

 ************************************
 SET SELINUX to permissive
 ************************************

Create user stack via system script.
Run as stack:-

$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
$ git checkout -b kilo origin/stable/kilo

Create local.conf

[[local|localrc]]
HOST_IP=192.169.142.54
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=a682f596-76f3-11e3-b3b2-e716f9080d50

FLOATING_RANGE=192.168.10.0/24
FLAT_INTERFACE=eth0
Q_FLOATING_ALLOCATION_POOL=start=192.168.10.150,end=192.168.10.254
PUBLIC_NETWORK_GATEWAY=192.168.10.15

# Useful logging options for debugging:
DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen

# The default fixed range (10.0.0.0/24) conflicted with an address
# range I was using locally.
FIXED_RANGE=10.254.1.0/24
NETWORK_GATEWAY=10.254.1.1

# Services
disable_service n-net
enable_service n-cauth
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service horizon
disable_service tempest

Run ./stack.sh

# systemctl stop firewalld
# systemctl disable  firewalld

***************************
To recover after reboot :-
***************************
    systemctl enable rabbitmq-server 
  systemctl enable openvswitch 
  systemctl enable httpd 
  systemctl enable mariadb 
  systemctl enable mysqld

File /etc/rc.d/rc.local should contain ( in my case ) :-

#!/bin/bash

ip addr flush dev br-ex ;
ip addr add 192.168.10.15/24 dev br-ex ;
ip link set br-ex up ;
route add -net 10.254.1.0/24 gw 192.168.10.15 ;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ; 
System is supposed to be shutdown via :-
$cd dev* 
$sudo ./unstack.sh

**************************************************************
Before running ./rejoin-stack.sh Run as stack ***************************************************************

 $ sudo losetup /dev/loop0 /opt/stack/data/stack-volumes-default-backing-file
 $ sudo losetup /dev/loop1 /opt/stack/data/stack-volumes-lvmdriver-1-backing-file

*************************************************************************************
If stack instance is running on KVM (Fedora 21) on Libvirt Subnet
to access stack VMs running inside KVM (Fedora 21) from F21 box hosting KVM
Hypervisor  run from within  KVM (Fedora 21)

*************************************************************************************

# route add -net 192.168.1.0/24  gw 192.169.142.54

where 192.169.142.54 is KVM's IP on non-default libvirt subnet 192.169.142.0/24 , 192.168.1.0/24 is subnet hosting machine 192.168.1.47 running KVM Hypervisor

********************************************************************************
On machine 192.168.1.47,which is Fedora 21 box plus KVM/QEMU/LIBVIRT
run :-
*********************************************************************************

# route add -net 192.168.10.0/24 gw 192.169.142.54

where 192.168.10.0/24 is devstack public subnet running on KVM (Fedora 21)
hosting  stack (e.g. devstack) instance.

************************************************
Login into Openstack VM (L2) from host running
stack instance on F21 KVM (L1)
************************************************

[boris@fedora21wks01 Downloads]$ ifconfig
enp3s0: flags=4163  mtu 1500
        inet 192.168.1.127  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::7a24:afff:fe43:1b53  prefixlen 64  scopeid 0x20
        ether 78:24:af:43:1b:53  txqueuelen 1000  (Ethernet)
        RX packets 2018156  bytes 2884460011 (2.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1101573  bytes 84106200 (80.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  .  .  .  .  .

[boris@fedora21wks01 Downloads]$ ssh -i oskeystack.pem fedora@192.168.10.153
The authenticity of host '192.168.10.153 (192.168.10.153)' can't be established.
ECDSA key fingerprint is ec:b3:b4:14:0b:bc:12:88:07:89:33:5c:29:38:ff:69.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.153' (ECDSA) to the list of known hosts.
Last login: Fri May  8 08:01:23 2015
[fedora@vf22devs ~]$ uname -a
Linux vf22devs.novalocal 4.0.1-300.fc22.x86_64+debug #1 SMP Wed Apr 29 15:34:12 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[fedora@vf22devs ~]$ curl http://169.254.169.254/latest/meta-data
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
hostname
instance-action
instance-id
instance-type
kernel-id
local-hostname
local-ipv4
placement/
public-hostname
public-ipv4
public-keys/
ramdisk-id
reservation-id