Skip to content
Snippets Groups Projects
Bo-Chun Louis Chen(VM)'s avatar
Bo-Chun Chen authored
font path in css is relative to css file itself,
since we put them in the same folder, should be able to use just filename
8e72cb4e

Project Setup

To clone this repo use the command:

$ git clone https://gitlab.rc.uab.edu/mmoo97/flask_user_reg.git

Prerequisites

Clone Repository

  • Ensure pip is installed (see: https://packaging.python.org/guides/installing-using-pip-and-virtualenv/ ).
    • Check if installed by typing $ pip for Mac/Linux or $ py for Windows.
    • Mac/Linux: Install pip using $ python -m pip install --user --upgrade pip.
    • Windows: Install pip using $ py -m pip install --upgrade pip
  • Ensure you have created a virtual environment called venv setup within the cloned project.
    • Note, this project requires a virtual environment running python2 (2.7.x)
  • Ensure Flask and other dependencies are installed using the following commands:
$ cd ~/your/repo/path/flask_user_reg
$ git checkout version-1b-openstack-rabbitmq
$ source venv/bin/activate
$ pip install -r requirements.txt
  • Note, to install flask in your own $HOME use pip install --user Flask.

Install RabbitMQ

(Reference: here)

  • Install RabbitMQ server on the host machine. (Installation Guide)
    • Mac/Linux

      • $ brew update
      • $ brew install rabbitmq
      • it is recommended that you add the following line to your .bash_profile:
        export PATH=$PATH:/usr/local/opt/rabbitmq/sbin.
      • Start server using the command $ rabbitmq-server. (Note, this implementation assumes RabbitMQ is running on localhost on standard port 5672)
    • Windows

      • Download the installer from here and run.
      • Post install, the server should be running. To check, run $ rabbitmqctl.bat status.
    • CentOS 7

      • First, import signing key using $ rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
      • Next, install Erlang using $ yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      • Finally, install RabbitMq using $ yum install rabbitmq-server-3.8.2-1.el8.noarch.rpm
      • The server is not started as a daemon by default when the RabbitMQ server package is installed. To start the daemon by default when the system boots, as an administrator run: $ chkconfig rabbitmq-server on.
      • As an administrator, start and stop the server as usual:
        /sbin/service rabbitmq-server start
        /sbin/service rabbitmq-server stop
  • Add the user "reggie" using the command $ rabbitmqctl add_user reggie reggie.
    • The current configuration assumes the following username password combination. To change the password, type $ rabbitmqctl change_password reggie <new_password>.
    • Note that rabbitmqctl may require sudo permissions and that changing the password will require a password change in the credentials within test_producer.py and base_consumer.py as well.

Test RabbitMQ

For a simple example on the functionality of RabbitMQ, do the following:

  • Open up a new ssh terminal and ssh into your ohpc node and, in a separate window, ssh into your ood node.
  • Once in, ensure your rabbitmq server is running using the command
  • Additionally, ensure you have a rabbitmq user configured with the username and password as reggie.
# Run consumer on ohpc node
$ python base_consumer.py ohpc

You will notice that the script is awaiting a message to display. To produce a message, run the following on the ood node terminal session:

$ python test_producer.py ohpc 

You should now see that the message has been sent and displayed on the ohpc node.

  • Note, that the test_producer.py script is identical to the code within the ingest_data() function in run.py.