Juju Charm - Nova Cloud Controller
Go to file
James Page c2bc02e3ab Drop support for Neutron functionality
Neutron functionality was deprecated last release; remove
direct support for managing the neutron-server process and
associated plugin support from this charm.

All neutron-server support is now provided by the neutron-api
charm.

Change-Id: Iec7bd5ec6d835b573a15f8163fa5f78842bd672b
2016-04-08 11:46:52 +01:00
actions Add pause/resume actions and sync charm-helpers 2016-03-23 15:41:30 +00:00
files Make quantum helpers support neutron 2013-10-14 12:40:59 +01:00
hooks Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
scripts Sync scripts/. 2013-04-09 11:31:23 -07:00
templates Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
tests Check for Keystone apache2 process for liberty+ 2016-04-08 11:46:22 +01:00
unit_tests Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
.coveragerc Check in start of py redux. 2013-08-01 20:42:16 -07:00
.gitignore Resync charm-helpers 2016-03-02 12:09:33 +00:00
.gitreview Add gitreview prior to migration to openstack 2016-02-24 21:53:34 +00:00
.project Add pydev project 2013-09-20 17:36:24 +01:00
.pydevproject Add missing fetch helper 2013-09-23 14:26:04 +01:00
.testr.conf Add tox support 2015-10-30 15:28:07 +09:00
Makefile Use tox in Makefile targets 2016-03-15 20:13:23 -07:00
README.md Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
actions.yaml Add pause/resume actions and sync charm-helpers 2016-03-23 15:41:30 +00:00
charm-helpers-hooks.yaml Add hardening support 2016-03-31 19:30:33 +01:00
charm-helpers-tests.yaml Move charm-helpers.yaml to charm-helpers-hooks.yaml and 2014-06-24 17:19:15 +00:00
config.yaml Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
copyright adding copyright file 2012-06-19 14:51:52 -07:00
hardening.yaml Add hardening support 2016-03-31 19:30:33 +01:00
icon.svg Update icon.svg 2013-10-23 13:14:56 -07:00
metadata.yaml Drop support for Neutron functionality 2016-04-08 11:46:52 +01:00
requirements.txt Add tox support 2015-10-30 15:28:07 +09:00
revision [ivoks,r=] Add support for setting neutron-alchemy-flags 2014-07-16 15:50:01 +01:00
setup.cfg [yolanda] Add postgresql support 2014-03-31 12:56:09 +01:00
test-requirements.txt Update to charm-tools >= 2.0.0 2016-03-23 09:30:17 +00:00
tox.ini Update to charm-tools >= 2.0.0 2016-03-23 09:30:17 +00:00

README.md

nova-cloud-controller

Cloud controller node for OpenStack nova. Contains nova-schedule, nova-api, nova-network and nova-objectstore.

If console access is required then console-proxy-ip should be set to a client accessible IP that resolves to the nova-cloud-controller. If running in HA mode then the public vip is used if console-proxy-ip is set to local. Note: The console access protocol is baked into a guest when it is created, if you change it then console access for existing guests will stop working

Special considerations to be deployed using Postgresql

juju deploy nova-cloud-controller
juju deploy postgresql
juju add-relation "nova-cloud-controller:pgsql-nova-db" "postgresql:db"
juju add-relation "nova-cloud-controller:pgsql-neutron-db" "postgresql:db"

Deploying from source

The minimum openstack-origin-git config required to deploy from source is:

openstack-origin-git: include-file://nova-juno.yaml

nova-juno.yaml
    repositories:
    - {name: requirements,
       repository: 'git://github.com/openstack/requirements',
       branch: stable/juno}
    - {name: nova,
       repository: 'git://github.com/openstack/nova',
       branch: stable/juno}

Note that there are only two 'name' values the charm knows about: 'requirements' and 'nova'. These repositories must correspond to these 'name' values. Additionally, the requirements repository must be specified first and the nova repository must be specified last. All other repositories are installed in the order in which they are specified.

The following is a full list of current tip repos (may not be up-to-date):

openstack-origin-git: include-file://nova-master.yaml

nova-master.yaml
    repositories:
    - {name: requirements,
       repository: 'git://github.com/openstack/requirements',
       branch: master}
    - {name: oslo-concurrency,
       repository: 'git://github.com/openstack/oslo.concurrency',
       branch: master}
    - {name: oslo-config,
       repository: 'git://github.com/openstack/oslo.config',
       branch: master}
    - {name: oslo-context,
       repository: 'git://github.com/openstack/oslo.context',
       branch: master}
    - {name: oslo-db,
       repository: 'git://github.com/openstack/oslo.db',
       branch: master}
    - {name: oslo-i18n,
       repository: 'git://github.com/openstack/oslo.i18n',
       branch: master}
    - {name: oslo-log,
       repository: 'git://github.com/openstack/oslo.log',
       branch: master}
    - {name: oslo-messaging,
       repository: 'git://github.com/openstack/oslo.messaging',
       branch: master}
    - {name: oslo-middleware,
       repository': 'git://github.com/openstack/oslo.middleware',
       branch: master}
    - {name: oslo-rootwrap',
       repository: 'git://github.com/openstack/oslo.rootwrap',
       branch: master}
    - {name: oslo-serialization,
       repository: 'git://github.com/openstack/oslo.serialization',
       branch: master}
    - {name: oslo-utils,
       repository: 'git://github.com/openstack/oslo.utils',
       branch: master}
    - {name: pbr,
       repository: 'git://github.com/openstack-dev/pbr',
       branch: master}
    - {name: stevedore,
       repository: 'git://github.com/openstack/stevedore',
       branch: 'master'}
    - {name: sqlalchemy-migrate,
       repository: 'git://github.com/stackforge/sqlalchemy-migrate',
       branch: master}
    - {name: python-cinderclient,
       repository: 'git://github.com/openstack/python-cinderclient',
       branch: master}
    - {name: python-glanceclient,
       repository': 'git://github.com/openstack/python-glanceclient',
       branch: master}
    - {name: python-neutronlient,
       repository': 'git://github.com/openstack/python-neutronclient',
       branch: master}
    - {name: keystonemiddleware,
       repository: 'git://github.com/openstack/keystonemiddleware',
       branch: master}
    - {name: nova,
       repository: 'git://github.com/openstack/nova',
       branch: master}

Network Space support

This charm supports the use of Juju Network Spaces, allowing the charm to be bound to network space configurations managed directly by Juju. This is only supported with Juju 2.0 and above.

API endpoints can be bound to distinct network spaces supporting the network separation of public, internal and admin endpoints.

To use this feature, use the --bind option when deploying the charm:

juju deploy nova-cloud-controller --bind "public=public-space internal=internal-space admin=admin-space"

alternatively these can also be provided as part of a juju native bundle configuration:

nova-cloud-controller:
  charm: cs:xenial/nova-cloud-controller
  num_units: 1
  bindings:
    public: public-space
    admin: admin-space
    internal: internal-space

NOTE: Spaces must be configured in the underlying provider prior to attempting to use them.

NOTE: Existing deployments using os-*-network configuration options will continue to function; these options are preferred over any network space binding provided if set.