Code Monkey home page Code Monkey logo

vcenter-operator's Introduction

VCenter Operator

The VCenter Operator automatically configures and deploys cinder and nova-compute nodes corresponding to the discovered vcenters and clusters. It follows the convention over configuration principle to keep the configuration to a minimum. It relies heavily on a other configmaps being deployed by openstack-helm and should be best deployed with it.

Configuration

Some basic configuration is however necessary. The VCenter Operator has to be deployed in a way that it allows it to deploy and modify resources within the configured target namespace. The following values are required to be stored in a configmap named vcenter-operator in the same namespace as the running pod, and expects the following values:

namespace
The namespace to deploy into
username
The username to use to log on the vcenter
password
A password used as a seed for the master-password algorithm <https://masterpassword.app/masterpassword-algorithm.pdf> to generate long-form passwords specific for each vcenter discovered.
cinder_agent_image
A docker image for a vcenter cinder volume
cinder_sentry_dsn
Optionally, a Sentry DSN for the process
neutron_agent_image
A docker image for the networking side of the compute node (currently only Networking DVS Driver)
nova_agent_image
A docker image for the nova compute process.
cinder_sentry_dsn/neutron_sentry_dsn/nova_sentry_dsn
Optionally, Sentry DSN, which will exported as environment variables

Conventions

The vcenter operator relies on the following conventions:

  • The operator relies on having dns as a kubernetes service with the labels component=mdns,type=backend, and polls the DNS behind it.
  • It polls the last search domain of the resolv.conf.
  • Within that domain, the vcenter is expected to match vc-[a-z]+-[0-9]+.
  • The operator expects to be able to log on with username and the long form password derived by the given user and password for the fully-qualified domain name of the vcenter.
  • Within the VCenter, the name of the VSphere datacenter will be used as the availability-zone name (in lower-case) for each entity child.
  • Within a Datacenter, clusters prefixed with production will be used as compute nodes. The name of the compute-host will be the nova-compute-<suffix>, where suffix is whatever stands after production in the cluster-name.
  • Within that cluster, the nova storage will be derived by looking for mounted storage prefixed by eph. The longest common prefix will be used as a search pattern for the storage of the compute node.
  • The first Port-group within that cluster prefixed with br- will be used for the vm networking, and the suffix determines the physical name of the network.
  • A cluster prefixed with storage will cause the creation of a cinder nodes with the name cinder-volume-vmware-<suffix>. This is only provisional and should be replaced by one per datacenter.

vcenter-operator's People

Contributors

joker-at-work avatar fwiesel avatar carthaca avatar notandy avatar galkindmitrii avatar majewsky avatar

Watchers

James Cloos avatar

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.