Retire stackforge/packstack-vagrant
This commit is contained in:
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
|
The contents of this repository are still available in the Git source code
|
||||||
a `Packstack <https://github.com/stackforge/packstack>`__ installation
|
management system. To see the contents of this repository before it reached
|
||||||
on top of `CentOS <http://www.centos.org>`__.
|
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*
|
|
Reference in New Issue
Block a user