Juju Charm - Nova Cloud Controller
Go to file
James Page 6e8dcf8af8 Drop support for OpenStack releases < Icehouse
Rollup all old configuration file templates, remove any related
to Quantum which was renamed in the Havana release.

Drop references in code to Quantum, refactor unit tests to baseline
on Icehouse rather than anything older.

Drop relation and associated references to nova-volume service;
deprecated in Folsom and removed in Havana.

Drop ml2 migration - this was required when migrating to Icehouse
from older releases.

Change-Id: I6f5d641ffef2599d0dfc8e16a2dce3cc7be88bd4
2016-03-23 12:40:37 +00:00
actions Do not use register_configs import CONFIGS directly 2015-09-23 09:08:31 -07:00
files Make quantum helpers support neutron 2013-10-14 12:40:59 +01:00
hooks Drop support for OpenStack releases < Icehouse 2016-03-23 12:40:37 +00:00
scripts Sync scripts/. 2013-04-09 11:31:23 -07:00
templates Drop support for OpenStack releases < Icehouse 2016-03-23 12:40:37 +00:00
tests Update amulet test for Mitaka; Refactor conf dict checks for clarity and simplicity; Remove Essex conditionals and definition. 2016-02-17 19:36:02 +00:00
unit_tests Drop support for OpenStack releases < Icehouse 2016-03-23 12:40:37 +00: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
actions.yaml Action managed upgrades 2015-09-21 16:06:54 -07:00
charm-helpers-hooks.yaml [corey.bryant,r=trivial] Enable sync of payload.archive 2016-01-08 02:36:07 +00: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 OpenStack releases < Icehouse 2016-03-23 12:40:37 +00:00
copyright adding copyright file 2012-06-19 14:51:52 -07:00
icon.svg Update icon.svg 2013-10-23 13:14:56 -07:00
Makefile Use tox in Makefile targets 2016-03-15 20:13:23 -07:00
metadata.yaml Drop support for OpenStack releases < Icehouse 2016-03-23 12:40:37 +00:00
README.md Typo fixes 2015-09-15 19:51:39 +00: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

nova-cloud-controller

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

The neutron-api interface can be used join this charm with an external neutron-api server. If this is done then this charm will shutdown its neutron-api service and the external charm will be registered as the neutron-api endpoint in keystone. It will also use the quantum-security-groups setting which is passed to it by the api service rather than its own quantum-security-groups setting.

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}