This document describes how to install and run Apmec manually.
1). Ensure that OpenStack components Keystone, Mistral, Barbican and Horizon are installed. Refer https://docs.openstack.org/latest/projects.html for installation of these OpenStack projects on different Operating Systems.
2). one admin-openrc.sh file is generated. one sample admin-openrc.sh file is like the below:
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=KTskN5eUMTpeHLKorRcZBBbH0AM96wdvgQhwENxY
export OS_AUTH_URL=http://localhost:5000/v3
export OS_INTERFACE=internal
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
Note
The paths we are using for configuration files in these steps are with reference to Ubuntu Operating System. The paths may vary for other Operating Systems.
The branch_name which is used in commands, specify the branch_name as “stable/<branch>” for any stable branch installation. For eg: stable/ocata, stable/newton. If unspecified the default will be “master” branch.
1). Create MySQL database and user.
mysql -uroot -p
CREATE DATABASE apmec;
GRANT ALL PRIVILEGES ON apmec.* TO 'apmec'@'localhost' \
IDENTIFIED BY '<APMECDB_PASSWORD>';
GRANT ALL PRIVILEGES ON apmec.* TO 'apmec'@'%' \
IDENTIFIED BY '<APMECDB_PASSWORD>';
exit;
Note
Replace APMECDB_PASSWORD
with your password.
2). Create users, roles and endpoints:
a). Source the admin credentials to gain access to admin-only CLI commands:
. admin-openrc.sh
b). Create apmec user with admin privileges.
Note
Project_name can be “service” or “services” depending on your OpenStack distribution.
openstack user create --domain default --password <PASSWORD> apmec
openstack role add --project service --user apmec admin
c). Create apmec service.
openstack service create --name apmec \
--description "Apmec Project" mec-orchestration
d). Provide an endpoint to apmec service.
If you are using keystone v3 then,
openstack endpoint create --region RegionOne mec-orchestration \
public http://<APMEC_NODE_IP>:9896/
openstack endpoint create --region RegionOne mec-orchestration \
internal http://<APMEC_NODE_IP>:9896/
openstack endpoint create --region RegionOne mec-orchestration \
admin http://<APMEC_NODE_IP>:9896/
If you are using keystone v2 then,
openstack endpoint create --region RegionOne \
--publicurl 'http://<APMEC_NODE_IP>:9896/' \
--adminurl 'http://<APMEC_NODE_IP>:9896/' \
--internalurl 'http://<APMEC_NODE_IP>:9896/' <SERVICE-ID>
3). Clone apmec repository.
cd ~/
git clone https://github.com/openstack/apmec -b <branch_name>
4). Install all requirements.
cd apmec
sudo pip install -r requirements.txt
5). Install apmec.
sudo python setup.py install
6). Create ‘apmec’ directory in ‘/var/log’.
sudo mkdir /var/log/apmec
Note
Ignore any warnings generated while using the “generate_config_file_sample.sh”.
Note
project_name can be “service” or “services” depending on your OpenStack distribution in the keystone_authtoken section.
[DEFAULT]
auth_strategy = keystone
policy_file = /usr/local/etc/apmec/policy.json
debug = True
use_syslog = False
bind_host = <APMEC_NODE_IP>
bind_port = 9896
service_plugins = meo,mem
state_path = /var/lib/apmec
...
[meo]
vim_drivers = openstack
[keystone_authtoken]
memcached_servers = 11211
region_name = RegionOne
auth_type = password
project_domain_name = <DOMAIN_NAME>
user_domain_name = <DOMAIN_NAME>
username = <APMEC_USER_NAME>
project_name = service
password = <APMEC_SERVICE_USER_PASSWORD>
auth_url = http://<KEYSTONE_IP>:5000
auth_uri = http://<KEYSTONE_IP>:5000
...
[agent]
root_helper = sudo /usr/local/bin/apmec-rootwrap /usr/local/etc/apmec/rootwrap.conf
...
[database]
connection = mysql://apmec:<APMECDB_PASSWORD>@<MYSQL_IP>:3306/apmec?charset=utf8
...
[apmec]
monitor_driver = ping,http_ping
8). Copy the apmec.conf file to “/usr/local/etc/apmec/” directory
sudo su
cp etc/apmec/apmec.conf /usr/local/etc/apmec/
9). Populate Apmec database:
/usr/local/bin/apmec-db-manage --config-file /usr/local/etc/apmec/apmec.conf upgrade head
1). Clone apmec-client repository.
cd ~/
git clone https://github.com/openstack/python-apmecclient -b <branch_name>
2). Install apmec-client.
cd python-apmecclient
sudo python setup.py install
1). Clone apmec-horizon repository.
cd ~/
git clone https://github.com/openstack/apmec-horizon -b <branch_name>
2). Install horizon module.
cd apmec-horizon
sudo python setup.py install
3). Enable apmec horizon in dashboard.
sudo cp apmec_horizon/enabled/* \
/usr/share/openstack-dashboard/openstack_dashboard/enabled/
4). Restart Apache server.
sudo service apache2 restart
1).Open a new console and launch apmec-server. A separate terminal is required because the console will be locked by a running process.
sudo python /usr/local/bin/apmec-server \
--config-file /usr/local/etc/apmec/apmec.conf \
--log-file /var/log/apmec/apmec.log
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.