Compare commits

...

5 Commits

Author SHA1 Message Date
Egon Rijpkema
cd5e1783c8 Trying to adhere to python naming convention. 2018-04-23 15:54:07 +02:00
Egon Rijpkema
9475b68c21 Docker in name is no longer needed 2018-04-23 15:34:55 +02:00
Egon Rijpkema
c961561812 Added l3 agent 2018-04-23 15:19:43 +02:00
Egon Rijpkema
e2c62e15f0 Changes for a federated dashboard. 2018-04-23 15:13:29 +02:00
Egon Rijpkema
791595dcdf All changes in the merlin branches. 2018-04-23 15:07:18 +02:00
66 changed files with 184 additions and 66 deletions

View File

@ -15,7 +15,8 @@ RUN set -x \
python-openstackclient \
python-oslo.cache \
lvm2 \
tgt \
python-ceph \
python-rbd \
&& apt-get -y clean
@ -28,8 +29,6 @@ COPY bootstrap.sh /etc/bootstrap.sh
COPY run.sh /etc/run.sh
COPY lvm.conf /etc/lvm/lvm.conf
RUN chown root.root /etc/bootstrap.sh && chmod a+x /etc/bootstrap.sh
RUN chown root.root /etc/run.sh && chmod a+x /etc/run.sh

View File

@ -22,6 +22,6 @@ source /root/admin-openrc.sh
# create a LVM physical volume and volume group.
# This device should be available tpo the container
pvcreate /dev/cinder_storage_volume
vgcreate cinder-volumes /dev/cinder_storage_volume
#pvcreate /dev/cinder_storage_volume
#vgcreate cinder-volumes /dev/cinder_storage_volume

View File

@ -3,7 +3,9 @@
# Write the config files
/etc/write_conf.sh
# start cinder processes.
tgtd
cinder-volume -d &
sleep 5
cinder-volume -d &

View File

@ -10,9 +10,9 @@ connection = mysql+pymysql://$CINDER_USER:$CINDER_PASSWORD@$MYSQL_HOST/cinder
[DEFAULT]
auth_strategy = keystone
transport_url = rabbit://$RABBIT_USER:$RABBIT_PASSWORD@$RABBIT_HOST
transport_url = rabbit://$RABBIT_USER:$RABBIT_PASSWORD@$MY_IP
my_ip = $MY_IP
enabled_backends = lvm
enabled_backends = RBD-backend
glance_api_servers = http://$GLANCE_HOST:9292
[keystone_authtoken]
@ -29,11 +29,12 @@ password = $CINDER_PASSWORD
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
volumes_dir = /var/lib/cinder/volumes
[RBD-backend]
volume_backend_name=RBD-backend
rbd_pool=volumes
rbd_user=volumes
rbd_secret_uuid=d0db6ba7-a0c9-4da6-b0bc-aa7846325333
volume_driver=cinder.volume.drivers.rbd.RBDDriver
rbd_ceph_conf=/etc/ceph/ceph.conf
EOF

View File

@ -14,6 +14,8 @@ RUN set -x \
python-mysqldb \
python-openstackclient \
python-oslo.cache \
python-rbd \
python-ceph \
&& apt-get -y clean \
&& rm -f /var/lib/glance/glance.sqlite

View File

@ -32,13 +32,14 @@ flavor = keystone
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
stores = glance.store.rbd.Store
default_store = rbd
rbd_store_pool = images
rbd_store_user = images
rbd_store_ceph_conf = /etc/ceph/ceph.conf
EOF
cat << EOF > /etc/glance/glance-registry.conf
[DEFAULT]
@ -49,9 +50,11 @@ rpc_backend = rabbit
connection = mysql+pymysql://$GLANCE_USER:$GLANCE_PASSWORD@$MYSQL_HOST/glance
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
stores = glance.store.rbd.Store
default_store = rbd
rbd_store_pool = images
rbd_store_user = images
rbd_store_ceph_conf = /etc/ceph/ceph.conf
[keystone_authtoken]
auth_uri = http://$KEYSTONE_HOST:5000

View File

@ -16,20 +16,29 @@ RUN set -x \
python-openstackclient \
&& apt-get -y clean
EXPOSE 80
EXPOSE 80 443
COPY openstack-dashboard.conf /etc/apache2/conf-available/openstack-dashboard.conf
COPY local_settings.py /etc/openstack-dashboard/local_settings.py
# Add a redirect to /keystone instead of the "It works! page"
COPY 000-default.conf /etc/apache2/sites-available
COPY run.sh /etc/run.sh
RUN chown -R www-data: /var/lib/openstack-dashboard/
RUN touch /var/log/horizon.log
RUN chown www-data: /var/log/horizon.log
RUN chown horizon: /var/lib/openstack-dashboard/secret_key
RUN a2enmod ssl
RUN a2enmod headers
RUN a2enmod rewrite
CMD apachectl -DFOREGROUND
RUN chown /var/lib/openstack-dashboard/secret_key horizon
CMD /etc/run.sh

View File

@ -37,7 +37,7 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
#EMAIL_HOST_PASSWORD = 'top-secret!'
OPENSTACK_HOST = os.environ['KEYSTONE_HOST']
OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_URL = "https://%s:5000/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
@ -266,7 +266,6 @@ TIME_ZONE = "UTC"
# ('default', 'Default', 'themes/default'),
# ('material', 'Material', 'themes/material'),
#]
LOGGING = {
'version': 1,
# When set to True this will disable all logging except
@ -288,11 +287,12 @@ LOGGING = {
},
'console': {
# Set the level to "DEBUG" for verbose output logging.
'level': 'INFO',
'class': 'logging.StreamHandler',
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': '/var/log/horizon.log',
},
'operation': {
'level': 'INFO',
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'operation',
},
@ -516,3 +516,12 @@ ALLOWED_HOSTS = '*'
COMPRESS_OFFLINE = True
ALLOWED_PRIVATE_SUBNET_CIDR = {'ipv4': [], 'ipv6': []}
WEBSSO_ENABLED = True
WEBSSO_CHOICES = (
("credentials", _("Keystone Credentials")),
("mapped", _("Security Assertion Markup Language"))
)
WEBSSO_INITIAL_CHOICE = "mapped"

View File

@ -0,0 +1,35 @@
<VirtualHost *:80>
RedirectMatch "^/$" "/horizon"
ServerName oscloudtest01.hpc.rug.nl
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
RedirectMatch "^/$" "/horizon"
ServerName oscloudtest01.hpc.rug.nl
SSLEngine On
SSLCertificateFile "/certs/oscloudtest01.hpc.rug.nl.crt"
SSLCertificateKeyFile "/certs/oscloudtest01.hpc.rug.nl.key"
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
# HTTP Strict Transport Security (HSTS) enforces that all communications
# with a server go over SSL. This mitigates the threat from attacks such
# as SSL-Strip which replaces links on the wire, stripping away https prefixes
# and potentially allowing an attacker to view confidential information on the
# wire
Header add Strict-Transport-Security "max-age=15768000"
Alias /horizon/static /var/lib/openstack-dashboard/static/
Alias /static /var/lib/openstack-dashboard/static/
<Directory /var/lib/openstack-dashboard/static>
Require all granted
</Directory>
WSGIScriptAlias /horizon /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi process-group=horizon
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10 display-name=%{GROUP}
WSGIProcessGroup horizon
</VirtualHost>

6
horizon/run.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/bash
#Making the console log console again...
tail -f /var/log/horizon.log &
apachectl -DFOREGROUND

View File

@ -29,8 +29,16 @@ neutron-metadata-agent \
--config-dir /etc/neutron/ \
-v -d &
sleep 3
neutron-l3-agent \
--config-file /etc/neutron/l3_agent.ini \
--config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/metadata_agent.ini \
--config-dir /etc/neutron/ \
-v -d &
# If any process fails, kill the rest.
# This insures the container stops and systemd will restart it.
# This ensures the container stops and systemd will restart it.
wait -n
pkill -P $$

View File

@ -4,15 +4,16 @@
# These are to be passed to the docker container using -e
cat << EOF > /etc/neutron/neutron.conf
[DEFAULT]
core_plugin = ml2
service_plugins =
service_plugins = router
allow_overlapping_ips = True
transport_url = rabbit://$RABBIT_USER:$RABBIT_PASSWORD@$MY_IP
auth_strategy = keystone
notify_nova_on_port_status_changes = true
notify_nova_on_port_data_changes = true
dhcp_agents_per_network = 2
global_physnet_mtu = $GLOBAL_PHYSNET_MTU
[agent]
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
@ -46,11 +47,10 @@ EOF
cat << EOF > /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
path_mtu = $GLOBAL_PHYSNET_MTU
[ml2_type_vlan]
network_vlan_ranges = provider
@ -58,25 +58,14 @@ network_vlan_ranges = provider
[ml2_type_flat]
flat_networks = provider
[ml2_type_vxlan]
vni_ranges = 1:1000
[securitygroup]
enable_ipset = true
EOF
cat << EOF > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = $PHYSICAL_INTERFACE_MAPPINGS
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
EOF
cat << EOF > /etc/neutron/metadata_agent.ini
[DEFAULT]
@ -84,3 +73,35 @@ nova_metadata_ip = $MY_IP
metadata_proxy_shared_secret = $METADATA_SECRET
EOF
cat << EOF > /etc/neutron/l3_agent.ini
[DEFAULT]
interface_driver = linuxbridge
external_network_bridge =
EOF
cat << EOF > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = $PHYSICAL_INTERFACE_MAPPINGS
[vxlan]
enable_vxlan = True
l2_population = True
local_ip = $OVERLAY_IP
[securitygroup]
enable_security_group = true
firewall_driver = iptables
EOF
cat << EOF > /etc/neutron/l3_agent.ini
[DEFAULT]
interface_driver = linuxbridge
external_network_bridge =
EOF

View File

@ -12,12 +12,15 @@ RUN set -x \
python-openstackclient \
nova-compute \
neutron-linuxbridge-agent \
neutron-l3-agent \
neutron-dhcp-agent \
neutron-metadata-agent \
python-ceph \
python-rbd \
&& apt-get -y clean
COPY write_conf.sh /etc/write_conf.sh
COPY run.sh /etc/run.sh
RUN echo hoi
CMD ["/etc/run.sh"]

View File

@ -27,6 +27,14 @@ neutron-metadata-agent \
--config-dir /etc/neutron/ \
-v -d &
sleep 3
neutron-l3-agent \
--config-file /etc/neutron/l3_agent.ini \
--config-file /etc/neutron/neutron.conf \
--config-file /etc/neutron/metadata_agent.ini \
--config-dir /etc/neutron/ \
-v -d &
# If any process fails, kill the rest.
# This ensures the container stops and systemd will restart it.

View File

@ -121,7 +121,12 @@ allow_migrate_to_same_host = True
allow_resize_to_same_host = True
[libvirt]
virt_type=kvm
virt_type = kvm
images_type = rbd
images_rbd_pool = vms
images_rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_user = nova
rbd_secret_uuid = b5044271-1918-4070-822c-f19ed14d7494
[vnc]
enabled = True
@ -189,10 +194,11 @@ EOF
cat << EOF > /etc/neutron/neutron.conf
[DEFAULT]
service_plugins = router
allow_overlapping_ips = True
transport_url = rabbit://$RABBIT_USER:$RABBIT_PASSWORD@$RABBIT_HOST
auth_strategy = keystone
core_plugin = ml2
global_physnet_mtu = $GLOBAL_PHYSNET_MTU
[keystone_authtoken]
auth_uri = http://$KEYSTONE_HOST:5000
@ -217,17 +223,12 @@ password = $NOVA_PASSWORD
EOF
cat << EOF > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[linux_bridge]
physical_interface_mappings = $PHYSICAL_INTERFACE_MAPPINGS
cat << EOF > /etc/neutron/l3_agent.ini
[vxlan]
enable_vxlan = false
[securitygroup]
enable_security_group = true
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
[DEFAULT]
interface_driver = linuxbridge
external_network_bridge =
EOF
@ -251,11 +252,10 @@ EOF
cat << EOF > /etc/neutron/plugins/ml2/ml2_conf.ini
[ml2]
type_drivers = flat,vlan
tenant_network_types =
mechanism_drivers = linuxbridge
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
path_mtu = $GLOBAL_PHYSNET_MTU
[ml2_type_vlan]
network_vlan_ranges = provider
@ -263,7 +263,19 @@ network_vlan_ranges = provider
[ml2_type_flat]
flat_networks = provider
[ml2_type_vxlan]
vni_ranges = 1:100
[securitygroup]
enable_ipset = true
EOF
cat << EOF > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
[vxlan]
enable_vxlan = True
l2_population = True
local_ip = $OVERLAY_IP
EOF