Retire stackforge/packstack-vagrant
This commit is contained in:
parent
3c6d701f2a
commit
0973c1cdcc
8
.gitignore
vendored
8
.gitignore
vendored
@ -1,8 +0,0 @@
|
||||
*.box
|
||||
config.yaml
|
||||
*.log
|
||||
.vagrant
|
||||
*.vdi
|
||||
.tox
|
||||
doc/build
|
||||
*egg*
|
@ -1,4 +0,0 @@
|
||||
[gerrit]
|
||||
host=review.openstack.org
|
||||
port=29418
|
||||
project=stackforge/packstack-vagrant.git
|
202
LICENSE
202
LICENSE
@ -1,202 +0,0 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright 2014-2015 B1 Systems GmbH
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
15
README.rst
15
README.rst
@ -1,12 +1,7 @@
|
||||
packstack-vagrant
|
||||
=================
|
||||
This project is no longer maintained.
|
||||
|
||||
This is a `Vagrant <https://www.vagrantup.com>`__ environment providing
|
||||
a `Packstack <https://github.com/stackforge/packstack>`__ installation
|
||||
on top of `CentOS <http://www.centos.org>`__.
|
||||
The contents of this repository are still available in the Git source code
|
||||
management system. To see the contents of this repository before it reached
|
||||
its end of life, please check out the previous commit with
|
||||
"git checkout HEAD^1".
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
.. image:: https://readthedocs.org/projects/packstack-vagrant/badge/?version=latest
|
||||
:target: http://packstack-vagrant.readthedocs.org/en/latest/
|
||||
|
112
Vagrantfile
vendored
112
Vagrantfile
vendored
@ -1,112 +0,0 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
require 'yaml'
|
||||
|
||||
unless defined? CONFIG
|
||||
configuration_file = File.join(File.dirname(__FILE__), 'config.yaml')
|
||||
CONFIG = YAML.load(File.open(configuration_file, File::RDONLY).read)
|
||||
end
|
||||
|
||||
CONFIG['box'] = {} unless CONFIG.key?('box')
|
||||
CONFIG['box']['name'] = 'b1-systems/centos-packstack' unless CONFIG['box'].key?('name')
|
||||
CONFIG['box']['storage_controller'] = 'SATA Controller' unless CONFIG['box'].key?('storage_controller')
|
||||
|
||||
def add_block_device(node, port, size)
|
||||
node.vm.provider 'virtualbox' do |vb|
|
||||
vb.customize ['createhd', '--filename', "#{node.vm.hostname}_#{port}.vdi",
|
||||
'--size', size]
|
||||
vb.customize ['storageattach', :id, '--storagectl',
|
||||
CONFIG['box']['storage_controller'], '--port', port,
|
||||
'--device', 0, '--type', 'hdd', '--medium',
|
||||
"#{node.vm.hostname}_#{port}.vdi"]
|
||||
end
|
||||
end
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
config.vm.box = CONFIG['box']['name']
|
||||
config.vm.synced_folder '.', '/vagrant', disabled: true
|
||||
config.vm.provider 'virtualbox' do |vb|
|
||||
vb.memory = CONFIG['resources']['memory']
|
||||
vb.cpus = CONFIG['resources']['vcpus']
|
||||
vb.customize ['modifyvm', :id, '--largepages', 'on']
|
||||
vb.customize ['modifyvm', :id, '--pae', 'off']
|
||||
end
|
||||
config.vm.provision 'ansible' do |ansible|
|
||||
ansible.playbook = 'playbook.yaml'
|
||||
ansible.extra_vars = {
|
||||
storage_backend: CONFIG['storage_backend']
|
||||
}
|
||||
end
|
||||
|
||||
if Vagrant.has_plugin?('vagrant-proxyconf') &&
|
||||
CONFIG['proxy'] != 'http://proxy.dummy.site:3128'
|
||||
config.proxy.enabled = true
|
||||
config.proxy.http = CONFIG['proxy']
|
||||
config.proxy.no_proxy = 'localhost,127.0.0.1'
|
||||
end
|
||||
|
||||
config.vbguest.auto_update = false if Vagrant.has_plugin?('vagrant-vbguest')
|
||||
|
||||
CONFIG['address']['compute'].each_with_index do |address, index|
|
||||
name = "compute#{index + 1}"
|
||||
config.vm.define name do |node|
|
||||
node.vm.hostname = name
|
||||
node.vm.network :private_network,
|
||||
ip: "10.0.0.2#{index}",
|
||||
virtualbox__intnet: 'tunnel'
|
||||
node.vm.network :public_network,
|
||||
ip: address,
|
||||
netmask: CONFIG['network']['external']['netmask'],
|
||||
bridge: CONFIG['network']['external']['bridge']
|
||||
end
|
||||
end
|
||||
|
||||
config.vm.define 'network' do |node|
|
||||
node.vm.hostname = 'network'
|
||||
node.vm.network :private_network,
|
||||
ip: '10.0.0.30',
|
||||
virtualbox__intnet: 'tunnel'
|
||||
node.vm.network :public_network,
|
||||
bridge: CONFIG['network']['external']['bridge'],
|
||||
auto_config: false
|
||||
end
|
||||
|
||||
config.vm.define 'storage' do |node|
|
||||
node.vm.hostname = 'storage'
|
||||
node.vm.network :public_network,
|
||||
ip: CONFIG['address']['storage'],
|
||||
netmask: CONFIG['network']['external']['netmask'],
|
||||
bridge: CONFIG['network']['external']['bridge']
|
||||
add_block_device(node, 1, CONFIG['resources']['storage'])
|
||||
add_block_device(node, 2, CONFIG['resources']['storage'])
|
||||
add_block_device(node, 3, CONFIG['resources']['storage'])
|
||||
end
|
||||
|
||||
config.vm.define 'controller', primary: true do |node|
|
||||
node.vm.hostname = 'controller'
|
||||
node.vm.network :public_network,
|
||||
ip: CONFIG['address']['controller'],
|
||||
netmask: CONFIG['network']['external']['netmask'],
|
||||
bridge: CONFIG['network']['external']['bridge']
|
||||
node.vm.provider 'virtualbox' do |vb|
|
||||
memory = CONFIG['resources']['memory'] * 2
|
||||
vcpus = CONFIG['resources']['vcpus'] * 2
|
||||
vb.customize ['modifyvm', :id, '--memory', memory]
|
||||
vb.customize ['modifyvm', :id, '--cpus', vcpus]
|
||||
end
|
||||
node.vm.provision 'shell', path: 'scripts/initialize.sh', privileged: false
|
||||
end
|
||||
end
|
@ -1,26 +0,0 @@
|
||||
---
|
||||
- yum: name=http://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm state=present
|
||||
- yum: name=git state=present
|
||||
when: development
|
||||
- git: repo=https://github.com/stackforge/packstack
|
||||
dest=/opt/packstack
|
||||
when: development
|
||||
- file: path=/opt/packstack owner=vagrant group=vagrant recurse=yes
|
||||
when: development
|
||||
- command: python setup.py install
|
||||
chdir=/opt/packstack
|
||||
when: development
|
||||
- command: python setup.py install_puppet_modules
|
||||
chdir=/opt/packstack
|
||||
when: development
|
||||
- yum: name=openstack-packstack state=present
|
||||
when: not development
|
||||
- template: src=files/openrc.j2 dest=/home/vagrant/openrc owner=vagrant group=vagrant mode=0644
|
||||
- lineinfile: dest=/home/vagrant/.bashrc line='source $HOME/openrc'
|
||||
- copy: src=files/scripts/nova_fake.sh dest=/home/vagrant/scripts/nova_fake.sh owner=vagrant group=vagrant mode=0755
|
||||
- copy: src=files/scripts/rally.sh dest=/home/vagrant/scripts/rally.sh owner=vagrant group=vagrant mode=0755
|
||||
- template: src=files/scripts/setup.sh.j2 dest=/home/vagrant/scripts/setup.sh owner=vagrant group=vagrant mode=0755
|
||||
- template: src=files/packstack.answers.j2 dest=/home/vagrant/packstack.answers owner=vagrant group=vagrant
|
||||
- copy: src=files/gitconfig dest=/home/vagrant/.gitconfig owner=vagrant group=vagrant mode=0644
|
||||
- file: src=/home/vagrant/.ssh/id_packstack dest=/home/vagrant/.ssh/id_rsa owner=vagrant group=vagrant state=link
|
||||
- file: src=/home/vagrant/.ssh/id_packstack.pub dest=/home/vagrant/.ssh/id_rsa.pub owner=vagrant group=vagrant state=link
|
@ -1,17 +0,0 @@
|
||||
---
|
||||
- lineinfile: dest=/etc/yum/pluginconf.d/fastestmirror.conf regexp=^enabled= line=enabled=0
|
||||
- yum: name=http://rdoproject.org/repos/openstack-kilo/rdo-release-kilo.rpm state=present
|
||||
- yum: name=* state=latest
|
||||
- yum: name={{ item }} state=present
|
||||
with_items:
|
||||
- openstack-selinux
|
||||
- vim
|
||||
- tcpdump
|
||||
- copy: src=files/id_rsa dest=/home/vagrant/.ssh/id_packstack mode=0600 owner=vagrant group=vagrant
|
||||
- copy: src=files/id_rsa.pub dest=/home/vagrant/.ssh/id_packstack.pub mode=0600 owner=vagrant group=vagrant
|
||||
- copy: src=files/selinux dest=/etc/selinux/config mode=0644 owner=root group=root
|
||||
- file: path=/home/vagrant/scripts state=directory owner=vagrant group=vagrant mode=0755
|
||||
- shell: cat /home/vagrant/.ssh/id_packstack.pub >> /home/vagrant/.ssh/authorized_keys
|
||||
- file: path=/home/vagrant/.ssh/authorized_keys owner=vagrant group=vagrant
|
||||
- copy: src=files/motd dest=/etc/motd owner=root group=root mode=0644
|
||||
- template: src=files/hosts.j2 dest=/etc/hosts owner=root group=root mode=0644
|
@ -1,11 +0,0 @@
|
||||
---
|
||||
- sysctl: name=net.ipv4.ip_forward value=1 state=present
|
||||
- yum: name=openvswitch state=present
|
||||
- service: name=openvswitch state=started enabled=yes
|
||||
- template: src=files/ifcfg-br-ex.j2 dest=/etc/sysconfig/network-scripts/ifcfg-br-ex
|
||||
- copy: src=files/ifcfg-enp0s9 dest=/etc/sysconfig/network-scripts/ifcfg-enp0s9
|
||||
- service: name=network state=restarted
|
||||
- command: /sbin/iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
|
||||
- command: /sbin/iptables -A FORWARD -i br-ex -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT
|
||||
- command: /sbin/iptables -A FORWARD -i br-ex -o enp0s3 -j ACCEPT
|
||||
- shell: /usr/sbin/iptables-save > /etc/sysconfig/iptables
|
@ -1,22 +0,0 @@
|
||||
---
|
||||
- yum: name=nfs-utils state=present
|
||||
- yum: name=xfsprogs state=present
|
||||
- filesystem: fstype=xfs dev=/dev/{{ item }} force=yes
|
||||
with_items:
|
||||
- sdb
|
||||
- sdc
|
||||
- sdd
|
||||
- mount: name=/export src=/dev/sdb fstype=xfs state=mounted
|
||||
- file: path=/export state=directory mode=0777
|
||||
- copy: src=files/exports dest=/etc/exports mode=0644 owner=root group=root
|
||||
- service: name=rpcbind state=started enabled=yes
|
||||
- service: name=nfs-server state=started enabled=yes
|
||||
- service: name=nfs-lock state=started enabled=yes
|
||||
when: ansible_distribution_version == '7.0.1406'
|
||||
- service: name=rpc-statd state=started enabled=yes
|
||||
when: ansible_distribution_version == '7.1.1503'
|
||||
- service: name=nfs-idmap state=started enabled=yes
|
||||
when: ansible_distribution_version == '7.0.1406'
|
||||
- service: name=nfs-idmapd state=started enabled=yes
|
||||
when: ansible_distribution_version == '7.1.1503'
|
||||
- command: /usr/sbin/exportfs -a
|
@ -1,51 +0,0 @@
|
||||
---
|
||||
box:
|
||||
name: boxcutter/centos71
|
||||
storage_controller: 'SATA Controller'
|
||||
debug: false
|
||||
development: false
|
||||
network:
|
||||
type: gre
|
||||
agent: openvswitch
|
||||
tunnel_interface: enp0s8
|
||||
dns1: 208.67.222.222
|
||||
dns2: 208.67.220.220
|
||||
internal:
|
||||
network: 192.168.200.0/24
|
||||
external:
|
||||
start: 10.100.50.100
|
||||
end: 10.100.50.200
|
||||
network: 10.100.50.0/16
|
||||
bridge: tap0
|
||||
netmask: 255.255.0.0
|
||||
broadcast: 10.100.255.255
|
||||
secret: password
|
||||
proxy: http://proxy.dummy.site:3128
|
||||
storage_backend: nfs
|
||||
address:
|
||||
controller: 10.100.50.10
|
||||
network: 10.100.50.30
|
||||
storage: 10.100.50.40
|
||||
compute:
|
||||
- 10.100.50.20
|
||||
- 10.100.50.21
|
||||
ntp:
|
||||
- 0.pool.ntp.org
|
||||
- 1.pool.ntp.org
|
||||
- 2.pool.ntp.org
|
||||
- 3.pool.ntp.org
|
||||
resources:
|
||||
memory: 4096
|
||||
vcpus: 2
|
||||
storage: 65536
|
||||
components:
|
||||
ceilometer: true
|
||||
cinder: true
|
||||
heat: true
|
||||
horizon: true
|
||||
ironic: false
|
||||
nagios: true
|
||||
sahara: false
|
||||
swift: true
|
||||
tempest: false
|
||||
trove: false
|
@ -1,31 +0,0 @@
|
||||
# --- Packstack environment ---
|
||||
|
||||
Host controller
|
||||
HostName 10.100.50.10
|
||||
Port 22
|
||||
User vagrant
|
||||
IdentityFile ~/.ssh/id_rsa.packstack
|
||||
|
||||
Host compute1
|
||||
HostName 10.100.50.20
|
||||
Port 22
|
||||
User vagrant
|
||||
IdentityFile ~/.ssh/id_rsa.packstack
|
||||
|
||||
Host compute2
|
||||
HostName 10.100.50.21
|
||||
Port 22
|
||||
User vagrant
|
||||
IdentityFile ~/.ssh/id_rsa.packstack
|
||||
|
||||
Host network
|
||||
HostName 10.100.50.30
|
||||
Port 22
|
||||
User vagrant
|
||||
IdentityFile ~/.ssh/id_rsa.packstack
|
||||
|
||||
Host storage
|
||||
HostName 10.100.50.40
|
||||
Port 22
|
||||
User vagrant
|
||||
IdentityFile ~/.ssh/id_rsa.packstack
|
@ -1,36 +0,0 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.abspath('../..'))
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'packstack-vagrant'
|
||||
copyright = u'2014-2015, B1 Systems GmbH'
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = '%sdoc' % project
|
||||
|
||||
# The "theme" that the HTML output should use.
|
||||
html_theme = "default"
|
@ -1,192 +0,0 @@
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Copy the sample configuration file ``config.yaml.sample`` to
|
||||
``config.yaml`` and adjust the file accordingly.
|
||||
|
||||
Base box
|
||||
--------
|
||||
|
||||
In theory (not tested) it is possible to use RHEL or Fedora instead of
|
||||
CentOS. By default the box ``boxcutter/centos71`` will be used.
|
||||
|
||||
::
|
||||
|
||||
box:
|
||||
name: boxcutter/centos71
|
||||
|
||||
To change the used base box modify the value of ``name``. A list
|
||||
of public available boxes is available on
|
||||
`Atlas <https://atlas.hashicorp.com/>`__.
|
||||
|
||||
Depending on the used base box you have to set the used storage
|
||||
controller (``SATA Controller`` by default). The
|
||||
storage controller of the used base box must support at least three ports.
|
||||
|
||||
::
|
||||
|
||||
box:
|
||||
name: boxcutter/centos71
|
||||
storage_controller: 'SATA Controller'
|
||||
|
||||
|
||||
Networking
|
||||
----------
|
||||
|
||||
Networks
|
||||
~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
network:
|
||||
dns1: 208.67.222.222
|
||||
dns2: 208.67.220.220
|
||||
internal:
|
||||
network: 192.168.200.0/24
|
||||
external:
|
||||
start: 10.100.50.100
|
||||
end: 10.100.50.200
|
||||
network: 10.100.50.0/16
|
||||
bridge: tap0
|
||||
netmask: 255.255.0.0
|
||||
broadcast: 10.100.255.255
|
||||
|
||||
Addresses
|
||||
~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
address:
|
||||
controller: 10.100.50.10
|
||||
network: 10.100.50.30
|
||||
storage: 10.100.50.40
|
||||
compute:
|
||||
- 10.100.50.20
|
||||
- 10.100.50.21
|
||||
|
||||
To increase the number of compute nodes add more addresses to the
|
||||
``compute`` list.
|
||||
|
||||
L2 agent
|
||||
~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
network:
|
||||
agent: openvswitch
|
||||
|
||||
Tenant networks
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
network:
|
||||
type: gre
|
||||
|
||||
Clock synchronization (NTP)
|
||||
---------------------------
|
||||
|
||||
Accurate clocks on every node are very important. Default is the the
|
||||
usage of the `NTP Pool Project <http://www.pool.ntp.org/en/use.html>`__.
|
||||
|
||||
::
|
||||
|
||||
ntp:
|
||||
- 0.pool.ntp.org
|
||||
- 1.pool.ntp.org
|
||||
- 2.pool.ntp.org
|
||||
- 3.pool.ntp.org
|
||||
|
||||
Resources
|
||||
---------
|
||||
|
||||
Default resources defined in ``~/.vagrant.d/Vagrantfile`` or the
|
||||
``Vagrantfile`` provided by the base box will be overwritten. Resources
|
||||
assigned to the controller node will be multiplied by two and additional
|
||||
block storage devices will be attached to the controller and NFS nodes.
|
||||
|
||||
::
|
||||
|
||||
resources:
|
||||
memory: 4096
|
||||
vcpus: 2
|
||||
storage: 65536
|
||||
|
||||
Development version
|
||||
-------------------
|
||||
|
||||
To use the development version (``master``) of Packstack set
|
||||
``development: true``.
|
||||
|
||||
Debug mode
|
||||
----------
|
||||
|
||||
To enable the debug mode for the deployed services set ``debug: true``.
|
||||
|
||||
Storage backend
|
||||
---------------
|
||||
|
||||
At the moment NFS is the only supported storage backend. Support for
|
||||
Ceph will be added in the future (at the moment Ceph is not supported as
|
||||
a storage backend in Packstack).
|
||||
|
||||
Timezone
|
||||
--------
|
||||
|
||||
At the moment it is not possible to configure the timezone with
|
||||
Packstack.
|
||||
|
||||
Caching / Proxying
|
||||
------------------
|
||||
|
||||
To speed up the provisioning the Vagrant plugin
|
||||
`vagrant-proxyconf <https://github.com/tmatilai/vagrant-proxyconf/>`__
|
||||
configures a HTTP proxy to be used by ``yum``.
|
||||
|
||||
::
|
||||
|
||||
$ vagrant plugin install vagrant-proxyconf
|
||||
|
||||
When the plugin is installed caching/proxying is not enabled by default. To
|
||||
enable caching/proxying ``proxy`` has to point to an existing HTTP proxy
|
||||
server.
|
||||
|
||||
::
|
||||
|
||||
proxy: http://proxy.company.site:3128
|
||||
|
||||
Components
|
||||
----------
|
||||
|
||||
It is possible to enable or disable the components ``ceilometer``, ``cinder``,
|
||||
``heat``, ``horizon``, ``ironic``, ``nagios``, ``sahara``, ``swift``,
|
||||
``tempest``, and ``trove``.
|
||||
|
||||
For example to disable the component ``heat`` set ``heat`` to ``false``.
|
||||
|
||||
For example to enable the component ``trove`` set ``trove`` to ``true``.
|
||||
|
||||
::
|
||||
|
||||
components:
|
||||
ceilometer: true
|
||||
cinder: true
|
||||
heat: true
|
||||
horizon: true
|
||||
ironic: false
|
||||
nagios: true
|
||||
sahara: false
|
||||
swift: true
|
||||
tempest: false
|
||||
trove: false
|
||||
|
||||
Passwords and tokens
|
||||
--------------------
|
||||
|
||||
For simplification ``packstack-vagrant`` uses the same secret for all used
|
||||
passwords and tokens. By default this secret is ``password``. To change the
|
||||
secret change the value of the parameter ``secret``.
|
||||
|
||||
::
|
||||
|
||||
secret: password
|
@ -1,12 +0,0 @@
|
||||
Contributing
|
||||
============
|
||||
|
||||
Details how to contribute are available in the
|
||||
`OpenStack infrastructure manual <http://docs.openstack.org/infra/manual/developers.html>`__.
|
||||
|
||||
Changes be submitted for review via the Gerrit tool, following the workflow
|
||||
documented in the
|
||||
`OpenStack infrastructure manual <http://docs.openstack.org/infra/manual/developers.html#development-workflow>`__.
|
||||
|
||||
Bugs and feature requests should be filed on
|
||||
`Launchpad <https://launchpad.net/packstack-vagrant.>`__, not GitHub:
|
@ -1,22 +0,0 @@
|
||||
Welcome to packstack-vagrant's documentation!
|
||||
=============================================
|
||||
|
||||
This is a `Vagrant <https://www.vagrantup.com>`__ environment providing
|
||||
a `Packstack <https://github.com/stackforge/packstack>`__ installation
|
||||
on top of `CentOS <http://www.centos.org>`__.
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
requirements
|
||||
configuration
|
||||
initialization
|
||||
usage
|
||||
contributing
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
* :ref:`search`
|
@ -1,19 +0,0 @@
|
||||
Initialization
|
||||
==============
|
||||
|
||||
::
|
||||
|
||||
$ vagrant up
|
||||
|
||||
- The installation log file is available at:
|
||||
``/var/tmp/packstack/YYMMDD-HHMMSS-abcdef/openstack-setup.log``
|
||||
- The generated manifests are available at:
|
||||
``/var/tmp/packstack/YYMMDD-HHMMSS-abcdef/manifests``
|
||||
|
||||
After the successful deployment you can run the ``setup.sh`` script
|
||||
on the controller node as the unprivileged user ``vagrant``
|
||||
(``vagrant ssh controller``) to add cloud images etc. pp.
|
||||
|
||||
::
|
||||
|
||||
$ /home/vagrant/scripts/setup.sh
|
@ -1,34 +0,0 @@
|
||||
Requirements
|
||||
============
|
||||
|
||||
Vagrant
|
||||
-------
|
||||
|
||||
The installation of Vagrant is documented in the `Vagrant
|
||||
documentation <https://docs.vagrantup.com/v2/installation/index.html>`__.
|
||||
Ensure to use at least version ``1.7.4`` of Vagrant.
|
||||
|
||||
::
|
||||
|
||||
$ vagrant --version
|
||||
Vagrant 1.7.4
|
||||
|
||||
Vagrant plugins
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
If you want to use an external HTTP proxy server for caching/proxying install
|
||||
the Vagrant plugin ``vagrant-proxyconf``.
|
||||
|
||||
::
|
||||
|
||||
$ vagrant plugin install vagrant-proxyconf
|
||||
|
||||
Ansible
|
||||
-------
|
||||
|
||||
The used provisioner is `Ansible <http://www.ansible.com>`__. To be able
|
||||
to start this Vagrant environment install Ansible on the Vagrant host.
|
||||
|
||||
::
|
||||
|
||||
$ sudo yum install -y ansible
|
@ -1,50 +0,0 @@
|
||||
Usage
|
||||
=====
|
||||
|
||||
|
||||
Credentials
|
||||
-----------
|
||||
|
||||
- The password for the OpenStack user ``admin`` in the tenant ``admin``
|
||||
is ``password``.
|
||||
- The password for the Nagios user ``nagiosadmin`` is ``password``.
|
||||
|
||||
Webinterfaces
|
||||
-------------
|
||||
|
||||
- The OpenStack Dashboard is available on the controller node, by
|
||||
default at http://10.100.50.10/dashboard/.
|
||||
- The webinterface of Nagios is available on the controller node, by
|
||||
default at http://10.100.50.10/nagios/.
|
||||
|
||||
CLIs
|
||||
----
|
||||
|
||||
All command line interfaces are installed on the controller node.
|
||||
|
||||
APIs
|
||||
----
|
||||
|
||||
All OpenStack API services are running on the controller node with the
|
||||
default IP address ``10.100.50.10``.
|
||||
|
||||
Helper scripts
|
||||
--------------
|
||||
|
||||
All helper scripts can be found on the ``controller`` node in the
|
||||
``/home/vagrant/scripts`` directory.
|
||||
|
||||
Rally
|
||||
~~~~~
|
||||
|
||||
Install `Rally <https://github.com/openstack/rally>`_, a framework for
|
||||
performance analysis and benchmarking of individual OpenStack components,
|
||||
with ``/home/vagrant/scripts/rally.sh`` to ``/opt/rally``. The directory
|
||||
is accessible through the webserver, by default at http://10.100.50.10/rally/.
|
||||
|
||||
Fake Drivers
|
||||
~~~~~~~~~~~~
|
||||
|
||||
To enable the `fake drivers <http://docs.openstack.org/developer/nova/devref/fakes.html>`_
|
||||
for the ``nova-compute`` service on all compute nodes run the
|
||||
script ``/home/vagrant/scripts/nova_fake.sh``.
|
@ -1 +0,0 @@
|
||||
/export 10.100.50.0/16(rw,fsid=0,no_subtree_check,sync,no_root_squash)
|
@ -1,5 +0,0 @@
|
||||
[user]
|
||||
name = packstack-vagrant
|
||||
email = vagrant@controller
|
||||
[push]
|
||||
default = simple
|
@ -1,11 +0,0 @@
|
||||
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
|
||||
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
|
||||
|
||||
# <<< Packstack >>>
|
||||
{% for name in ['controller', 'network', 'storage'] %}
|
||||
{{ address[name] }} {{ name }}.site {{ name }}
|
||||
{% endfor %}
|
||||
{% for ip in address['compute'] %}
|
||||
{{ ip }} compute{{ loop.index }}.site compute{{ loop.index }}
|
||||
{% endfor %}
|
||||
# >>> Packstack <<<
|
27
files/id_rsa
27
files/id_rsa
@ -1,27 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEowIBAAKCAQEA1nWq2oUYWBkVyQj0izl/9xUvMBAF4mgikJGaPnbPUxByc4/3
|
||||
NbwMin8BL3za5v3uV7jqMzUP78AF3mLIyaQcAoSRAfpP4gWJ1VihRhJWYQQadTfb
|
||||
NNoHpB2eCnWhoTt+dQJC/jIV79SCNaufeYgiftH1fzLZNUJBmYZ0xtR+G+bfFbu/
|
||||
O/4qKRgf7S3hUB5ka9Cq8u38RZm6T1O5k4wxyXvGsI4qleVQFioPSE+z0VFggfn0
|
||||
6ue4556EALsuvmBdGvg8NerGwAV0VT11kSBLncPdNhn6AqDQx4tFR6nNTnNEQTuE
|
||||
11pmFMQV+mdNZHQvaIGN972oisKq6FXox5avwQIDAQABAoIBAQCOJA0qql5ZPb8X
|
||||
sKzMfj7XWB4ff+82gYivQyH1Vq/RQSxqdbgG0G2LeeQiQmGgChvn3nKzn+7BHAeH
|
||||
vveP1gqOjKjDo9FAYCVb11OE6vB/esXCfVP3sq6v0sWF7zNCdvk4ulgGvNGXVMU8
|
||||
p1Saq2UZozVQqjYWu6RZCinqArrW6DbCMoGP8nd2zIQLB+73bUmmRwT7zwJjMC3f
|
||||
bm2ehQTesrtINJPivLqDdBhLj6WAw6TVnxJGTwW9ovlXXUNYY4D1p1xe+JXRWOLp
|
||||
AwjOD2auqN2XUfF/Wqq2SDC3ExOxozr3aVJkPOZz0f6qWUwP2urja3gbf//h9IG4
|
||||
NklPNZk1AoGBAO0tFhJssvJ5v4rxRseIg8K72OwRCmxl6PA1f+hS9hGh0yU1jB6o
|
||||
Tfh/9YLlwK1aZykjch4zwn5RH6qg2fzMfUpiXNZ6p055rZwZMa9QUR4Vw4uE9CFe
|
||||
RAWNN9czNOUDUjUejo+gIJsTOUE2QcH4wU1NdsPIkTQznf74zUxrknIvAoGBAOd7
|
||||
B9oX6576+obsr4Srb+KJghQZTnDv6Yzf6MfVqsA6AH4aBJkVbB95B0T2auEk0/zu
|
||||
xuCRN+lIKNgTcS1ioeBLa6EyJj0lDtDNp0coQuHkfHXUlTZxVbQXAxaro+2HVqnn
|
||||
P7KdZTaBvjVmw01InURck6jTo76SCqE3hhpZiTEPAoGAWT9O/+3hRHblyc3S2YCY
|
||||
PC3dia874eBTUBiBohWdvLLNNkI5EMw6UtkrtG7qGxFaolNRPOYzOL8kEFvoy0TT
|
||||
nKr4zkhnLpOA7a1ZUeQCMjT0WUrVZr0HEaO7MIJ3U/n09EIkWQ1jV5dbQxu8kNYf
|
||||
Pwx4NWICqccGnAxZjHkqKUcCgYAtB7z+Szr14WMNDkwSpfsM+a0JVebxh2pKkmBJ
|
||||
R6KA5IemAE+2q/ktojCs1Lbz92MZyCV+GCHlSrlPV3Dj4FUXOfTFFelkaaoZKniJ
|
||||
GibwpK8liOZCAggnEXbzWQ55raNJSAgXKhE/ajvjTYtepGqbmtrKs+kdsHFK7W8z
|
||||
/wj2NwKBgAOxCb1bYpMa/X9LLdMD7HkZmXwNgSTrjAHD4FCzYmRNf2KxUZ+PLBhR
|
||||
iB9FmZLB8dBPG8fdboaZFvubRqGAbUAtPSM0aWV9/Cs4fmngiL4CjS2H8yTlL2D4
|
||||
HbVYPSl3qhwq4gaRMm5QCM6hQ2UCkRvQllDt8Shziszsz7YPZWM8
|
||||
-----END RSA PRIVATE KEY-----
|
@ -1 +0,0 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWdarahRhYGRXJCPSLOX/3FS8wEAXiaCKQkZo+ds9TEHJzj/c1vAyKfwEvfNrm/e5XuOozNQ/vwAXeYsjJpBwChJEB+k/iBYnVWKFGElZhBBp1N9s02gekHZ4KdaGhO351AkL+MhXv1II1q595iCJ+0fV/Mtk1QkGZhnTG1H4b5t8Vu787/iopGB/tLeFQHmRr0Kry7fxFmbpPU7mTjDHJe8awjiqV5VAWKg9IT7PRUWCB+fTq57jnnoQAuy6+YF0a+Dw16sbABXRVPXWRIEudw902GfoCoNDHi0VHqc1Oc0RBO4TXWmYUxBX6Z01kdC9ogY33vaiKwqroVejHlq/B
|
@ -1,10 +0,0 @@
|
||||
NM_CONTROLLED=no
|
||||
DEVICE=br-ex
|
||||
DEVICETYPE=ovs
|
||||
TYPE=OVSBridge
|
||||
BOOTPROTO=static
|
||||
IPADDR={{ address.network }}
|
||||
NETMASK={{ network.external.netmask }}
|
||||
BROADCAST={{ network.external.broadcast }}
|
||||
DNS1={{ network.dns1 }}
|
||||
DNS2={{ network.dns2 }}
|
@ -1,6 +0,0 @@
|
||||
NM_CONTROLLED=no
|
||||
DEVICE=enp0s9
|
||||
TYPE=OVSPort
|
||||
DEVICETYPE=ovs
|
||||
OVS_BRIDGE=br-ex
|
||||
ONBOOT=yes
|
@ -1,6 +0,0 @@
|
||||
____ _ ____ _ ______ _____ _ ____ _ __
|
||||
| _ \ / \ / ___| |/ / ___|_ _|/ \ / ___| |/ /
|
||||
| |_) / _ \| | | ' /\___ \ | | / _ \| | | ' /
|
||||
| __/ ___ \ |___| . \ ___) || |/ ___ \ |___| . \
|
||||
|_| /_/ \_\____|_|\_\____/ |_/_/ \_\____|_|\_\
|
||||
|
@ -1,5 +0,0 @@
|
||||
export OS_USERNAME=admin
|
||||
export OS_TENANT_NAME=admin
|
||||
export OS_PASSWORD=password
|
||||
export OS_AUTH_URL=http://{{ address.controller }}:5000/v2.0/
|
||||
export OS_REGION_NAME=RegionOne
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
for node in $(sed -n '/<<< Packstack >>>/{:a;n;/>>> Packstack <<</b;p;ba}' /etc/hosts | grep compute | awk '{ print $2 }'); do
|
||||
ssh $node 'sudo crudini --set /etc/nova/nova.conf DEFAULT compute_driver fake.FakeDriver'
|
||||
ssh $node 'sudo systemctl restart openstack-nova-compute.service'
|
||||
done
|
@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# https://rally.readthedocs.org/en/latest/install.html#automated-installation
|
||||
|
||||
cd /opt
|
||||
sudo yum install -y git gcc libffi-devel python-devel openssl-devel gmp-devel libxml2-devel libxslt-devel postgresql-devel
|
||||
sudo git clone https://git.openstack.org/openstack/rally
|
||||
sudo chown -R vagrant:vagrant rally
|
||||
sudo ./rally/install_rally.sh
|
||||
sudo chown -R vagrant:vagrant /etc/rally /var/lib/rally
|
||||
rally-manage db recreate
|
||||
source /home/vagrant/openrc
|
||||
rally deployment create --fromenv --name=packstack
|
||||
rally deployment check
|
||||
|
||||
cat <<EOT | sudo tee /etc/httpd/conf.d/rally.conf
|
||||
Alias /rally "/opt/rally"
|
||||
<Directory "/opt/rally">
|
||||
Options +Indexes
|
||||
AllowOverride None
|
||||
Require all granted
|
||||
</Directory>
|
||||
EOT
|
||||
|
||||
sudo sed -i "s#</VirtualHost># Include /etc/httpd/conf.d/rally.conf\n</VirtualHost>#" /etc/httpd/conf.d/15-horizon_vhost.conf
|
||||
sudo systemctl restart httpd
|
@ -1,30 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
source /home/vagrant/openrc
|
||||
|
||||
glance image-create --name "Fedora 22" --disk-format qcow2 --container-format bare --is-public True --copy http://ftp-stud.hs-esslingen.de/pub/fedora/linux/releases/22/Cloud/x86_64/Images/Fedora-Cloud-Base-22-20150521.x86_64.qcow2
|
||||
glance image-create --name "Ubuntu 14.04" --disk-format qcow2 --container-format bare --is-public True --copy https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
|
||||
glance image-create --name "CentOS 7" --disk-format qcow2 --container-format bare --is-public True --copy http://cloud.centos.org/centos/7/devel/CentOS-7-x86_64-GenericCloud.qcow2
|
||||
glance image-create --name "Cirros 0.3.4" --disk-format qcow2 --container-format bare --is-public True --copy http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
|
||||
glance image-create --name "Debian Jessie" --disk-format qcow2 --container-format bare --is-public True --copy http://cdimage.debian.org/cdimage/openstack/testing/debian-testing-openstack-amd64.qcow2
|
||||
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
|
||||
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
|
||||
nova keypair-add --pub_key /home/vagrant/.ssh/id_rsa.pub default
|
||||
nova flavor-show m1.nano > /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
nova flavor-create m1.nano 42 64 0 1
|
||||
fi
|
||||
nova flavor-show m1.micro > /dev/null
|
||||
if [[ $? -ne 0 ]]; then
|
||||
nova flavor-create m1.micro 84 128 0 1
|
||||
fi
|
||||
|
||||
openstack role add admin --project services --user admin
|
||||
OS_TENANT_NAME=services neutron net-create floating001 --router:external --provider:physical_network external --provider:network_type flat
|
||||
OS_TENANT_NAME=services neutron subnet-create --name floating001 --allocation-pool start={{ network.external.start }},end={{ network.external.end }} --disable-dhcp --gateway {{ address.network }} --dns-nameserver {{ network.dns1 }} --dns-nameserver {{ network.dns2 }} floating001 {{ network.external.network }}
|
||||
|
||||
neutron net-create internal001
|
||||
neutron subnet-create --name internal001 --dns-nameserver {{ network.dns1 }} --dns-nameserver {{ network.dns2 }} internal001 {{ network.internal.network }}
|
||||
neutron router-create internal001
|
||||
neutron router-interface-add internal001 internal001
|
||||
neutron router-gateway-set internal001 floating001
|
@ -1,11 +0,0 @@
|
||||
# This file controls the state of SELinux on the system.
|
||||
# SELINUX= can take one of these three values:
|
||||
# enforcing - SELinux security policy is enforced.
|
||||
# permissive - SELinux prints warnings instead of enforcing.
|
||||
# disabled - No SELinux policy is loaded.
|
||||
SELINUX=permissive
|
||||
# SELINUXTYPE= can take one of these two values:
|
||||
# targeted - Targeted processes are protected,
|
||||
# minimum - Modification of targeted policy. Only selected processes are protected.
|
||||
# mls - Multi Level Security protection.
|
||||
SELINUXTYPE=targeted
|
@ -1,11 +0,0 @@
|
||||
- hosts: all
|
||||
sudo: True
|
||||
tasks:
|
||||
- include_vars: config.yaml
|
||||
- include: ansible/initialize.yaml
|
||||
- include: ansible/controller.yaml
|
||||
when: inventory_hostname_short == 'controller'
|
||||
- include: ansible/network.yaml
|
||||
when: inventory_hostname_short == 'network'
|
||||
- include: ansible/storage.yaml
|
||||
when: inventory_hostname_short == 'storage'
|
@ -1,21 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import sys
|
||||
|
||||
import yaml
|
||||
|
||||
sys.tracebacklimit = 0
|
||||
yaml.load(open("config.yaml.sample"))
|
@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
for node in $(sed -n '/<<< Packstack >>>/{:a;n;/>>> Packstack <<</b;p;ba}' /etc/hosts | awk '{ print $2 }'); do
|
||||
ssh-keyscan $node >> /home/vagrant/.ssh/known_hosts
|
||||
done
|
||||
|
||||
for node in $(sed -n '/<<< Packstack >>>/{:a;n;/>>> Packstack <<</b;p;ba}' /etc/hosts | awk '{ print $3 }'); do
|
||||
ssh-keyscan $node >> /home/vagrant/.ssh/known_hosts
|
||||
done
|
||||
|
||||
chown vagrant:vagrant /home/vagrant/.ssh/known_hosts
|
||||
|
||||
for node in $(sed -n '/<<< Packstack >>>/{:a;n;/>>> Packstack <<</b;p;ba}' /etc/hosts | awk '{ print $2 }'); do
|
||||
ssh -i $HOME/.ssh/id_packstack $node "sudo mkdir -p /root/.ssh"
|
||||
ssh -i $HOME/.ssh/id_packstack $node "sudo chmod 700 /root/.ssh"
|
||||
ssh -i $HOME/.ssh/id_packstack $node "sudo cp /home/vagrant/.ssh/* /root/.ssh"
|
||||
ssh -i $HOME/.ssh/id_packstack $node "sudo chown -R root:root /root/.ssh"
|
||||
done
|
||||
|
||||
packstack --answer-file /home/vagrant/packstack.answers
|
21
setup.cfg
21
setup.cfg
@ -1,21 +0,0 @@
|
||||
[metadata]
|
||||
name = packstack-vagrant
|
||||
summary = Vagrant environment providing a Packstack installation
|
||||
description-file = README.rst
|
||||
author = Christian Berendt
|
||||
author-email = berendt@b1-systems.de
|
||||
home-page = https://github.com/stackforge/packstack-vagrant
|
||||
classifier =
|
||||
Environment :: OpenStack
|
||||
Intended Audience :: Information Technology
|
||||
Intended Audience :: System Administrators
|
||||
License :: OSI Approved :: Apache Software License
|
||||
Operating System :: POSIX :: Linux
|
||||
|
||||
[build_sphinx]
|
||||
source-dir = doc/source
|
||||
build-dir = doc/build
|
||||
all_files = 1
|
||||
|
||||
[upload_sphinx]
|
||||
upload-dir = doc/build/html
|
20
setup.py
20
setup.py
@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import setuptools
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['pbr'],
|
||||
pbr=True)
|
@ -1,9 +0,0 @@
|
||||
PyYAML
|
||||
Pygments
|
||||
ansible
|
||||
bashate
|
||||
doc8
|
||||
docutils
|
||||
hacking
|
||||
pbr>=0.6,!=0.7,<1.0
|
||||
sphinx
|
@ -1,2 +0,0 @@
|
||||
[local]
|
||||
127.0.0.1
|
31
tox.ini
31
tox.ini
@ -1,31 +0,0 @@
|
||||
[tox]
|
||||
minversion = 1.6
|
||||
envlist = docs,lint
|
||||
skipsdist = True
|
||||
|
||||
[testenv]
|
||||
usedevelop = False
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
install_command = pip install {opts} {packages}
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
||||
|
||||
[testenv:docs]
|
||||
commands = python setup.py build_sphinx
|
||||
|
||||
[testenv:lint]
|
||||
whitelist_externals = bash
|
||||
commands =
|
||||
ansible-playbook --syntax-check -i tests/hosts.test playbook.yaml
|
||||
bash -c "find {toxinidir} \
|
||||
\( -wholename \*/files/\*.sh -or \
|
||||
-wholename \*/scripts/\*.sh \) -print0 | \
|
||||
xargs -0 bashate -v"
|
||||
doc8 -e rst doc README.rst
|
||||
flake8
|
||||
python scripts/check_yaml_syntax.py config.yaml.sample
|
||||
|
||||
[flake8]
|
||||
show-source = True
|
||||
exclude=.venv,.git,.tox,*egg*
|
Loading…
x
Reference in New Issue
Block a user