GithubHelp home page GithubHelp logo

gluster / cockpit-gluster Goto Github PK

View Code? Open in Web Editor NEW
32.0 7.0 8.0 1009 KB

Easy to use management console for Gluster Storage with glusterd2 support.

License: Apache License 2.0

Makefile 1.17% Python 2.84% Shell 0.91% CSS 3.09% JavaScript 91.18% HTML 0.81%
glusterfs gluster storage cockpit cockpit-plugin glusterd2 glusterd

cockpit-gluster's Introduction

Note: This project is not currently being maintained.

cockpit-gluster

A cockpit plugin that provides a status view and volume actions for a gluster cluster with glusterd2(GD2) based bricks.

It runs on any of the brick nodes (where glusterd2 is running).

Contents:

Features:

  • Status panel for monitoring peers, volumes and bricks
  • A Wizard for brick setup and volume deployment.

Pending Features

  • GD2 rest auth support.
  • Supporting all volume types.

Building from source

Install Build Dependencies

sudo yum install -y npm
npm install

Build the project

./node_modules/.bin/webpack

Developing with vagrant:

After building run these commands in the repo folder:

#install vagrant
sudo yum install vagrant -y
sudo vagrant up

and browse to localhost:9091. Congratulations, you're up!

After making any changes to the code you can run npx webpack && sudo vagrant rsync to build and copy the plugin to the VMs. Refresh the browser to see your changes.

Make an rpm

make rpm

Setup your brick servers with GD2

As GD2 is in development, it is recommended to build it from the master branch and deploy it with an external etcd. See GD2 Resources for more information, and automated setup.

Installing (on one of the GD2 nodes)

Install gluster-ansible and its dependencies:

gluster-ansible is hosted in a copr repo

Install the repo:

Operating System Install Command
Centos 7 sudo curl -o /etc/yum.repos.d/gluster-ansible.repo https://copr.fedorainfracloud.org/coprs/sac/gluster-ansible/repo/epel-7/sac-gluster-ansible-epel-7.repo
Fedora 27+ sudo dnf copr enable sac/gluster-ansible

Install the packages from the repo:

sudo yum install gluster-ansible python-gluster-mgmt-client

Install cockpit-gluster

yum install -y cockpit-gluster-x.x.x-x.noarch.rpm

Browse to the cockpit port:

http://your-cockpithost.domain:9090

Creating volumes

Setup passwordless ssh from the managing host (where cockpit-gluster is installed) to all the other nodes:

Run these commands on the managing host:

ssh-keygen

ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]

Click on:

  • Create Volume (if creating on the existing cluster)
  • Expand Cluster (if creating on new nodes)

Screenshots

Dashboard

Dashboard Image

Volume Creation Wizard

Wizard Hosts Image Wizard Volumes Image Wizard Bricks Image Wizard Review Image

GD2 Resources

GD2 developement guide: https://github.com/gluster/glusterd2/blob/master/doc/development-guide.md

GD2 quickstart guide: https://github.com/gluster/glusterd2/blob/master/doc/quick-start-user-guide.md

A two command cluster setup with ansible and bash (for CentOS machines): https://github.com/rohantmp/gd2-testing

cockpit-gluster's People

Contributors

parthdhanjal avatar rohantmp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

cockpit-gluster's Issues

Set up end to end testing of the plugin.

We're currently exploring the Cockpit Project's own test infrastructure:

https://piware.de/post/2017-12-21-phantomjs-to-chromium/
https://cockpit-project.org/blog/cockpit-starter-kit.html
https://cockpit-project.org/blog/cockpit-custom-test-framework.html

The front end stuff is supported by cockpit's testlib.py api which provisions virtual machines using their testvm.py api.

We need to see if a solution exists to provision VMs that:

  • have glusterd2 setup and other dependencies setup.
  • have extra disks attached.

Logical Volume's not cleaned up

It seems that hc_wizard_cleanup.yml is not used when you remove a Gluster volume and the LVM LV's still exist.

Can this be updated ?

install_constants.js missing ?

I have been able to build and RPM, version: cockpit-gluster-0.0.1-1.noarch.rpm

On loading the page in cockpit it seems that install_constants.js is missing, what could be wrong ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.