Creating a router on a CentOS 6 server

Assuming you want to NAT the network on eth1 and route the traffic to eth0 this is the spell:

Create the forwarding rule:

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

and then enable IP forwarding

 echo “1” > /proc/sys/net/ipv4/ip_forward

OR

sysctl -w net.ipv4.ip_forward=1

 

Permanent setting using /etc/sysctl.conf

If we want to make this configuration permanent the best way to do it is using the file/etc/sysctl.conf where we can add a line containing net.ipv4.ip_forward = 1

/etc/sysctl.conf: net.ipv4.ip_forward = 1

if you already have an entry net.ipv4.ip_forward with the value 0 you can change that 1.

To enable the changes made in sysctl.conf you will need to run the command:

sysctl -p /etc/sysctl.conf

On RedHat based systems this is also enabled when restarting the network service:

service network restart

 

Windows time stamping in batch files

Creating a time-stamp  in windows can be usful for the automated backups we all SHOULD be doing 🙂

 

pkzip c:\<source>\*.* c:\<target>\TempZip.zip
ren C:\<target>\TempZip.Zip c:\<target>\TempZip_%date:~-4,4%%date:~-7,2%%date:~-10,2%.zip

 

Or simply to create a directory for copying open files (Lawrence 🙂 )

set backdir=%date:~-4,4%%date:~-7,2%%date:~-10,2%

mkdir %backdir%

cd %backdir%

etc..

 

 

Allow remote SQL connection to Mysql from any host

Allowing the login of a user from any host in Mysql is simple:

mysql> select host, user from mysql.user;

+—————+——+
| host | user |
+—————+——+
| 127.0.0.1 | root |
| localhost | root |
| minimal01.lan | root |
+—————+——+
3 rows in set (0.00 sec)

mysql> update mysql.user set host=’%’ where host=’127.0.0.1′;

mysql> select host, user from mysql.user;

+—————+——+

| host | user |
+—————+——+
| % | root |
| localhost | root |
| minimal01.lan | root |
+—————+——+
3 rows in set (0.00 sec)

 

Voila`

 

CENTOS 6 Minimal does not have the Network interfaces up by default

So test drove CentOS  6 Minimum install ..

Only real hiccup till now is :

TUV ( the upstream vendor) aka RHEL decided to disable the network interfaces by default. WTF to that.

A glance at the FAQ  will show the solution :

Here’s my version for multiple interfaces.

 

# cd /etc/sysconfig/network-scripts/  

# sed -i -e ‘s@^ONBOOT=”no@ONBOOT=”yes@’ ifcfg-eth*

Enable grub menu UBUNTU

Enable grub menu:

edit the /etc/default/grub  file and change the

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

to

GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false

Save and call:

sudo update-grub

from a terminal, and reboot.

Manually reset the state of an instance

If an instance gets stuck in an intermediate state (e.g., “deleting”), you can manually reset the state of an instance using the nova reset-state command. This will reset it to an error state, which you can then delete. For example:

$ nova reset-state c6bbbf26-b40a-47e7-8d5c-eb17bf65c485

$ nova delete c6bbbf26-b40a-47e7-8d5c-eb17bf65c485

You can also use the --active to force the instance back into an active state instead of an error state, for example:

$ nova reset-state –active c6bbbf26-b40a-47e7-8d5c-eb17bf65c485

 

[Note] Note
The version of the nova client that ships with Essex on most distributions does not support the reset-statecommand. You can download a more recent version of the nova client from PyPI. The package name ispython-novaclient, which can be installed using a Python package tool such as pip.
Reference: Openstack Docs

Common Errors and Fixes for OpenStack Compute

The Launchpad Answers site offers a place to ask and answer questions, and you can also mark questions as frequently asked questions.

Credential errors, 401, 403 forbidden errors

A 403 forbidden error is caused by missing credentials. Through current installation methods, there are basically two ways to get the novarc file. The manual method requires getting it from within a project zipfile, and the scripted method just generates novarc out of the project zip file and sources it for you. If you do the manual method through a zip file, then the following novarc alone, you end up losing the creds that are tied to the user you created with nova-manage in the steps before.

When you run nova-api the first time, it generates the certificate authority information, including openssl.cnf. If it gets started out of order, you may not be able to create your zip file. Once your CA information is available, you should be able to go back to nova-manage to create your zipfile.

You may also need to check your proxy settings to see if they are causing problems with the novarc creation.

Instance errors

Sometimes a particular instance shows “pending” or you cannot SSH to it. Sometimes the image itself is the problem. For example, when using flat manager networking, you do not have a dhcp server, and an ami-tiny image doesn’t support interface injection so you cannot connect to it. The fix for this type of problem is to use an Ubuntu image, which should obtain an IP address correctly with FlatManager network settings. To troubleshoot other possible problems with an instance, such as one that stays in a spawning state, first check your instances directory for i-ze0bnh1q dir to make sure it has the following files:

  • libvirt.xml
  • disk
  • disk-raw
  • kernel
  • ramdisk
  • console.log (Once the instance actually starts you should see a console.log.)

Check the file sizes to see if they are reasonable. If any are missing/zero/very small then nova-compute has somehow not completed download of the images from objectstore.

Also check nova-compute.log for exceptions. Sometimes they don’t show up in the console output.

Next, check the /var/log/libvirt/qemu/i-ze0bnh1q.log file to see if it exists and has any useful error messages in it.

Finally, from the instances/i-ze0bnh1q directory, try virsh create libvirt.xml and see if you get an error there.