Interview with Gabriel Hurley, OpenStack Horizon Project

Original author: Nick Chase
  • Transfer
We present the seventh of a series of interviews with technical managers of the OpenStack project on the Mirantis blog. Our goal is to educate the wider community of technical experts and help people understand how they can contribute to and benefit from the OpenStack project. Naturally, the viewpoint of the interviewee, and not Mirantis, is set out below.

Below is an interview with Gabriel Hurley, technical director of the OpenStack Horizon project .

Mirantis: Tell us about yourself.

Gabrielle Hurley: I am a senior developer at Nebula Inc. I am in the free sense of the word "front-end"; I mainly work in Python and JavaScript, encompassing interactions on both the client and server side. I have experience in developing for the web, and my main area of ​​interest is user interaction with the system.

Question: How did you get started with the OpenStack project? Why are you taking part in it?

Answer: I first learned about the OpenStack project while working at NASA, and my knowledge instantly came in handy in the then emerging dashboard project (which later became known as Horizon). Personally, I am a big supporter of open source development, so I organically joined the project. For six months, I changed my focus and worked full time on OpenStack, helping build the future of an incredibly important venture.
Now, almost two years later, I commit code on almost every project and I am a key developer on Horizon and Keystone projects.

Question: What are your areas of responsibility as the Horizon technical project manager?

Answer: This work has three sides: the technical project manager sets the direction and high-level vision of the project, the technical project manager manages the community, both internal and external, and interacts with it. The technical project manager acts as a project manager, setting priorities and work schedules, as well as ensuring that everyone’s work is in line. Ideally, the technical project manager also writes and checks the code most actively, but at least he should have a good idea of ​​the code base of his project. In the case of the Horizon technical project manager, the main burden is to work with several projects to make sure that not only the set of features of each project is well presented in the control panel, but also that the work, that the Horizon project team runs is not broken by incompatible or incomplete APIs. There is a lot of work to be done so that the OpenStack project is connected and distinct, and I am moving towards this goal.

Question: Can you explain the role of Horizon in the OpenStack platform? Why is Horizon so important?

Answer: I start each Horizon presentation with an answer to this question, and there are key elements of the answer:
1. Horizon is necessary for the growth and success of the community. The acceptance and understanding of individual services is greatly enhanced by presenting them in the control panel.
2. Horizon is the fastest way for a newcomer to OpenStack to understand the platform. It is intuitive, and people easily understand it.
3. Horizon is a key adoption driving tool. In order for the OpenStack platform to be successful in the enterprise market, it must be simple for end users, admins, and executives. And the way to this is the feature-rich control panel.
4. Horizon acts as the "face of OpenStack." Try recording a video demo of the command line interface and see how much it captivates people.
Horizon is a common denominator that allows everyone to participate. Anyone can start using Horizon. If a company is building a business on the basis of OpenStack, we offer to customize the interface according to customer requests, but the community generally needs Horizon.

Question: What is unique and what is destructive in Horizon?

Answer: Our goal in the Horizon project is less disconnection, more amplification. We take a democratic approach to OpenStack cloud services, which allows all components to exist on an equal footing and maintain maximum interaction. We want to build a user experience that is both functional and attractive, but there is no end to this work. And we have planned something interesting for the release of Havana.

Question: What has the Horizon community accomplished so far?

Answer: I think the control panel speaks for itself. We carry out a mission of supporting all major OpenStack projects. We worked without rest to ensure seamless integration of services that are not always compatible. We are participating in the wider OpenStack community to improve all projects and each API. We were the first to introduce translation into several languages ​​in OpenStack and we continue efforts in this direction.
We are the only project that boasts full version compatibility for three consecutive releases. With each cycle, we have developed our community. I think we work quite well.

Q: What features will Horizon provide in the release of OpenStack Havana?

Answer: One of the significant advancements will be integration with the two latest OpenStack projects: Heat and Ceilometer. In addition, we have full support for the Keystone v3 API, some interesting new data visualization capabilities, dynamic integration with other projects in real time, as well as a whole range of features provided by new add-ons for Nova, Cinder, etc. There are also many things that I will not list here. We are also working on fixing almost 200 errors at the end of the cycle.

Question: What do you want people to know about the project?

Answer: The main thing is both an advantage and a source of regular confusion - that the entire control panel is periodically reconfigured based on the services that are available in the OpenStack cloud. People often ask how to enable Quantum or Swift, what settings they need. But they are looking in the wrong place. All they need to do is add them to the services directory in Keystone, and Horizon will do the rest. Most importantly, this allows Horizon to work with multiple deployments, in multiple "regions", etc. without any changes to the settings. If you have properly created the cloud, you will have a working control panel.

Question: What are the initial conditions for launching Horizon?

Answer: Now Nova and Keystone are the only services that are needed to launch the OpenStack control panel. To start the server, you need Python and a relatively standard set of modules, which can be installed either through pip or using the distribution of your choice. The default configuration does not require a database or persistence level. By default, it includes a built-in web server for testing, but for commercial environments it is best to place it behind a "real" web server, such as Apache or Nginx.

Question: Who would you like to see as participants in the development of Horizon?

Answer: I would like to see more people who care about the ideology of Horizon. People who love CSS, responsive design and creating a good user experience. Many talented developers work on our project and the idea is emerging to attract a community of designers, but now Horizon is still far from a stylish and recognizable interface. You need something that says, "This is part of OpenStack."

Question: What functionality needs to be improved or tested?

Answer: One of the aspects that we are considering in the Havana cycle is the ability for people to simply “modify” the OpenStack Dashboard control panel. Horizon is essentially two separate components: the actual horizon module, which is the infrastructure for building control panels, and the openstack_dashboard module, which contains all implementations specific to OpenStack. We spent several cycles building the capabilities of the infrastructure and making it as extensible and useful as possible for people who write code for new services and capabilities. Now we have reached a turning point in which people are more interested in taking what we have already done for Nova, Glance, etc. and refine it. They want to reconfigure systems for their company. They do not want to start from scratch or copy huge pieces of code. Therefore, our task now is to support people in mixing what we have.

Question: How can people start investing?

Answer: If you have technical knowledge, download devstack and start working with the code. If you're a specialist in appearance, get involved in the OpenStack UX community. If you have anything to say about the project, go to Launchpad or join the newsletter and let us know. Feedback is very important to us, and even better corrections, and we always strive for excellence.

Question: Thank you, Gabrielle!

Answer please.