Merge "Remove out-dated method for installing in Devstack"
This commit is contained in:
commit
600573abdb
|
@ -1,269 +0,0 @@
|
||||||
.. _manual-install:
|
|
||||||
|
|
||||||
==================================
|
|
||||||
Manually Adding Magnum to DevStack
|
|
||||||
==================================
|
|
||||||
|
|
||||||
If you are getting started with magnum it is recommended you follow the
|
|
||||||
:ref:`quickstart` to get up and running with magnum. This guide covers
|
|
||||||
a more in-depth process to setup magnum with devstack.
|
|
||||||
|
|
||||||
Magnum depends on nova, glance, heat, barbican, and neutron to create and
|
|
||||||
schedule virtual machines to simulate bare-metal. Full bare-metal support
|
|
||||||
is still under active development.
|
|
||||||
|
|
||||||
This session has only been tested on Ubuntu 14.04 (Trusty) and Fedora 20/21.
|
|
||||||
We recommend users to select one of them if it is possible.
|
|
||||||
|
|
||||||
Clone devstack::
|
|
||||||
|
|
||||||
cd ~
|
|
||||||
git clone https://git.openstack.org/openstack-dev/devstack
|
|
||||||
|
|
||||||
Configure devstack with the minimal settings required to enable heat
|
|
||||||
and neutron::
|
|
||||||
|
|
||||||
cd devstack
|
|
||||||
cat > local.conf << END
|
|
||||||
[[local|localrc]]
|
|
||||||
# Modify to your environment
|
|
||||||
FIXED_RANGE=10.0.0.0/24
|
|
||||||
FLOATING_RANGE=192.168.1.224/27
|
|
||||||
PUBLIC_NETWORK_GATEWAY=192.168.1.225
|
|
||||||
PUBLIC_INTERFACE=em1
|
|
||||||
PHYSICAL_NETWORK=public
|
|
||||||
OVS_PHYSICAL_BRIDGE=br-ex
|
|
||||||
ENABLE_TENANT_VLANS=True
|
|
||||||
TENANT_VLAN_RANGE=1000:1999
|
|
||||||
|
|
||||||
# Credentials
|
|
||||||
ADMIN_PASSWORD=password
|
|
||||||
DATABASE_PASSWORD=password
|
|
||||||
RABBIT_PASSWORD=password
|
|
||||||
SERVICE_PASSWORD=password
|
|
||||||
SERVICE_TOKEN=password
|
|
||||||
|
|
||||||
enable_service rabbit
|
|
||||||
|
|
||||||
# Ensure we are using neutron networking rather than nova networking
|
|
||||||
disable_service n-net
|
|
||||||
enable_service q-svc
|
|
||||||
enable_service q-agt
|
|
||||||
enable_service q-dhcp
|
|
||||||
enable_service q-l3
|
|
||||||
enable_service q-meta
|
|
||||||
enable_service neutron
|
|
||||||
|
|
||||||
# Disable LBaaS(v1) service
|
|
||||||
disable_service q-lbaas
|
|
||||||
|
|
||||||
# Enable LBaaS(v2) services
|
|
||||||
enable_service q-lbaasv2
|
|
||||||
enable_service octavia
|
|
||||||
enable_service o-cw
|
|
||||||
enable_service o-hk
|
|
||||||
enable_service o-hm
|
|
||||||
enable_service o-api
|
|
||||||
|
|
||||||
# Enable heat plugin
|
|
||||||
enable_plugin heat https://git.openstack.org/openstack/heat
|
|
||||||
# Enable barbican services
|
|
||||||
enable_plugin barbican https://git.openstack.org/openstack/barbican
|
|
||||||
enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas
|
|
||||||
enable_plugin octavia https://git.openstack.org/openstack/octavia
|
|
||||||
|
|
||||||
VOLUME_BACKING_FILE_SIZE=20G
|
|
||||||
END
|
|
||||||
|
|
||||||
**NOTE:** Update PUBLIC_INTERFACE and other parameters as appropriate for
|
|
||||||
your system.
|
|
||||||
**NOTE:** Enable heat plugin is necessary.
|
|
||||||
|
|
||||||
More devstack configuration information can be found at
|
|
||||||
http://docs.openstack.org/developer/devstack/configuration.html
|
|
||||||
|
|
||||||
More neutron configuration information can be found at
|
|
||||||
http://docs.openstack.org/developer/devstack/guides/neutron.html
|
|
||||||
|
|
||||||
Optionally, you can enable ceilometer in devstack. If ceilometer is enabled,
|
|
||||||
magnum will periodically send metrics to ceilometer. If you need this feature,
|
|
||||||
add the following line to your `local.conf` file::
|
|
||||||
|
|
||||||
enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer
|
|
||||||
|
|
||||||
Create a local.sh to automatically make necessary networking changes during
|
|
||||||
the devstack deployment process. This will allow clusters spawned by magnum to
|
|
||||||
access the internet through PUBLIC_INTERFACE::
|
|
||||||
|
|
||||||
cat > local.sh << 'END_LOCAL_SH'
|
|
||||||
#!/bin/sh
|
|
||||||
ROUTE_TO_INTERNET=$(ip route get 8.8.8.8)
|
|
||||||
OBOUND_DEV=$(echo ${ROUTE_TO_INTERNET#*dev} | awk '{print $1}')
|
|
||||||
sudo iptables -t nat -A POSTROUTING -o $OBOUND_DEV -j MASQUERADE
|
|
||||||
END_LOCAL_SH
|
|
||||||
chmod 755 local.sh
|
|
||||||
|
|
||||||
Run devstack::
|
|
||||||
|
|
||||||
./stack.sh
|
|
||||||
|
|
||||||
**NOTE:** If using the m-1 tag or tarball, please use the documentation
|
|
||||||
shipped with the milestone as the current master instructions are slightly
|
|
||||||
incompatible.
|
|
||||||
|
|
||||||
Prepare your session to be able to use the various OpenStack clients including
|
|
||||||
magnum, neutron, and glance. Create a new shell, and source the devstack openrc
|
|
||||||
script::
|
|
||||||
|
|
||||||
source ~/devstack/openrc admin admin
|
|
||||||
|
|
||||||
Magnum has been tested with the Fedora Atomic micro-OS and CoreOS. Magnum will
|
|
||||||
likely work with other micro-OS platforms, but each requires individual
|
|
||||||
support in the heat template.
|
|
||||||
|
|
||||||
Store the Fedora Atomic micro-OS in glance. Download the qcow2 Atomic image
|
|
||||||
from https://fedorapeople.org/groups/magnum/fedora-atomic-latest.qcow2 and
|
|
||||||
then upload it to glance::
|
|
||||||
|
|
||||||
glance image-create --name fedora-atomic-latest \
|
|
||||||
--visibility public \
|
|
||||||
--disk-format qcow2 \
|
|
||||||
--os-distro fedora-atomic \
|
|
||||||
--container-format bare < fedora-atomic-latest.qcow2
|
|
||||||
|
|
||||||
Create a domain and domain admin for trust::
|
|
||||||
|
|
||||||
TRUSTEE_DOMAIN_ID=$(
|
|
||||||
openstack domain create magnum \
|
|
||||||
--description "Owns users and projects created by magnum" \
|
|
||||||
-f value -c id
|
|
||||||
)
|
|
||||||
TRUSTEE_DOMAIN_ADMIN_ID=$(
|
|
||||||
openstack user create trustee_domain_admin \
|
|
||||||
--password "password" \
|
|
||||||
--domain=${TRUSTEE_DOMAIN_ID} \
|
|
||||||
--or-show \
|
|
||||||
-f value -c id
|
|
||||||
)
|
|
||||||
openstack --os-identity-api-version 3 role add \
|
|
||||||
--user $TRUSTEE_DOMAIN_ADMIN_ID --domain $TRUSTEE_DOMAIN_ID \
|
|
||||||
admin
|
|
||||||
|
|
||||||
Create a keypair for use with the ClusterTemplate::
|
|
||||||
|
|
||||||
test -f ~/.ssh/id_rsa.pub || ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
|
|
||||||
nova keypair-add --pub-key ~/.ssh/id_rsa.pub testkey
|
|
||||||
|
|
||||||
Create a database in MySQL for magnum::
|
|
||||||
|
|
||||||
mysql -h 127.0.0.1 -u root -ppassword mysql <<EOF
|
|
||||||
CREATE DATABASE IF NOT EXISTS magnum DEFAULT CHARACTER SET utf8;
|
|
||||||
GRANT ALL PRIVILEGES ON magnum.* TO
|
|
||||||
'root'@'%' IDENTIFIED BY 'password'
|
|
||||||
EOF
|
|
||||||
|
|
||||||
Clone and install magnum::
|
|
||||||
|
|
||||||
cd ~
|
|
||||||
git clone https://git.openstack.org/openstack/magnum
|
|
||||||
cd magnum
|
|
||||||
sudo pip install -e .
|
|
||||||
|
|
||||||
Configure magnum::
|
|
||||||
|
|
||||||
# create the magnum conf directory
|
|
||||||
sudo mkdir -p /etc/magnum
|
|
||||||
|
|
||||||
# generate sample config file and modify it as necessary
|
|
||||||
tox -egenconfig
|
|
||||||
sudo cp etc/magnum/magnum.conf.sample /etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# copy policy.json
|
|
||||||
sudo cp etc/magnum/policy.json /etc/magnum/policy.json
|
|
||||||
|
|
||||||
# copy api-paste.ini
|
|
||||||
sudo cp etc/magnum/api-paste.ini /etc/magnum/api-paste.ini
|
|
||||||
|
|
||||||
# enable debugging output
|
|
||||||
sudo sed -i "s/#debug\s*=.*/debug=true/" /etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set RabbitMQ userid
|
|
||||||
sudo sed -i "s/#rabbit_userid\s*=.*/rabbit_userid=stackrabbit/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set RabbitMQ password
|
|
||||||
sudo sed -i "s/#rabbit_password\s*=.*/rabbit_password=password/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set SQLAlchemy connection string to connect to MySQL
|
|
||||||
sudo sed -i "s/#connection\s*=.*/connection=mysql:\/\/root:password@localhost\/magnum/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set admin Identity API endpoint
|
|
||||||
sudo sed -i "s/#identity_uri\s*=.*/identity_uri=http:\/\/127.0.0.1:35357/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set public Identity API endpoint
|
|
||||||
sudo sed -i "s/#auth_uri\s*=.*/auth_uri=http:\/\/127.0.0.1:5000\/v2.0/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set trustee domain id
|
|
||||||
sudo sed -i "s/#trustee_domain_name\s*=.*/trustee_domain_name=magnum/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set trustee domain admin id
|
|
||||||
sudo sed -i "s/#trustee_domain_admin_name\s*=.*/trustee_domain_admin_name=trustee_domain_admin/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set trustee domain admin password
|
|
||||||
sudo sed -i "s/#trustee_domain_admin_password\s*=.*/trustee_domain_admin_password=password/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set correct region name to clients
|
|
||||||
sudo sed -i "s/#region_name\s*=.*/region_name=RegionOne/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
# set oslo messaging notifications driver (if using ceilometer)
|
|
||||||
sudo sed -i "s/#driver\s*=.*/driver=messaging/" \
|
|
||||||
/etc/magnum/magnum.conf
|
|
||||||
|
|
||||||
Clone and install the magnum client::
|
|
||||||
|
|
||||||
cd ~
|
|
||||||
git clone https://git.openstack.org/openstack/python-magnumclient
|
|
||||||
cd python-magnumclient
|
|
||||||
sudo pip install -e .
|
|
||||||
|
|
||||||
Configure the database for use with magnum. Please note that DB migration
|
|
||||||
does not work for SQLite backend. The SQLite database does not
|
|
||||||
have any support for the ALTER statement needed by relational schema
|
|
||||||
based migration tools. Hence DB Migration will not work for SQLite
|
|
||||||
backend::
|
|
||||||
|
|
||||||
magnum-db-manage upgrade
|
|
||||||
|
|
||||||
Configure the keystone endpoint::
|
|
||||||
|
|
||||||
openstack service create --name=magnum \
|
|
||||||
--description="Container Infrastructure Management Service" \
|
|
||||||
container-infra
|
|
||||||
openstack endpoint create --region=RegionOne \
|
|
||||||
container-infra public http://127.0.0.1:9511/v1
|
|
||||||
openstack endpoint create --region=RegionOne \
|
|
||||||
container-infra internal http://127.0.0.1:9511/v1
|
|
||||||
openstack endpoint create --region=RegionOne \
|
|
||||||
container-infra admin http://127.0.0.1:9511/v1
|
|
||||||
|
|
||||||
|
|
||||||
Start the API service in a new screen::
|
|
||||||
|
|
||||||
magnum-api
|
|
||||||
|
|
||||||
Start the conductor service in a new screen::
|
|
||||||
|
|
||||||
magnum-conductor
|
|
||||||
|
|
||||||
Magnum should now be up and running!
|
|
||||||
|
|
||||||
Further details on utilizing magnum and deploying containers can be found in
|
|
||||||
the guide :ref:`quickstart`.
|
|
|
@ -95,9 +95,6 @@ recommended at this time.
|
||||||
This session has only been tested on Ubuntu 14.04 (Trusty) and Fedora 20/21.
|
This session has only been tested on Ubuntu 14.04 (Trusty) and Fedora 20/21.
|
||||||
We recommend users to select one of them if it is possible.
|
We recommend users to select one of them if it is possible.
|
||||||
|
|
||||||
For in-depth guidance on adding magnum manually to a devstack instance, please
|
|
||||||
refer to the `<http://docs.openstack.org/developer/magnum/dev/manual-devstack.html>`_
|
|
||||||
|
|
||||||
Clone devstack::
|
Clone devstack::
|
||||||
|
|
||||||
# Create a root directory for devstack if needed
|
# Create a root directory for devstack if needed
|
||||||
|
|
|
@ -60,7 +60,6 @@ Developer Info
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
dev/quickstart
|
dev/quickstart
|
||||||
dev/manual-devstack
|
|
||||||
dev/cluster-type-definition.rst
|
dev/cluster-type-definition.rst
|
||||||
dev/kubernetes-load-balancer.rst
|
dev/kubernetes-load-balancer.rst
|
||||||
dev/functional-test.rst
|
dev/functional-test.rst
|
||||||
|
|
Loading…
Reference in New Issue