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


  
  


   

Thursday, May 07, 2015

RDO KIlo Set up Two KVMs Nodes (Controller+Compute) ML2&OVS&VLAN on CentOS 7.1

Following bellow a simple two node Controller&&Network and Compute test for oncoming RDO Kilo, which was performed on Fedora 21 host with KVM/Libvirt Hypervisor (16 GB RAM, i5-4690 Intel CPU,ASUS Z97-P Board)
Two VMs (6 GB RAM, 2 VCPUS)  have been setup , each one having 2  VNICs (eth0,eth1) for Controller && Compute Nodes emulation. SELINUX stays in enforcing mode. Both eth1's assigned IPs (192.168.122.127, 192.168.122.137 ) and set to promiscuous mode via  `ip link set eth1 promisc on` in  /etc/rc.d/rc.local on both nodes. Packstack is bind to public IP of interface eth0 192.169.142.127, Compute Node is 192.169.1.137 ( view answer-file ).

******************************************
Start testing following RH instructions
******************************************

# yum install -y https://rdoproject.org/repos/rdo-release.rpm
# yum install -y openstack-packstack


****************************************
Install also  on Compute Node
****************************************


# yum install -y https://rdoproject.org/repos/rdo-release.rpm


Keep SELINUX=enforcing

Two Node Deployment Controller && Compute via answer-file :-

[general]
CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub
CONFIG_DEFAULT_PASSWORD=
CONFIG_MARIADB_INSTALL=y
CONFIG_GLANCE_INSTALL=y
CONFIG_CINDER_INSTALL=y
CONFIG_NOVA_INSTALL=y
CONFIG_NEUTRON_INSTALL=y
CONFIG_HORIZON_INSTALL=y
CONFIG_SWIFT_INSTALL=y
CONFIG_CEILOMETER_INSTALL=y
CONFIG_HEAT_INSTALL=y
CONFIG_SAHARA_INSTALL=n
CONFIG_TROVE_INSTALL=n
CONFIG_IRONIC_INSTALL=n
CONFIG_CLIENT_INSTALL=y
CONFIG_NAGIOS_INSTALL=y
EXCLUDE_SERVERS=
CONFIG_DEBUG_MODE=y
CONFIG_CONTROLLER_HOST=192.169.142.127
CONFIG_COMPUTE_HOSTS=192.169.142.137
CONFIG_NETWORK_HOSTS=192.169.142.127
CONFIG_VMWARE_BACKEND=n
CONFIG_UNSUPPORTED=n
CONFIG_VCENTER_HOST=
CONFIG_VCENTER_USER=
CONFIG_VCENTER_PASSWORD=
CONFIG_VCENTER_CLUSTER_NAME=
CONFIG_STORAGE_HOST=192.169.142.127
CONFIG_SAHARA_HOST=192.169.142.127
CONFIG_USE_EPEL=y
CONFIG_REPO=
CONFIG_RH_USER=
CONFIG_SATELLITE_URL=
CONFIG_RH_PW=
CONFIG_RH_OPTIONAL=y
CONFIG_RH_PROXY=
CONFIG_RH_PROXY_PORT=
CONFIG_RH_PROXY_USER=
CONFIG_RH_PROXY_PW=
CONFIG_SATELLITE_USER=
CONFIG_SATELLITE_PW=
CONFIG_SATELLITE_AKEY=
CONFIG_SATELLITE_CACERT=
CONFIG_SATELLITE_PROFILE=
CONFIG_SATELLITE_FLAGS=
CONFIG_SATELLITE_PROXY=
CONFIG_SATELLITE_PROXY_USER=
CONFIG_SATELLITE_PROXY_PW=
CONFIG_AMQP_BACKEND=rabbitmq
CONFIG_AMQP_HOST=192.169.142.127
CONFIG_AMQP_ENABLE_SSL=n
CONFIG_AMQP_ENABLE_AUTH=n
CONFIG_AMQP_NSS_CERTDB_PW=PW_PLACEHOLDER
CONFIG_AMQP_SSL_PORT=5671
CONFIG_AMQP_SSL_CACERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem
CONFIG_AMQP_SSL_CERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem
CONFIG_AMQP_SSL_KEY_FILE=/etc/pki/tls/private/amqp_selfkey.pem
CONFIG_AMQP_SSL_SELF_SIGNED=y
CONFIG_AMQP_AUTH_USER=amqp_user
CONFIG_AMQP_AUTH_PASSWORD=PW_PLACEHOLDER
CONFIG_MARIADB_HOST=192.169.142.127
CONFIG_MARIADB_USER=root
CONFIG_MARIADB_PW=8e1b660db0064794
CONFIG_KEYSTONE_DB_PW=a56945edf4304f58
CONFIG_KEYSTONE_REGION=RegionOne
CONFIG_KEYSTONE_ADMIN_TOKEN=86da1bcb3024412ebbede973290193d6
CONFIG_KEYSTONE_ADMIN_PW=admin
CONFIG_KEYSTONE_DEMO_PW=70759652c5094026
CONFIG_KEYSTONE_API_VERSION=v2.0
CONFIG_KEYSTONE_TOKEN_FORMAT=UUID
CONFIG_KEYSTONE_SERVICE_NAME=httpd
CONFIG_KEYSTONE_IDENTITY_BACKEND=sql
CONFIG_KEYSTONE_LDAP_URL=ldap://192.169.142.127
CONFIG_KEYSTONE_LDAP_USER_DN=
CONFIG_KEYSTONE_LDAP_USER_PASSWORD=
CONFIG_KEYSTONE_LDAP_SUFFIX=
CONFIG_KEYSTONE_LDAP_QUERY_SCOPE=one
CONFIG_KEYSTONE_LDAP_PAGE_SIZE=-1
CONFIG_KEYSTONE_LDAP_USER_SUBTREE=
CONFIG_KEYSTONE_LDAP_USER_FILTER=
CONFIG_KEYSTONE_LDAP_USER_OBJECTCLASS=
CONFIG_KEYSTONE_LDAP_USER_ID_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_NAME_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_MAIL_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_ENABLED_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_ENABLED_MASK=-1
CONFIG_KEYSTONE_LDAP_USER_ENABLED_DEFAULT=TRUE
CONFIG_KEYSTONE_LDAP_USER_ENABLED_INVERT=n
CONFIG_KEYSTONE_LDAP_USER_ATTRIBUTE_IGNORE=
CONFIG_KEYSTONE_LDAP_USER_DEFAULT_PROJECT_ID_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_ALLOW_CREATE=n
CONFIG_KEYSTONE_LDAP_USER_ALLOW_UPDATE=n
CONFIG_KEYSTONE_LDAP_USER_ALLOW_DELETE=n
CONFIG_KEYSTONE_LDAP_USER_PASS_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_USER_ENABLED_EMULATION_DN=
CONFIG_KEYSTONE_LDAP_USER_ADDITIONAL_ATTRIBUTE_MAPPING=
CONFIG_KEYSTONE_LDAP_GROUP_SUBTREE=
CONFIG_KEYSTONE_LDAP_GROUP_FILTER=
CONFIG_KEYSTONE_LDAP_GROUP_OBJECTCLASS=
CONFIG_KEYSTONE_LDAP_GROUP_ID_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_GROUP_NAME_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_GROUP_MEMBER_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_GROUP_DESC_ATTRIBUTE=
CONFIG_KEYSTONE_LDAP_GROUP_ATTRIBUTE_IGNORE=
CONFIG_KEYSTONE_LDAP_GROUP_ALLOW_CREATE=n
CONFIG_KEYSTONE_LDAP_GROUP_ALLOW_UPDATE=n
CONFIG_KEYSTONE_LDAP_GROUP_ALLOW_DELETE=n
CONFIG_KEYSTONE_LDAP_GROUP_ADDITIONAL_ATTRIBUTE_MAPPING=
CONFIG_KEYSTONE_LDAP_USE_TLS=n
CONFIG_KEYSTONE_LDAP_TLS_CACERTDIR=
CONFIG_KEYSTONE_LDAP_TLS_CACERTFILE=
CONFIG_KEYSTONE_LDAP_TLS_REQ_CERT=demand
CONFIG_GLANCE_DB_PW=b3f69037b41c4dfc
CONFIG_GLANCE_KS_PW=0b4c0a92fa65445a
CONFIG_GLANCE_BACKEND=file
CONFIG_CINDER_DB_PW=94763b25fb5a4d27
CONFIG_CINDER_KS_PW=e70f4eed90e94a60
CONFIG_CINDER_BACKEND=lvm
CONFIG_CINDER_VOLUMES_CREATE=y
CONFIG_CINDER_VOLUMES_SIZE=20G
CONFIG_CINDER_GLUSTER_MOUNTS=
CONFIG_CINDER_NFS_MOUNTS=
CONFIG_CINDER_NETAPP_LOGIN=
CONFIG_CINDER_NETAPP_PASSWORD=
CONFIG_CINDER_NETAPP_HOSTNAME=
CONFIG_CINDER_NETAPP_SERVER_PORT=80
CONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster
CONFIG_CINDER_NETAPP_TRANSPORT_TYPE=http
CONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs
CONFIG_CINDER_NETAPP_SIZE_MULTIPLIER=1.0
CONFIG_CINDER_NETAPP_EXPIRY_THRES_MINUTES=720
CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_START=20
CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_STOP=60
CONFIG_CINDER_NETAPP_NFS_SHARES_CONFIG=
CONFIG_CINDER_NETAPP_VOLUME_LIST=
CONFIG_CINDER_NETAPP_VFILER=
CONFIG_CINDER_NETAPP_VSERVER=
CONFIG_CINDER_NETAPP_CONTROLLER_IPS=
CONFIG_CINDER_NETAPP_SA_PASSWORD=
CONFIG_CINDER_NETAPP_WEBSERVICE_PATH=/devmgr/v2
CONFIG_CINDER_NETAPP_STORAGE_POOLS=
CONFIG_IRONIC_DB_PW=PW_PLACEHOLDER
CONFIG_IRONIC_KS_PW=PW_PLACEHOLDER
CONFIG_NOVA_DB_PW=59b19c8531dc47bd
CONFIG_NOVA_KS_PW=8b0f9be8036742ec
CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0
CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5
CONFIG_NOVA_COMPUTE_MIGRATE_PROTOCOL=tcp
CONFIG_NOVA_COMPUTE_MANAGER=nova.compute.manager.ComputeManager
CONFIG_NOVA_COMPUTE_PRIVIF=eth1
CONFIG_NOVA_NETWORK_MANAGER=nova.network.manager.FlatDHCPManager
CONFIG_NOVA_NETWORK_PUBIF=eth0
CONFIG_NOVA_NETWORK_PRIVIF=eth1
CONFIG_NOVA_NETWORK_FIXEDRANGE=192.168.32.0/22
CONFIG_NOVA_NETWORK_FLOATRANGE=10.3.4.0/22
CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP=n
CONFIG_NOVA_NETWORK_VLAN_START=100
CONFIG_NOVA_NETWORK_NUMBER=1
CONFIG_NOVA_NETWORK_SIZE=255
CONFIG_NEUTRON_KS_PW=39870a6dff7f4eef
CONFIG_NEUTRON_DB_PW=6608f56421d242e8
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_METADATA_PW=b9f65f0948e647dc
CONFIG_LBAAS_INSTALL=n
CONFIG_NEUTRON_METERING_AGENT_INSTALL=n
CONFIG_NEUTRON_FWAAS=n
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=physnet1:1000:1005
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=
CONFIG_NEUTRON_ML2_VXLAN_GROUP=
CONFIG_NEUTRON_ML2_VNI_RANGES=10:100
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-eth1
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-eth1:eth1
CONFIG_NEUTRON_OVS_TUNNEL_IF=
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789
CONFIG_HORIZON_SSL=n
CONFIG_SSL_CERT=
CONFIG_SSL_KEY=
CONFIG_SSL_CACHAIN=
CONFIG_SWIFT_KS_PW=f17522e8f56b4b63
CONFIG_SWIFT_STORAGES=
CONFIG_SWIFT_STORAGE_ZONES=1
CONFIG_SWIFT_STORAGE_REPLICAS=1
CONFIG_SWIFT_STORAGE_FSTYPE=ext4
CONFIG_SWIFT_HASH=2c5206f5d774470e
CONFIG_SWIFT_STORAGE_SIZE=2G
CONFIG_HEAT_DB_PW=PW_PLACEHOLDER
CONFIG_HEAT_AUTH_ENC_KEY=448332170c604571
CONFIG_HEAT_KS_PW=PW_PLACEHOLDER
CONFIG_HEAT_CLOUDWATCH_INSTALL=n
CONFIG_HEAT_CFN_INSTALL=n
CONFIG_HEAT_DOMAIN=heat
CONFIG_HEAT_DOMAIN_ADMIN=heat_admin
CONFIG_HEAT_DOMAIN_PASSWORD=PW_PLACEHOLDER
CONFIG_PROVISION_DEMO=n
CONFIG_PROVISION_TEMPEST=n
CONFIG_PROVISION_DEMO_FLOATRANGE=172.24.4.224/28
CONFIG_PROVISION_CIRROS_URL=http://downeth1ad.cirros-ceth1ud.net/0.3.3/cirros-0.3.3-x86_64-disk.img
CONFIG_PROVISION_TEMPEST_USER=
CONFIG_PROVISION_TEMPEST_USER_PW=PW_PLACEHOLDER
CONFIG_PROVISION_TEMPEST_FLOATRANGE=172.24.4.224/28
CONFIG_PROVISION_TEMPEST_REPO_URI=https://github.com/openstack/tempest.git
CONFIG_PROVISION_TEMPEST_REPO_REVISION=master
CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE=n
CONFIG_CEILOMETER_SECRET=8455120eb72a48a1
CONFIG_CEILOMETER_KS_PW=e6a7d04133134769
CONFIG_CEILOMETER_COORDINATION_BACKEND=redis
CONFIG_MONGODB_HOST=192.169.142.127
CONFIG_REDIS_MASTER_HOST=192.169.142.127
CONFIG_REDIS_PORT=6379
CONFIG_REDIS_HA=n
CONFIG_REDIS_SLAVE_HOSTS=192.169.142.127
CONFIG_REDIS_SENTINEL_HOSTS=192.169.142.127
CONFIG_REDIS_SENTINEL_CONTACT_HOST=192.169.142.127
CONFIG_REDIS_SENTINEL_PORT=26379
CONFIG_REDIS_SENTINEL_QUORUM=2
CONFIG_REDIS_MASTER_NAME=mymaster
CONFIG_SAHARA_DB_PW=PW_PLACEHOLDER
CONFIG_SAHARA_KS_PW=PW_PLACEHOLDER
CONFIG_TROVE_DB_PW=PW_PLACEHOLDER
CONFIG_TROVE_KS_PW=PW_PLACEHOLDER
CONFIG_TROVE_NOVA_USER=admin
CONFIG_TROVE_NOVA_TENANT=services
CONFIG_TROVE_NOVA_PW=PW_PLACEHOLDER
CONFIG_NAGIOS_PW=7cfe022080194778

Ran :-

# packstack --answer-file=./answer-fileVLAN2Nodes.txt

***************************************************************************
[OVS] section  was not generated in ml2_conf.ini updated manually :-
***************************************************************************
[root@ip-192-169-142-127 neutron(keystone_admin)]# cat plugin.ini | grep -v ^$| grep -v ^#
[ml2]
type_drivers = vlan
tenant_network_types = vlan
mechanism_drivers =openvswitch
[ml2_type_flat]
[ml2_type_vlan]
network_vlan_ranges =physnet1:1000:1005
[ml2_type_gre]
[ml2_type_vxlan]
[ovs]
network_vlan_ranges = physnet1:1000:1005
tenant_network_type = vlan
enable_tunneling = False
integration_bridge = br-int
bridge_mappings = physnet1:br-eth1
local_ip = 192.169.142.127

[AGENT]
polling_interval = 2
[securitygroup]
enable_security_group = True

# systemctl restart neutron-openvswitch-agent

Was able crteate external network only via CLI
 # source keystonerc_admin
 # neutron net-create  public --router:external
Subnet created via Dashboard

[root@ip-192-169-142-127 ~(keystone_admin)]# nova service-list
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                                   | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-07T10:23:49.000000 | -               |
| 2  | nova-scheduler   | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-07T10:23:50.000000 | -               |
| 3  | nova-conductor   | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-07T10:23:51.000000 | -               |
| 4  | nova-cert        | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-07T10:23:48.000000 | -               |
| 5  | nova-compute     | ip-192-169-142-137.ip.secureserver.net | nova     | enabled | up    | 2015-05-07T10:23:46.000000 | -               |
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+

[root@ip-192-169-142-127 ~(keystone_admin)]# neutron agent-list
+--------------------------------------+--------------------+----------------------------------------+-------+----------------+---------------------------+
| id                                   | agent_type         | host                                   | alive | admin_state_up | binary                    |
+--------------------------------------+--------------------+----------------------------------------+-------+----------------+---------------------------+
| 84c8ed79-1161-4d7b-82b2-ee345217f350 | DHCP agent         | ip-192-169-142-127.ip.secureserver.net | :-)   | True           | neutron-dhcp-agent        |
| 8cf12ea7-8cf1-406b-801e-043c77ae63e5 | Open vSwitch agent | ip-192-169-142-137.ip.secureserver.net | :-)   | True           | neutron-openvswitch-agent |
| b7117894-773d-4d51-9e58-ba4146577355 | Metadata agent     | ip-192-169-142-127.ip.secureserver.net | :-)   | True           | neutron-metadata-agent    |
| bf21abb7-effb-4792-af4e-3355acbfcd0a | Open vSwitch agent | ip-192-169-142-127.ip.secureserver.net | :-)   | True           | neutron-openvswitch-agent |
| d654e62a-9d1f-4c4a-9c05-d8c8b4f8a722 | L3 agent           | ip-192-169-142-127.ip.secureserver.net | :-)   | True           | neutron-l3-agent          |
+--------------------------------------+--------------------+----------------------------------------+-------+----------------+---------------------------+


[root@ip-192-169-142-127 ~(keystone_admin)]# neutron net-list
+--------------------------------------+----------+-------------------------------------------------------+
| id                                   | name     | subnets                                               |
+--------------------------------------+----------+-------------------------------------------------------+
| 61bcf446-b6f5-4d18-a4d6-15ba75f35691 | public   | 11d22fa6-698a-460b-a6b8-ac6ba212d5c7 192.169.142.0/24 |
| c7680cd8-d3e3-4d66-a5ce-409d1f3623b4 | demo_net | 6b4449e3-1267-4752-99f3-ea403cb63557 50.0.0.0/24      |
+--------------------------------------+----------+-------------------------------------------------------+

[root@ip-192-169-142-127 ~(keystone_admin)]# neutron net-show 61bcf446-b6f5-4d18-a4d6-15ba75f35691
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| id                        | 61bcf446-b6f5-4d18-a4d6-15ba75f35691 |
| mtu                       | 0                                    |
| name                      | public                               |
| provider:network_type     | vlan                                 |
| provider:physical_network | physnet1                             |
| provider:segmentation_id  | 1000                                 |
| router:external           | True                                 |
| shared                    | True                                 |
| status                    | ACTIVE                               |
| subnets                   | 11d22fa6-698a-460b-a6b8-ac6ba212d5c7 |
| tenant_id                 | 255b6ed64d354bc994f6682205065db3     |
+---------------------------+--------------------------------------+


[root@ip-192-169-142-127 ~(keystone_admin)]# ip netns
qrouter-f16b6bd6-4836-4cb9-a31f-7cba6f56a069
qdhcp-c7680cd8-d3e3-4d66-a5ce-409d1f3623b4


[root@ip-192-169-142-127 ~(keystone_admin)]# ip netns exec qrouter-f16b6bd6-4836-4cb9-a31f-7cba6f56a069 iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N neutron-l3-agent-OUTPUT
-N neutron-l3-agent-POSTROUTING
-N neutron-l3-agent-PREROUTING
-N neutron-l3-agent-float-snat
-N neutron-l3-agent-snat
-N neutron-postrouting-bottom
-A PREROUTING -j neutron-l3-agent-PREROUTING
-A OUTPUT -j neutron-l3-agent-OUTPUT
-A POSTROUTING -j neutron-l3-agent-POSTROUTING
-A POSTROUTING -j neutron-postrouting-bottom
-A neutron-l3-agent-OUTPUT -d 192.169.142.151/32 -j DNAT --to-destination 50.0.0.11
-A neutron-l3-agent-POSTROUTING ! -i qg-3adb10fe-a5 ! -o qg-3adb10fe-a5 -m conntrack ! --ctstate DNAT -j ACCEPT
-A neutron-l3-agent-PREROUTING -d 169.254.169.254/32 -i qr-+ -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9697
-A neutron-l3-agent-PREROUTING -d 192.169.142.151/32 -j DNAT --to-destination 50.0.0.11
-A neutron-l3-agent-float-snat -s 50.0.0.11/32 -j SNAT --to-source 192.169.142.151
-A neutron-l3-agent-snat -j neutron-l3-agent-float-snat
-A neutron-l3-agent-snat -o qg-3adb10fe-a5 -j SNAT --to-source 192.169.142.150
-A neutron-l3-agent-snat -m mark ! --mark 0x2 -m conntrack --ctstate DNAT -j SNAT --to-source 192.169.142.150
-A neutron-postrouting-bottom -m comment --comment "Perform source NAT on outgoing traffic." -j neutron-l3-agent-snat

*****************************************
Device status verification via dmesg
*****************************************

[root@ip-192-169-142-127 ~(keystone_admin)]# dmesg | grep promisc
[    3.703482] device eth1 entered promiscuous mode <== right after boot up
[ 1869.753603] device ovs-system entered promiscuous mode
[ 1869.763702] device br-int entered promiscuous mode
[ 1869.810562] device br-eth1 entered promiscuous mode
[ 1870.446671] device br-eth1 left promiscuous mode
[ 1871.187513] device br-eth1 entered promiscuous mode
[ 1894.449857] device br-ex entered promiscuous mode
[ 3202.959887] device br-eth1 left promiscuous mode
[ 3203.621745] device br-eth1 entered promiscuous mode
[ 3208.535395] device eth0 entered promiscuous mode
[ 5096.192344] device tap81771029-41 entered promiscuous mode
[ 5110.751906] device qr-28d0fb9b-6b entered promiscuous mode
[ 5111.486074] device qg-3adb10fe-a5 entered promiscuous mode


Monday, May 04, 2015

RDO KIlo Set up Two KVMs Nodes (Controller+Compute) ML2&OVS&VXLAN on CentOS 7.1

 Following bellow a simple two node Controller&&Network and Compute test for oncoming RDO Kilo, which was performed on Fedora 21 host with KVM/Libvirt Hypervisor (16 GB RAM, i5-4690 Intel CPU,ASUS Z97-P Board)
Two VMs (6 GB RAM, 2 VCPUS)  have been setup , each one having 2  VNICs (eth0,eth1) for Controller && Compute Nodes emulation. SELINUX stays in enforcing mode. Both eth1's assigned IPs and set support VXLAN tunnel  (192.168.122.127, 192.168.122.137 ). Packstack is bind to public IP of interface eth0 192.169.142.127, Compute Node is 192.169.1.137 ( view answer-file ).

****************************************
Create non-default libvirt subnet
****************************************

1. Create a new libvirt network (other than your default 192.168.122.x) via XML file:

$ cat devstackvms.xml

<network>
   <name>devstackvms</name>
   <uuid>d0e9964a-f91a-40c0-b769-a609aee41bf2</uuid>
   <forward mode='nat'>
     <nat>
       <port start='1024' end='65535'/>
     </nat>
   </forward>
   <bridge name='virbr1' stp='on' delay='0' />
   <mac address='52:54:00:60:f8:6e'/>
   <ip address='192.169.142.1' netmask='255.255.255.0'>
     <dhcp>
       <range start='192.169.142.2' end='192.169.142.254' />
     </dhcp>
   </ip>
 </network>


 $ virsh net-define devstackvms.xml

  Then start the network and enable "autostart"

 $ virsh net-start devstackvms
 $ virsh net-autostart devstackvms

 Setup configuration
- Controller node: Nova, Keystone, Cinder, Glance, Neutron(ML2&OVS&VXLAN)
- Compute node: Nova (nova-compute), Neutron (openvswitch-agent)



Controller && Network Node  -   ip-192-169-142-127.ip.secureserver.net
Compute Node -  ip-192-169-142-137.ip.secureserver.net

******************************************
Start testing following RH instructions
******************************************
Per https://www.rdoproject.org/RDO_test_day_Kilo#How_To_Test

# yum install http://rdoproject.org/repos/openstack-kilo/rdo-testing-kilo.rpm
# yum install -y openstack-packstack

****************************************
Install also  on Compute Node due to
****************************************

https://bugzilla.redhat.com/show_bug.cgi?id=1218744
https://bugzilla.redhat.com/show_bug.cgi?id=1218750

# yum install http://rdoproject.org/repos/openstack-kilo/rdo-testing-kilo.rpm


Keep SELINUX=enforcing

Package  openstack-selinux-0.6.31-1.el7.noarch will be installed by prescript
puppet on all nodes of deployment

*********************
Answer-file :-
*********************
[root@ip-192-169-142-127 ~(keystone_admin)]# cat answer-fileRHTest.txt
[general]
CONFIG_SSH_KEY=/root/.ssh/id_rsa.pub
CONFIG_DEFAULT_PASSWORD=
CONFIG_MARIADB_INSTALL=y
CONFIG_GLANCE_INSTALL=y
CONFIG_CINDER_INSTALL=y
CONFIG_NOVA_INSTALL=y
CONFIG_NEUTRON_INSTALL=y
CONFIG_HORIZON_INSTALL=y
CONFIG_SWIFT_INSTALL=y
CONFIG_CEILOMETER_INSTALL=y
CONFIG_HEAT_INSTALL=n
CONFIG_CLIENT_INSTALL=y
CONFIG_NTP_SERVERS=
CONFIG_NAGIOS_INSTALL=y
EXCLUDE_SERVERS=
CONFIG_DEBUG_MODE=n
CONFIG_CONTROLLER_HOST=192.169.142.127
CONFIG_COMPUTE_HOSTS=192.169.142.137
CONFIG_NETWORK_HOSTS=192.169.142.127
CONFIG_VMWARE_BACKEND=n
CONFIG_UNSUPPORTED=n
CONFIG_VCENTER_HOST=
CONFIG_VCENTER_USER=
CONFIG_VCENTER_PASSWORD=
CONFIG_VCENTER_CLUSTER_NAME=
CONFIG_STORAGE_HOST=192.169.142.127
CONFIG_USE_EPEL=y
CONFIG_REPO=
CONFIG_RH_USER=
CONFIG_SATELLITE_URL=
CONFIG_RH_PW=
CONFIG_RH_OPTIONAL=y
CONFIG_RH_PROXY=
CONFIG_RH_PROXY_PORT=
CONFIG_RH_PROXY_USER=
CONFIG_RH_PROXY_PW=
CONFIG_SATELLITE_USER=
CONFIG_SATELLITE_PW=
CONFIG_SATELLITE_AKEY=
CONFIG_SATELLITE_CACERT=
CONFIG_SATELLITE_PROFILE=
CONFIG_SATELLITE_FLAGS=
CONFIG_SATELLITE_PROXY=
CONFIG_SATELLITE_PROXY_USER=
CONFIG_SATELLITE_PROXY_PW=
CONFIG_AMQP_BACKEND=rabbitmq
CONFIG_AMQP_HOST=192.169.142.127
CONFIG_AMQP_ENABLE_SSL=n
CONFIG_AMQP_ENABLE_AUTH=n
CONFIG_AMQP_NSS_CERTDB_PW=PW_PLACEHOLDER
CONFIG_AMQP_SSL_PORT=5671
CONFIG_AMQP_SSL_CERT_FILE=/etc/pki/tls/certs/amqp_selfcert.pem
CONFIG_AMQP_SSL_KEY_FILE=/etc/pki/tls/private/amqp_selfkey.pem
CONFIG_AMQP_SSL_SELF_SIGNED=y
CONFIG_AMQP_AUTH_USER=amqp_user
CONFIG_AMQP_AUTH_PASSWORD=PW_PLACEHOLDER
CONFIG_MARIADB_HOST=192.169.142.127
CONFIG_MARIADB_USER=root
CONFIG_MARIADB_PW=7207ae344ed04957
CONFIG_KEYSTONE_DB_PW=abcae16b785245c3
CONFIG_KEYSTONE_REGION=RegionOne
CONFIG_KEYSTONE_ADMIN_TOKEN=3ad2de159f9649afb0c342ba57e637d9
CONFIG_KEYSTONE_ADMIN_PW=7049f834927e4468
CONFIG_KEYSTONE_DEMO_PW=bf737b785cfa4398
CONFIG_KEYSTONE_TOKEN_FORMAT=UUID
CONFIG_KEYSTONE_SERVICE_NAME=keystone
CONFIG_GLANCE_DB_PW=41264fc52ffd4fe8
CONFIG_GLANCE_KS_PW=f6a9398960534797
CONFIG_GLANCE_BACKEND=file
CONFIG_CINDER_DB_PW=5ac08c6d09ba4b69
CONFIG_CINDER_KS_PW=c8cb1ecb8c2b4f6f
CONFIG_CINDER_BACKEND=lvm
CONFIG_CINDER_VOLUMES_CREATE=y
CONFIG_CINDER_VOLUMES_SIZE=10G
CONFIG_CINDER_GLUSTER_MOUNTS=
CONFIG_CINDER_NFS_MOUNTS=
CONFIG_CINDER_NETAPP_LOGIN=
CONFIG_CINDER_NETAPP_PASSWORD=
CONFIG_CINDER_NETAPP_HOSTNAME=
CONFIG_CINDER_NETAPP_SERVER_PORT=80
CONFIG_CINDER_NETAPP_STORAGE_FAMILY=ontap_cluster
CONFIG_CINDER_NETAPP_TRANSPORT_TYPE=http
CONFIG_CINDER_NETAPP_STORAGE_PROTOCOL=nfs
CONFIG_CINDER_NETAPP_SIZE_MULTIPLIER=1.0
CONFIG_CINDER_NETAPP_EXPIRY_THRES_MINUTES=720
CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_START=20
CONFIG_CINDER_NETAPP_THRES_AVL_SIZE_PERC_STOP=60
CONFIG_CINDER_NETAPP_NFS_SHARES_CONFIG=
CONFIG_CINDER_NETAPP_VOLUME_LIST=
CONFIG_CINDER_NETAPP_VFILER=
CONFIG_CINDER_NETAPP_VSERVER=
CONFIG_CINDER_NETAPP_CONTROLLER_IPS=
CONFIG_CINDER_NETAPP_SA_PASSWORD=
CONFIG_CINDER_NETAPP_WEBSERVICE_PATH=/devmgr/v2
CONFIG_CINDER_NETAPP_STORAGE_POOLS=
CONFIG_NOVA_DB_PW=1e1b5aeeeaf342a8
CONFIG_NOVA_KS_PW=d9583177a2444f06
CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO=16.0
CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO=1.5
CONFIG_NOVA_COMPUTE_MIGRATE_PROTOCOL=tcp
CONFIG_NOVA_COMPUTE_PRIVIF=eth1
CONFIG_NOVA_NETWORK_MANAGER=nova.network.manager.FlatDHCPManager
CONFIG_NOVA_NETWORK_PUBIF=eth0
CONFIG_NOVA_NETWORK_PRIVIF=eth1
CONFIG_NOVA_NETWORK_FIXEDRANGE=192.168.32.0/22
CONFIG_NOVA_NETWORK_FLOATRANGE=10.3.4.0/22
CONFIG_NOVA_NETWORK_DEFAULTFLOATINGPOOL=nova
CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP=n
CONFIG_NOVA_NETWORK_VLAN_START=100
CONFIG_NOVA_NETWORK_NUMBER=1
CONFIG_NOVA_NETWORK_SIZE=255
CONFIG_NEUTRON_KS_PW=808e36e154bd4cee
CONFIG_NEUTRON_DB_PW=0e2b927a21b44737
CONFIG_NEUTRON_L3_EXT_BRIDGE=br-ex
CONFIG_NEUTRON_L2_PLUGIN=ml2
CONFIG_NEUTRON_METADATA_PW=a965cd23ed2f4502
CONFIG_LBAAS_INSTALL=n
CONFIG_NEUTRON_METERING_AGENT_INSTALL=n
CONFIG_NEUTRON_FWAAS=n
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_ML2_FLAT_NETWORKS=*
CONFIG_NEUTRON_ML2_VLAN_RANGES=
CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES=1001:2000
CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.2
CONFIG_NEUTRON_ML2_VNI_RANGES=1001:2000
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE=local
CONFIG_NEUTRON_LB_VLAN_RANGES=
CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS=
CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE=vxlan
CONFIG_NEUTRON_OVS_VLAN_RANGES=
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=
CONFIG_NEUTRON_OVS_TUNNEL_RANGES=1001:2000
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT=4789
CONFIG_HORIZON_SSL=n
CONFIG_SSL_CERT=
CONFIG_SSL_KEY=
CONFIG_SSL_CACHAIN=
CONFIG_SWIFT_KS_PW=8f75bfd461234c30
CONFIG_SWIFT_STORAGES=
CONFIG_SWIFT_STORAGE_ZONES=1
CONFIG_SWIFT_STORAGE_REPLICAS=1
CONFIG_SWIFT_STORAGE_FSTYPE=ext4
CONFIG_SWIFT_HASH=a60aacbedde7429a
CONFIG_SWIFT_STORAGE_SIZE=2G
CONFIG_PROVISION_DEMO=y
CONFIG_PROVISION_TEMPEST=n
CONFIG_PROVISION_TEMPEST_USER=
CONFIG_PROVISION_TEMPEST_USER_PW=44faa4ebc3da4459
CONFIG_PROVISION_DEMO_FLOATRANGE=172.24.4.224/28
CONFIG_PROVISION_TEMPEST_REPO_URI=https://github.com/openstack/tempest.git
CONFIG_PROVISION_TEMPEST_REPO_REVISION=master
CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE=n
CONFIG_HEAT_DB_PW=PW_PLACEHOLDER
CONFIG_HEAT_AUTH_ENC_KEY=fc3fb7fee61e46b0
CONFIG_HEAT_KS_PW=PW_PLACEHOLDER
CONFIG_HEAT_CLOUDWATCH_INSTALL=n
CONFIG_HEAT_USING_TRUSTS=y
CONFIG_HEAT_CFN_INSTALL=n
CONFIG_HEAT_DOMAIN=heat
CONFIG_HEAT_DOMAIN_ADMIN=heat_admin
CONFIG_HEAT_DOMAIN_PASSWORD=PW_PLACEHOLDER
CONFIG_CEILOMETER_SECRET=19ae0e7430174349
CONFIG_CEILOMETER_KS_PW=337b08d4b3a44753
CONFIG_MONGODB_HOST=192.169.142.127
CONFIG_NAGIOS_PW=02f168ee8edd44e4



****************************
RDO Kilo packstack setup
****************************

# packstack --answer-file=./answer-fileRHTest.txt


Then

# cd /etc/sysconfig/network-interfaces

[root@ip-192-169-142-127 network-scripts(keystone_admin)]# cat ifcfg-br-ex
DEVICE="br-ex"
BOOTPROTO="static"
IPADDR="192.169.142.127"
NETMASK="255.255.255.0"
DNS1="83.221.202.254"
BROADCAST="192.169.142.255"
GATEWAY="192.169.142.1"
NM_CONTROLLED="no"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT=no
ONBOOT="yes"
TYPE="OVSIntPort"
OVS_BRIDGE=br-ex
DEVICETYPE="ovs"

[root@ip-192-169-142-127 network-scripts(keystone_admin)]# cat ifcfg-eth0
DEVICE="eth0"
# HWADDR=00:22:15:63:E4:E2
ONBOOT="yes"
TYPE="OVSPort"
DEVICETYPE="ovs"
OVS_BRIDGE=br-ex
NM_CONTROLLED=no
IPV6INIT=no


# chkconfig network on
# systemctl stop NetworkManager
# systemctl disable NetworkManager
# service network restart

 [root@ip-192-169-142-127 ~(keystone_admin)]# openstack-status
== Nova services ==
openstack-nova-api:                     active
openstack-nova-cert:                    active
openstack-nova-compute:                 inactive  (disabled on boot)
openstack-nova-network:                 inactive  (disabled on boot)
openstack-nova-scheduler:               active
openstack-nova-conductor:               active
== Glance services ==
openstack-glance-api:                   active
openstack-glance-registry:              active
== Keystone service ==
openstack-keystone:                     active
== Horizon service ==
openstack-dashboard:                    active
== neutron services ==
neutron-server:                         active
neutron-dhcp-agent:                     active
neutron-l3-agent:                       active
neutron-metadata-agent:                 active
neutron-openvswitch-agent:              active
== Swift services ==
openstack-swift-proxy:                  active
openstack-swift-account:                active
openstack-swift-container:              active
openstack-swift-object:                 active
== Cinder services ==
openstack-cinder-api:                   active
openstack-cinder-scheduler:             active
openstack-cinder-volume:                active
openstack-cinder-backup:                active
== Ceilometer services ==
openstack-ceilometer-api:               active
openstack-ceilometer-central:           active
openstack-ceilometer-compute:           inactive  (disabled on boot)
openstack-ceilometer-collector:         active
openstack-ceilometer-alarm-notifier:    active
openstack-ceilometer-alarm-evaluator:   active
openstack-ceilometer-notification:      active
== Support services ==
mysqld:                                 inactive  (disabled on boot)
libvirtd:                               active
openvswitch:                            active
dbus:                                   active
target:                                 active
rabbitmq-server:                        active
memcached:                              active
== Keystone users ==
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.
  'python-keystoneclient.', DeprecationWarning)
+----------------------------------+------------+---------+----------------------+
|                id                |    name    | enabled |        email         |
+----------------------------------+------------+---------+----------------------+
| 94784e44beca4727b6fc7d6909b10bac |   admin    |   True  |    root@localhost    |
| 63f60922ba754408afb9925ef08090e9 | ceilometer |   True  | ceilometer@localhost |
| 5fa9249415ab4e1aa2c0c952800b6154 |   cinder   |   True  |   cinder@localhost   |
| 7ca1cc3fe19e44a3b8f2ecddd58dd60a |    demo    |   True  |                      |
| c621d3eccd244fb388916d72c813c78d |   glance   |   True  |   glance@localhost   |
| 08095ea0a8fb45878650f135037ed109 |  neutron   |   True  |  neutron@localhost   |
| dfddbf4a727f483f9778405610943003 |    nova    |   True  |    nova@localhost    |
| fff016d5e5ef484794157046a423a5f8 |   swift    |   True  |   swift@localhost    |
+----------------------------------+------------+---------+----------------------+
== Glance images ==
+--------------------------------------+-----------------+-------------+------------------+-----------+--------+
| ID                                   | Name            | Disk Format | Container Format | Size      | Status |
+--------------------------------------+-----------------+-------------+------------------+-----------+--------+
| 28a009c4-1cb4-4341-a36d-7e52366f1d94 | cirros          | qcow2       | bare             | 13200896  | active |
| e2fc8192-be04-40b2-9dbb-98cf4115c446 | Fedora 22 image | qcow2       | bare             | 221612032 | active |
+--------------------------------------+-----------------+-------------+------------------+-----------+--------+
== Nova managed services ==
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                                   | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-04T15:59:00.000000 | -               |
| 2  | nova-scheduler   | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-04T15:59:00.000000 | -               |
| 3  | nova-conductor   | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-04T15:59:01.000000 | -               |
| 4  | nova-cert        | ip-192-169-142-127.ip.secureserver.net | internal | enabled | up    | 2015-05-04T15:59:03.000000 | -               |
| 5  | nova-compute     | ip-192-169-142-137.ip.secureserver.net | nova     | enabled | up    | 2015-05-04T15:59:09.000000 | -               |
+----+------------------+----------------------------------------+----------+---------+-------+----------------------------+-----------------+
== Nova networks ==
+--------------------------------------+----------+------+
| ID                                   | Label    | Cidr |
+--------------------------------------+----------+------+
| 7cbeb299-9c3e-4316-a630-6df52473dbe8 | public   | -    |
| a4278169-8e65-43c4-a349-11d3cfd7bb27 | demo_net | -    |
+--------------------------------------+----------+------+
== Nova instance flavors ==
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
== Nova instances ==
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+


[root@ip-192-169-142-127 ~(keystone_admin)]# nova hypervisor-list
+----+----------------------------------------+-------+---------+
| ID | Hypervisor hostname                    | State | Status  |
+----+----------------------------------------+-------+---------+
| 1  | ip-192-169-142-137.ip.secureserver.net | up    | enabled |
+----+----------------------------------------+-------+---------+

[root@ip-192-169-142-127 ~(keystone_admin)]# nova hypervisor-servers ip-192-169-142-137.ip.secureserver.net
+--------------------------------------+-------------------+---------------+----------------------------------------+
| ID                                   | Name              | Hypervisor ID | Hypervisor Hostname                    |
+--------------------------------------+-------------------+---------------+----------------------------------------+
| bb44c4da-0b75-40aa-bdd2-71ba3bc90583 | instance-00000001 | 1             | ip-192-169-142-137.ip.secureserver.net |
| 3bf7fe8c-c85d-4c5d-8939-3799c20ffa9d | instance-00000002 | 1             | ip-192-169-142-137.ip.secureserver.net |
+--------------------------------------+-------------------+---------------+----------------------------------------+

***********************************************************************
[root@ip-192-169-142-127 ~(keystone_admin)]# dmesg|grep promisc
***********************************************************************
[  856.801253] device ovs-system entered promiscuous mode
[  856.813522] device br-int entered promiscuous mode
[  856.857992] device br-ex entered promiscuous mode
[  877.234725] device br-tun entered promiscuous mode
[ 1151.909670] device qg-4a5a5aa8-c0 entered promiscuous mode
[ 1152.781163] device tap3b88a4cf-ad entered promiscuous mode
[ 1157.135172] device qr-a30119cb-e2 entered promiscuous mode
[ 3393.070337] device eth0 entered promiscuous mode

*****************
Controller
*****************

[root@ip-192-169-142-127 ~(keystone_admin)]# ovs-vsctl show
8b647117-3339-4ea6-a582-3cbe6ea1bd77
    Bridge br-int
        fail_mode: secure
        Port "qr-47b87328-ec"
            tag: 2
            Interface "qr-47b87328-ec"
                type: internal
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tapd0360261-8f"
            tag: 2
            Interface "tapd0360261-8f"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
    Bridge br-tun
        fail_mode: secure
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "vxlan-c0a87a89"
            Interface "vxlan-c0a87a89"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="192.168.122.127", out_key=flow, remote_ip="192.168.122.137"}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port br-ex
            Interface br-ex
                type: internal
        Port "eth0"
            Interface "eth0"
        Port "qg-44a9c9a4-62"
            Interface "qg-44a9c9a4-62"
                type: internal
    ovs_version: "2.3.1"

***************
Compute
***************

[root@ip-192-169-142-137 yum.repos.d]# ovs-vsctl show
958bc62e-0a5f-4177-a282-80f5f837372e
    Bridge br-tun
        fail_mode: secure
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "vxlan-c0a87a7f"
            Interface "vxlan-c0a87a7f"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="192.168.122.137", out_key=flow, remote_ip="192.168.122.127"}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
    Bridge br-int
        fail_mode: secure
        Port "qvo4c7b59c1-a0"
            tag: 1
            Interface "qvo4c7b59c1-a0"
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port "qvoa24552b3-f6"
            tag: 1
            Interface "qvoa24552b3-f6"
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    ovs_version: "2.3.1"


********************************************************************************
Procedure to enable nested virtualization (on Intel-based machines) [ 1 ]
********************************************************************************

1. List modules and ensure KVM Kernel modules are enabled on L0:

    $ lsmod | grep -i kvm
    kvm_intel             133627  0
    kvm                   435079  1 kvm_intel


2. Show information for `kvm_intel` module:

    $ modinfo kvm_intel | grep -i nested
    parm:           nested:boolkvm                   435079  1 kvm_intel


3. Ensure nested virt is persistent across reboots by adding it as a
   config directive:

    $ cat /etc/modprobe.d/dist.conf
    options kvm-intel nested=y


4. Reboot the host.


5. Check if the Nested KVM Kernel module option is enabled:

    $ cat /sys/module/kvm_intel/parameters/nested
    Y


6. Before you boot your L1 guest (i.e. the guest hypervisor that runs
   the nested guest), expose virtualization extensions to it. The
   following exposes all the CPU features of host to your guest
   unconditionally:

[root@fedora21wks01 ~]#  cat /sys/module/kvm_intel/parameters/nested
Y
[root@fedora21wks01 ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     Centos71VM01                   shut off
 -     Centos71VM02                   shut off

[root@fedora21wks01 ~]#  virt-xml Centos71VM01 --edit  --cpu host-passthrough,clearxml=yes
Domain 'Centos71VM01' defined successfully.

[root@fedora21wks01 ~]#  virt-xml Centos71VM02 --edit  --cpu host-passthrough,clearxml=yes
Domain 'Centos71VM02' defined successfully.

**************
Start VMs
**************

 Ensure KVM extensions are enabled in L1 guest by running the below
   command:

$ file /dev/kvm      
    /dev/kvm: character special

**********************************************************
On VM running Compute update /etc/nova/nova.conf
**********************************************************
[libvirt]
# virt_type=qemu
 virt_type=kvm

# systemctl restart openstack-nova-compute



  


Friday, May 01, 2015

Set up Nova-Docker Driver on OpenStack RDO Kilo on CentOS 7.1

Posting bellow is targeting testing official version of Nova-Doker Driver for Openstack Kilo with development version RDO Kilo.  RDO Kilo installed via `packstack --allinone` on virtual CentOS 7.1
machine running at  Fedora 21 KVM Hypervisor. The only one package python-pip was rebuilt via Fedora Rawhide Repos and re installed on CentOS 7.1
to satisfy requirements for  successful build of Nova-Docker driver. Native  version of docker-io is 1.5 and supports  driver build as is.
Regarding details of pulling in docker images and uploading to glance, please,
view http://lxer.com/module/newswire/view/213505/index.html

*******************************************************
RDO Kilo Setup  ( packstack --allinone )
*******************************************************
# yum -y update
# reboot
# yum install -y https://rdoproject.org/repos/rdo-release.rpm
# yum install epel-release -y
# yum install openstack-packstack -y
# packstack --allinone
********************************************
Up on completion
*********************************************
[root@ip-192-169-142-57 ~(keystone_admin)]# openstack-status
== Nova services ==
openstack-nova-api:                     active
openstack-nova-cert:                    active
openstack-nova-compute:                 active
openstack-nova-network:                 inactive  (disabled on boot)
openstack-nova-scheduler:               active
openstack-nova-conductor:               active
== Glance services ==
openstack-glance-api:                   active
openstack-glance-registry:              active
== Keystone service ==
openstack-keystone:                     inactive  (disabled on boot)
== Horizon service ==
openstack-dashboard:                    active
== neutron services ==
neutron-server:                         active
neutron-dhcp-agent:                     active
neutron-l3-agent:                       active
neutron-metadata-agent:                 active
neutron-openvswitch-agent:              active
== Swift services ==
openstack-swift-proxy:                  active
openstack-swift-account:                active
openstack-swift-container:              active
openstack-swift-object:                 active
== Cinder services ==
openstack-cinder-api:                   active
openstack-cinder-scheduler:             active
openstack-cinder-volume:                active
openstack-cinder-backup:                active
== Ceilometer services ==
openstack-ceilometer-api:               active
openstack-ceilometer-central:           active
openstack-ceilometer-compute:           active
openstack-ceilometer-collector:         active
openstack-ceilometer-alarm-notifier:    active
openstack-ceilometer-alarm-evaluator:   active
openstack-ceilometer-notification:      active
== Support services ==
mysqld:                                 inactive  (disabled on boot)
libvirtd:                               active
openvswitch:                       active
dbus:                                   active
target:                                 active
rabbitmq-server:                  active
memcached:                        active
== Keystone users ==
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.
  'python-keystoneclient.', DeprecationWarning)
+----------------------------------+------------+---------+----------------------+
|                id                |    name    | enabled |        email         |
+----------------------------------+------------+---------+----------------------+
| 15fd020320e04795899e90ef05e0c517 |   admin    |   True  |    root@localhost    |
| 01bbee860d1948b4a5c2f31fd2814a65 | ceilometer |   True  | ceilometer@localhost |
| bd515474f34a41f0b54f5e08cf376e02 |   cinder   |   True  |   cinder@localhost   |
| 218f38165c0942c29ba906e2f2f614d5 |    demo    |   True  |                      |
| 74ac2e5e8e684eb19859a771878cae33 |   glance   |   True  |   glance@localhost   |
| c069118301e044529a7a0ccb329ce030 |  neutron   |   True  |  neutron@localhost   |
| d1da487693b847ba9b8177c41624106e |    nova    |   True  |    nova@localhost    |
| 35f8b107c96542eba4d0d630dc3cffc3 |   swift    |   True  |   swift@localhost    |
+----------------------------------+------------+---------+----------------------+
== Glance images ==
+--------------------------------------+---------------------------------+-------------+------------------+------------+--------+
| ID                                   | Name                            | Disk Format | Container Format | Size       | Status |
+--------------------------------------+---------------------------------+-------------+------------------+------------+--------+
| d19e4f3e-6c1c-4cfe-9c6c-8aab08eb31a3 | cirros                          | qcow2       | bare             | 13200896   | active |
| 853a2839-1d5e-4a54-9668-5a338d089ff7 | derby/docker-glassfish41:latest | raw         | docker           | 1104924160 | active |
| e9cfbc8e-153a-497c-a6bc-4868a6675b21 | rastasheep/ubuntu-sshd:14.04    | raw         | docker           | 264313856  | active |

+--------------------------------------+---------------------------------+-------------+------------------+------------+--------+
== Nova managed services ==
+----+------------------+---------------------------------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host                                  | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+---------------------------------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-consoleauth | ip-192-169-142-57.ip.secureserver.net | internal | enabled | up    | 2015-05-01T13:09:30.000000 | -               |
| 2  | nova-scheduler   | ip-192-169-142-57.ip.secureserver.net | internal | enabled | up    | 2015-05-01T13:09:30.000000 | -               |
| 3  | nova-conductor   | ip-192-169-142-57.ip.secureserver.net | internal | enabled | up    | 2015-05-01T13:09:31.000000 | -               |
| 4  | nova-compute     | ip-192-169-142-57.ip.secureserver.net | nova     | enabled | up    | 2015-05-01T13:09:24.000000 | -               |
| 5  | nova-cert        | ip-192-169-142-57.ip.secureserver.net | internal | enabled | up    | 2015-05-01T13:09:32.000000 | -               |
+----+------------------+---------------------------------------+----------+---------+-------+----------------------------+-----------------+
== Nova networks ==
+--------------------------------------+----------+------+
| ID                                   | Label    | Cidr |
+--------------------------------------+----------+------+
| 0228a0c8-0bcc-4a0f-8837-9454c696c337 | public   | -    |
| 8322038b-00a3-443c-8580-0f1d305891c4 | demo_net | -    |
+--------------------------------------+----------+------+
== Nova instance flavors ==
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name      | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1  | m1.tiny   | 512       | 1    | 0         |      | 1     | 1.0         | True      |
| 2  | m1.small  | 2048      | 20   | 0         |      | 1     | 1.0         | True      |
| 3  | m1.medium | 4096      | 40   | 0         |      | 2     | 1.0         | True      |
| 4  | m1.large  | 8192      | 80   | 0         |      | 4     | 1.0         | True      |
| 5  | m1.xlarge | 16384     | 160  | 0         |      | 8     | 1.0         | True      |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
== Nova instances ==
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+

At this point we start tuning versions of CentOS 7.1 packages required for
successful build of Kilo Nova-Docker Driver

***************************************************************************
Download from Net  python-pip-6.0.8-1.fc23.src.rpm install and build
on CentOS 7.1
***************************************************************************
$ rpm -iv python-pip-6.0.8-1.fc23.src.rpm
$ cd
$ cd rpmbuild/SPEC
$ rpmbuild -bb ./python-pip.spec
$ cd ../RPMS/noarch
$ sudo yum install python-pip-6.0.8-1.el7.centos.noarch.rpm

*********************************************************************************
Make sure python-pip && python-pbr are installed on system with required versions for driver build
*********************************************************************************
$ rpm -qa | grep python-pbr
    python-pbr-0.10.8-1.el7.noarch
$ rpm -qa | grep python-pip
    python-pip-6.0.8-1.el7.centos.noarch

**********************************************
Install Nova-Docker driver
********************************************** 
# yum install docker-io -y
#
git clone http://github.com/stackforge/nova-docker.git

# cd nova-docker
# git checkout -b kilo origin/stable/kilo
# git branch -v -a
* kilo                           d556444 Do not enable swift/ceilometer/sahara
  master                         d556444 Do not enable swift/ceilometer/sahara
  remotes/origin/HEAD            -> origin/master
  remotes/origin/master          d556444 Do not enable swift/ceilometer/sahara
  remotes/origin/stable/icehouse 9045ca4 Fix lockpath for tests
  remotes/origin/stable/juno     b724e65 Fix tests on stable/juno
  remotes/origin/stable/kilo     d556444 Do not enable swift/ceilometer/sahara
 

# python setup.py install
# systemctl start docker
# systemctl enable docker
# chmod 666  /var/run/docker.sock
# mkdir /etc/nova/rootwrap.d


******************************
Update nova.conf
******************************
vi /etc/nova/nova.conf
set "compute_driver = novadocker.virt.docker.DockerDriver"

************************************************
Next, create the docker.filters file:
************************************************
$ vi /etc/nova/rootwrap.d/docker.filters

Insert Lines

# nova-rootwrap command filters for setting up network in the docker driver
# This file should be owned by (and only-writeable by) the root user
[Filters]
# nova/virt/docker/driver.py: 'ln', '-sf', '/var/run/netns/.*'
ln: CommandFilter, /bin/ln, root

*****************************************
Add line /etc/glance/glance-api.conf
*****************************************
container_formats=ami,ari,aki,bare,ovf,ova,docker
:wq

************************
Restart Services
************************
# systemctl restart openstack-nova-compute
# systemctl status openstack-nova-compute
# systemctl restart openstack-glance-api

*************************************************************
To get access to nova-docker set SELINUX to permissive
*************************************************************

# . keystonerc_demo 

# neutron security-group-rule-create --protocol icmp \
  --direction ingress --remote-ip-prefix 0.0.0.0/0 default

#  neutron security-group-rule-create --protocol tcp \
  --port-range-min 22 --port-range-max 22 \
  --direction ingress --remote-ip-prefix 0.0.0.0/0 default

# neutron security-group-rule-create --protocol tcp \
  --port-range-min 80 --port-range-max 80 \
  --direction ingress --remote-ip-prefix 0.0.0.0/0 default

****************************************
Uploading docker image to glance
****************************************
# . keystonerc_admin
#  docker pull rastasheep/ubuntu-sshd:14.04
#  docker save rastasheep/ubuntu-sshd:14.04 | glance image-create --is-public=True   --container-format=docker --disk-format=raw --name rastasheep/ubuntu-sshd:14.04

*************************************
Querying compute-nodes tables 
*************************************

     and proceed with uploading docker images and launching containers

  
  
 
   Upload docker image (pulled in) to glance as admin :-
 
 
  Launching NovaDocker container via uploaded wordpress image :-