CentOS 7/RHEL 7/Fedora 20 Support



  • Hey guys I am making this thread to help each other get Fog 1.2.0+ eventually supported/running on these systems. Please list any code changes or general commands you used here to make Fog work on your system, or any problems you are currently having regarding these distros.

    The Fog installer for these distros should work as of 1.2.0, disregarding the excess systemd Notes about Forwarding.
    These distros also use firewalld instead of iptables, to disable the firewalls in these distros run systemctl stop firewalld.service && systemctl disable firewalld.service



  • That did work!! Hallelujah! Thanks vinyard and Tom!! I ran the following commands and now its uploading that first image:

    systemctl status nfs-server
    systemctl enable nfs-server
    systemctl start nfs-server

    Thanks guys, success at last!



  • Is the nfs-server running? What is the output of the following?

    [CODE]systemctl status nfs-server[/CODE]

    If it is not running, run the following:
    [CODE]systemctl enable nfs-server
    systemctl start nfs-server[/CODE]

    You should test this with iptables and selinux disabled first to make sure everything works as expected.


  • Senior Developer

    First make sure nfs is actually running with [code]service rpcbind restart; service nfs restart[/code]

    If iptables is blocking the ports nfs uses you may have to figure out which are in use and unblock them from iptables.



  • Thanks for checking in, Tom and ch3i.

    I am using iptables and selinux because we must with our environment.

    FOG Version: 1.2.0
    OS version CentOS 7

    There are no log messages in the apache error log around the time I try to upload the images from the client machine. I am going through the wiki now but I think it’s an issue with FOG trying to mount /images and /images/dev. I’m new to FOG so please be gentle. Oh, here are the perms/ownership on /images and /images/dev:

    stat /images
    File: ‘/images’
    Size: 4096 Blocks: 8 IO Block: 4096 directory
    Device: 810h/2064d Inode: 2 Links: 5
    Access: (0777/drwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
    Context: system_u:object_r:file_t:s0
    Access: 2015-01-12 10:52:57.842902392 -0700
    Modify: 2015-01-12 10:52:57.840902284 -0700
    Change: 2015-01-12 10:52:57.840902284 -0700
    Birth: -

    stat /images/dev

    File: ‘/images/dev’
    Size: 4096 Blocks: 8 IO Block: 4096 directory
    Device: 810h/2064d Inode: 10076161 Links: 2
    Access: (0777/drwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
    Context: unconfined_u:object_r:file_t:s0
    Access: 2015-01-12 10:46:08.048070848 -0700
    Modify: 2015-01-08 16:24:44.142052439 -0700
    Change: 2015-01-08 16:24:44.143052472 -0700

    I did have to run #restorecon -Rv /tftpboot to get a Fog menu. Before that, it was permission denied due to the attribute settings on tftpboot. Now the process halts as described in the previous post.


  • Senior Developer

    Also, have you ensured firewall and selinux are disabled?


  • Moderator

    [quote=“sarge_212, post: 40653, member: 28103”]On this subject, I’ve successfully installed FOG on a vm(CentOS 7) and have had some trouble throughout. I used MariaDB for the database and was able to get a registration menu. However, when I go to upload my first image, I get this error:

    *Mounting File System…mount: mounting <ip address>/images/dev on /images failed: Operation not supported
    Done
    *Preparing to send image file to server.
    *Checking mounted File System…
    #############################################

    an error has been detected!

    ############################################

    Fatal Error: Failed to mount NFS volume

    I do have .mntcheck files in each the /images and /images/dev dirs and am trying to use the FOG server as the storage server as well. Any ideas on what to check? I’ve googled and gone through forums but any direction will help greatly![/quote]

    Hi,

    Did you check the right of each folder ?

    Regards,
    Ch3i.



  • On this subject, I’ve successfully installed FOG on a vm(CentOS 7) and have had some trouble throughout. I used MariaDB for the database and was able to get a registration menu. However, when I go to upload my first image, I get this error:

    *Mounting File System…mount: mounting <ip address>/images/dev on /images failed: Operation not supported
    Done
    *Preparing to send image file to server.
    *Checking mounted File System…
    #############################################

    an error has been detected!

    ############################################

    Fatal Error: Failed to mount NFS volume

    I do have .mntcheck files in each the /images and /images/dev dirs and am trying to use the FOG server as the storage server as well. Any ideas on what to check? I’ve googled and gone through forums but any direction will help greatly!


  • Senior Developer

    Hey all,

    Just wanted to let you know I’ve “baked” some of the found items in here into the installer and system. FOGCore will check ip’s from ifconfig, if nothing is found will attempt with ip addr. The installer should take into account the systemd inclusion on CentOS/Redhat 7 now as well.


  • Developer

    Good work guys. Here is the info you posted. I just rehashed it into the wiki.
    [url]http://fogproject.org/wiki/index.php/Installation_on_CentOS_7#Multi-Cast_Issues[/url]



  • [quote=“vinyard, post: 39767, member: 27465”]To get multicast working on CentOS7 you’ll need to modify the following line in function getIPAddress in /var/www/html/fog/lib/fog/FOGCore.class.php

    from:
    [CODE]exec("/sbin/ifconfig | grep ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’| cut -d’:’ -f 2 | cut -d’ ’ -f1", $arR, $retVal);[/CODE]

    to:
    [CODE]exec("/sbin/ip addr | grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}’ | cut -d/ -f1", $arR, $retVal);[/CODE]

    […][/quote]

    Thanks a lot vinyard, it works smoothly now ;)



  • To get multicast working on CentOS7 you’ll need to modify the following line in function getIPAddress in /var/www/html/fog/lib/fog/FOGCore.class.php

    from:
    [CODE]exec("/sbin/ifconfig | grep ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}’| cut -d’:’ -f 2 | cut -d’ ’ -f1", $arR, $retVal);[/CODE]

    to:
    [CODE]exec("/sbin/ip addr | grep -o ‘[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/[0-9]{1,2}’ | cut -d/ -f1", $arR, $retVal);[/CODE]

    If you have multiple interfaces with IP addresses you might need to use the following in the first portion of that line

    [CODE]/sbin/ip addr list eth0[/CODE]

    Replace eth0 with the interface you use for fog.

    I haven’t tested this with Ubuntu but if the system has iproute2 package installed it should work.



  • Any update with CentOS 7 and Multicast issue? I managed to have a functional fog server (as far as tested) except Multicasting (“StorageNode Not found on this system”).



  • So I no longer think Multicast not working on CentOS 7 is related to a database issue. Tested by importing a functional Centos 6.5 Fog 1.2 database to the CentOS 7 install of fog and updating the users privileges. Anybody got any ideas?



  • Here are the lines neccesarry to make NFS work in the install script. Could use the same selector template for rhel 7 versions as the code above in NFS, but it might be better to generalize something.
    [CODE] systemctl restart nfs-server.service >/dev/null 2>&1;
    systemctl restart rpcbind >/dev/null 2>&1;
    systemctl enable rpcbind >/dev/null 2>&1;
    systemctl enable nfs-server.service 2>&1;[/CODE]



  • Here’s the code to fix the installer for MySQL in all redhat based distros. I tested it on my own system and it should work.
    Still stuck on getting multicast working.
    [CODE]ConfigureMySql()
    {
    echo -n " * Setting up and starting MySQL…";
    RHVER=rpm -qa|grep release|xargs rpm -q --queryformat '%{VERSION}'|cut -c -1;
    if [ “$RHVER” == “7” ];
    then
    systemctl enable mariadb.service >/dev/null 2>&1;
    systemctl restart mariadb.service >/dev/null 2>&1;
    else
    chkconfig mysqld on;
    service mysqld restart >/dev/null 2>&1;
    service mysqld status >/dev/null 2>&1;
    fi
    if [ “$?” != “0” ];
    then
    echo “Failed!”;
    exit 1;
    else
    echo “OK”;
    fi
    }[/CODE]



  • This post is deleted!


  • I keep getting this on /opt/fog/log/multicast.log

    StorageNode Not found on this system.
    StorageNode Not found on this system.
    StorageNode Not found on this system.
    StorageNode Not found on this system.
    StorageNode Not found on this system.
    StorageNode Not found on this system.

    No multicast for me…

    I followed the Troubleshooting steps for Multicast and booted clients on debug mode and that all works great…

    I already checked permissions on /images to be 777
    fog is the owner of images chown -R /images
    .mntcheck files exist in /images and in /images/dev
    NIC is set to ens32 instead of eth0
    /etc/exports are correct
    firewall disabled by systemctl disable firewalld
    selinux disabled:
    [INDENT=1][FONT=monospace][COLOR=#000000]sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/sysconfig/selinux[/COLOR][/FONT]
    [FONT=monospace][COLOR=#000000]sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config[/COLOR][/FONT][/INDENT]
    already restarted the nfs-server and all fog services FOGMulticastManager, FOGImageReplicator, FOGScheduler…
    I can upload images
    I can unicast to clients
    re-ran the install script
    still:

    StorageNode Not found on this system.

    I did notice that the time on the multicast.log does not match the time on the system… would that affect anything???

    running the “date” command returns the correct time, but multicast.log has time offset of

    Right now its 11:38AM, but the log indicates:

    [08-21-14 6:38:24pm] | StorageNode Not found on this system.

    Any ideas???



  • Hi Tom, thank you for the response. The issue I have is that while my site has many FOG servers, they are now all independent and on separate subnets protected by firewalls. All of my CentOS 7 nodes I am testing are the ONLY fog servers on those subnets. They all are completely independent of one another, each one being responsible for PXE, httpd, imaging, and WOL etc. They are all master/enabled, and unicast works just fine from those servers. Also, doing manual multicast by manually sending the udp-cast command and a client debug task, I am able to multicast just fine.

    I just took down the CentOS 7 server on one of the lab vlans, replaced it with a CentOS 6 FOG server, and now multicast works. The multicast log reports “*No Tasks found” by default. I seriously doubt any parts of the configuration in FOG have changed besides the OS’s in this new setup. I believe that $StorageNode should be returning the info of the current machine, and on CentOS 7 it is not, even though that server is master, enabled, and stores images.

    I now believe this is a database issue, as on CentOS 7, the database/schema updater is never promted for on the web interface during the install process, because the installer script doesn’t properly handle systemd init scripts for mySQL. I will work on fixing and testing that part this afternoon, and see if that helps things.


  • Senior Developer

    It attempts to find the storage node that is enabled, is the master, and is set to the localized FOG system. This is especially true for multi-node sites where the “main” fog server is not the one containing all of the images. That master/enabled system would be what’s handing out the Multicast, Image replication, and Scheduled task service information. In the case of nodes, there’s currently no way for us to get the logs off of those off scope nodes as it’s looking for the /opt/fog/log/{multicast.log,fogscheduler.log,fogreplicator.log} files off of the system you’re looking at the logs from. This is most likely why you’re seeing the “StorageNode not found on this system” message as the StorageNode is not being found for that system. Hopefully that helps clarify it?


Log in to reply
 

349
Online

39.3k
Users

11.0k
Topics

104.4k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.