Skip to content
This repository has been archived by the owner on Oct 31, 2024. It is now read-only.

Feature/manila #7

Open
wants to merge 59 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
f3b5b26
Update README.md
radonm Jun 14, 2018
e0e7a64
Merge pull request #3 from CCI-MOC/feature/single-signon
larsks Jun 15, 2018
9715b49
fix trusted_dashboard url
larsks Jun 15, 2018
70523de
use upload-swift-artificats
larsks Jun 16, 2018
4e9e7e3
add tooling to create keystone federation resources
larsks Jun 20, 2018
094cadd
removed unused service templates
larsks Jun 21, 2018
491b494
rhbz#1573808 has been resolved
larsks Jun 21, 2018
9302dd9
apply new network configuration
larsks Jun 21, 2018
9af7a9f
new address for kumo-undercloud
larsks Jun 21, 2018
41d2610
configure route for overcloud hosts to reach local repository server
larsks Jun 22, 2018
56dabab
ignore some generated files
larsks Jun 22, 2018
bd83b82
introduce patch-puppet-modules service
larsks Jun 19, 2018
3d858d2
introduced configure-keystone-federation service template
larsks Jun 22, 2018
cb0bc41
introduced configure-keystone-federation service template
larsks Jun 22, 2018
fed6336
rewrite federation configuration using NodeExtraconfigPost
larsks Jun 23, 2018
0b57f44
added some utility scripts
larsks Jun 23, 2018
458394b
Merge pull request #4 from CCI-MOC/feature/federation
larsks Jun 24, 2018
6351849
renamed extraconfig -> postconfig for clarity
larsks Jun 24, 2018
3a9946f
create clouds.yaml on all hosts
larsks Jun 24, 2018
d6e1b02
we are no longer replacing stock horizon template
larsks Jun 25, 2018
0f078f0
updated README
larsks Jun 25, 2018
095a779
configure ntp servers
larsks Jun 25, 2018
cc47e65
remove unused playbook
larsks Jun 25, 2018
85b005e
abort early if undercloud credentials are not available
larsks Jun 25, 2018
2a75d35
support a custom theme for Horizon
larsks Jun 26, 2018
2f2a043
Update README with information about local patches
larsks Jun 27, 2018
a8dd069
Merge pull request #5 from CCI-MOC/feature/theme
larsks Jun 27, 2018
efc06cb
fetch moc horizon theme outside of docker build process
larsks Jun 28, 2018
b1ddc3c
ignore some more things
larsks Jun 28, 2018
afeb5fa
make it easy to set date/revision when building images
larsks Jun 28, 2018
8a5d508
set help url
larsks Jun 28, 2018
3c79a02
set IMAGES_ALLOW_LOCATION
larsks Jun 28, 2018
762006f
create flavors during deploy
larsks Jun 28, 2018
364e3ea
updated url for horizon theme
larsks Jun 29, 2018
86e5921
added fencing configuration
larsks Jul 3, 2018
e3ff283
template deploy.yaml for more flexible secret handling
larsks Jul 3, 2018
b6df210
foreman provisioning template cleanup
larsks Jul 5, 2018
ae663b1
update interface name
larsks Jul 5, 2018
a3c823f
update overcloud-prep to use rhosp13 images
larsks Jul 6, 2018
f6a13f1
update service list for osp13
larsks Jul 6, 2018
0253443
added undercloud-install.sh wrapper
larsks Jul 6, 2018
e469318
loop: keyword is an ansible 2.5-ism
larsks Jul 6, 2018
d0d3fbb
disable lbaas, enable octavia
larsks Jul 6, 2018
21d9474
added undercloud-prep script
larsks Jul 6, 2018
ce0d96c
mostly documentation updates
larsks Jul 11, 2018
08ba020
restrict ssh access
larsks Jul 12, 2018
a56a115
more ansible-2.5-isms
larsks Jul 13, 2018
3b7ab29
patch puppet modules on all overcloud nodes
larsks Jul 12, 2018
31155f3
import roles directory
larsks Jul 9, 2018
05d5755
added scripts for managing custom roles
larsks Jul 13, 2018
7736e85
add makefiles for generating documents
larsks Jul 13, 2018
5f96d15
add custom roles
larsks Jul 13, 2018
bf484f9
added networker hosts to ansible inventory
larsks Jul 13, 2018
5f9e43d
teach overcloud-continue.sh about networker role
larsks Jul 13, 2018
e5dbb43
add networker network configuration
larsks Jul 13, 2018
ea55828
networkers should use default route from dhcp
larsks Jul 14, 2018
999fe94
create multiple networks in seed/user.yaml
larsks Jul 15, 2018
06fe40d
Merge pull request #6 from CCI-MOC/feature/custom-roles
larsks Jul 15, 2018
643a261
Enable Manila environment files in overcloud-deploy.sh
Jul 16, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,14 @@
templates/credentials.yaml
templates/overcloud_images.yaml
local_registry_images.yaml

overcloudrc*
patches/docker/*/Dockerfile
patches/docker/horizon/moc_theme/
patches/docker/overcloud_images.yaml
patches/tripleo-heat-templates/
puppet-modules.tar.gz
seed/credentials/
tempest-deployer-input.conf
templates/puppet_modules.yaml
templates/deploy.yaml
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
CUSTOM_ROLES = \
roles/ControllerDeployedServer.yaml \
roles/ComputeDeployedServer.yaml \
roles/NetworkerDeployedServer.yaml

CONTROLLER_SRC_ROLES = \
roles/ControllerOpenstack.yaml \
roles/Database.yaml \
roles/Messaging.yaml

ENVIRONMENTS = templates/deploy.yaml

%.html: %.md
$(PANDOC) -s $< -o $@ --toc --css github-pandoc.css

all: $(ENVIRONMENTS) roles_data.yaml

templates/deploy.yaml: templates/deploy.yaml.in
ansible-playbook -e @templates/credentials.yaml generate-deploy-files.yaml

roles_data.yaml: $(CUSTOM_ROLES)
openstack overcloud roles generate --roles-path roles -o $@ \
ControllerDeployedServer \
ComputeDeployedServer \
NetworkerDeployedServer
58 changes: 58 additions & 0 deletions Makefile.devel
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
PANDOC = pandoc

MDDOCS = README.md
HTMLDOCS = $(MDDOCS:.md=.html)
CUSTOM_ROLES = \
roles/ControllerDeployedServer.yaml \
roles/ComputeDeployedServer.yaml \
roles/NetworkerDeployedServer.yaml

CONTROLLER_SRC_ROLES = \
roles/ControllerOpenstack.yaml \
roles/Database.yaml \
roles/Messaging.yaml

COMPUTE_SRC_ROLES = \
roles/Compute.yaml

NETWORKER_SRC_ROLES = \
roles/Networker.yaml

%.html: %.md
$(PANDOC) -s $< -o $@ --toc --css docs/github-pandoc.css

all: $(CUSTOM_ROLES) $(ENVIRONMENTS)

doc: $(HTMLDOCS)

roles/ControllerDeployedServer.yaml: $(CONTROLLER_SRC_ROLES)
./scripts/merge-roles.py -o $@ \
-s OS::Local::Services::PatchPuppetModules \
-s OS::TripleO::Services::Securetty \
-s OS::TripleO::Services::ExternalSwiftProxy \
-x disable_constraints=true \
-x HostnameFormatDefault='%stackname%-controller-%index%' \
--remove-network Tenant \
ControllerDeployedServer \
$(CONTROLLER_SRC_ROLES)

roles/ComputeDeployedServer.yaml: $(COMPUTE_SRC_ROLES)
./scripts/merge-roles.py -o $@ \
-s OS::Local::Services::PatchPuppetModules \
-s OS::TripleO::Services::Securetty \
-x disable_constraints=true \
-x HostnameFormatDefault='%stackname%-compute-%index%' \
ComputeDeployedServer \
$(COMPUTE_SRC_ROLES)

roles/NetworkerDeployedServer.yaml: $(NETWORKER_SRC_ROLES)
./scripts/merge-roles.py -o $@ \
-s OS::Local::Services::PatchPuppetModules \
-s OS::TripleO::Services::Securetty \
-x disable_constraints=true \
-x HostnameFormatDefault='%stackname%-networker-%index%' \
NetworkerDeployedServer \
$(NETWORKER_SRC_ROLES)

clean:
rm -f $(HTMLDOCS) $(CUSTOM_ROLES)
88 changes: 65 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Boston University MoC Director Configuration
title: MOC OSP Director Configuration
---

## Hosts
Expand All @@ -14,14 +14,15 @@ This configuration will provision:

| Interface | VLAN | Tagged | CIDR | DHCP? | Description | Director network |
|-----------|------|--------|-------------------|-------|---------------------|------------------|
| eth0 | 4014 | N | | Y | foreman provisioning network | |
| eth1 | ? | N | | Y | bmi provisioning network | |
| eth1 | 3700 | Y | 192.168.16.0/22 | N | ceph public network | Storage |
| eth0 | ? | | | | unused ||
| eth1 | ? | | | | unused ||
| eth2 | 3699 | N | | Y | foreman provisioning network | |
| eth2 | 105 | Y | 192.12.185.0/24 | N | public API/horizon | External |
| eth2 | 3702 | Y | 192.168.32.0/22 | N | openstack api network | InternalApi |
| eth2 | 3703 | Y | 192.168.24.0/24 | N | director control plane | ControlPlane |
| eth2 | 3704 | Y | 192.168.12.0/22 | N | tenant networks | Tenant |
| eth2 | 3803 | Y | 128.31.28.0/24 | N | floating ip | |
| eth3 | 3700 | Y | 192.168.16.0/22 | N | ceph public network | Storage |

## Wrapper scripts

Expand All @@ -37,11 +38,21 @@ process of deploying RHOSP.
It generates the `templates/overcloud_images.yaml` environment file
that points the overcloud deploy at the local registry server.

This script is responsible for generating any patched Docker images
necessary for the deployment and pushing them into the local
registry.

- `overcloud-deploy.sh`

Runs the actual overcloud deploy. Ensures that the environment files
necessary to realize our overcloud configuration are provide on the
deploy command line.
Runs the actual overcloud deploy. Generate `templates/deploy.yaml`
from `templates/deploy.yaml.in` (mostly just injecting some
credentials). Ensures that the environment files necessary to
realize our overcloud configuration are provide on the deploy
command line.

Prior to running the `openstack overcloud deploy` command, this
script packages up any patched puppet modules and ensures that they
will be installed as part of the deploy process.

- `overcloud-continue.sh`

Expand All @@ -57,8 +68,8 @@ process of deploying RHOSP.
- `templates/network/network_data.yaml`

This overrides the stock list of overcloud networks. We disable the
"storage management", since we're running all of our storage traffic
over a single vlan.
"storage management" network, since we're running all of our storage
traffic over a single vlan.

- `templates/network/config/compute.yaml`

Expand All @@ -73,36 +84,67 @@ process of deploying RHOSP.
This configures the overcloud to use an existing Ceph cluster rather
than deploying a Ceph service as part of the overcloud.

- `templates/deploy.yaml`
- `templates/deploy.yaml.in`

This contains the bulk of our custom configuration (including
information about network address ranges and vlan ids).

- `templates/services/horizon.yaml`

This is a patched version of
`/usr/share/openstack-tripleo-heat-templates/docker/services/horizon.yaml`
that enables the Neutron LBaaS dashboard.

- `templates/extraconfig.yaml`

Contains some post-deploy actions required to finalize the network
configuration.
- `templates/postconfig.yaml`

- `templates/enable-lbaas-ui.yaml`
Contains post-deploy actions that take care of:

This replaces the stock `horizon.yaml` service template with our
local override.
- Finalizing the network configuration for br-ex
- Creating the necessary keystone resources to support openid
federation
- Creating some Nova flavors

- `templates/swift-external.yaml`

Configures the overcloud to use Ceph RadosGW for the object storage
service, rather than deploying Swift as part of the overcloud
install.

- `templates/services/patch-puppet-modules.yaml`

Deploys patched puppet modules (from `patches/puppet-modules`) onto
the overcloud nodes. This is a replacement for the existing
[DeployArtifacts][] feature, which was not suitable for this
purpose.

[deployartifacts]: http://hardysteven.blogspot.com/2016/08/tripleo-deploy-artifacts-and-puppet.html

- `templates/single-signon.yaml`

Configuration for enabling Keystone federated authentication.

### Credentials

The file `templates/credentials.yaml` is required by the
`overcloud-deploy.sh` script, but it does not exist in this
repository. This file contains all passwords, keys, and other secrets
required for the deployment.

## Patches

We are carrying several patches as part of our deployment.

### Keystone Docker Image

We are using a patched version of the Keystone docker image that
includes the `mod_auth_openidc` package to support Keystone
federation.

### Horizon Docker Image

We are using a patched version of the Horizon docker image in order to
support our custom theme.

### Puppet modules

While not included in this repository, we are also making use of
patches versions of `puppet-keystone` and `puppet-tripleo` in order to
support Keystone federation.

The changes can all be found at
https://review.openstack.org/#/q/status:open+topic:feature/keystone/openidc.

Loading