polytrix 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.groc.json +7 -0
- data/.rspec +11 -0
- data/.rspec_parallel +10 -0
- data/Gemfile +23 -0
- data/README.md +48 -0
- data/Rakefile +143 -0
- data/Vagrantfile +41 -0
- data/features/0_identity_spec.rb +40 -0
- data/features/1_cloud_files_spec.rb +48 -0
- data/features/2_servers_spec.rb +19 -0
- data/features/features_helper.rb +46 -0
- data/features/helpers/cloudfiles_helper.rb +31 -0
- data/features/helpers/pacto_helper.rb +33 -0
- data/features/helpers/teardown_helper.rb +49 -0
- data/features/pacto/extensions/loaders/api_blueprint_loader.rb +63 -0
- data/features/pacto/extensions/loaders/simple_loader.rb +55 -0
- data/features/pacto/extensions/loaders/yaml_or_json_loader.rb +17 -0
- data/features/pacto/extensions/matchers.rb +38 -0
- data/features/phase2/feature_coverage_report.rb +109 -0
- data/features/phase2/run_all_features.rb +14 -0
- data/features/static_site/fixtures/index.html +6 -0
- data/lib/polytrix/challenge.rb +27 -0
- data/lib/polytrix/challenge_builder.rb +16 -0
- data/lib/polytrix/challenge_runner.rb +87 -0
- data/lib/polytrix/configuration.rb +31 -0
- data/lib/polytrix/core/file_finder.rb +43 -0
- data/lib/polytrix/core/implementor.rb +17 -0
- data/lib/polytrix/core/result_tracker.rb +25 -0
- data/lib/polytrix/documentation_generator.rb +18 -0
- data/lib/polytrix/manifest.rb +46 -0
- data/lib/polytrix/result.rb +9 -0
- data/lib/polytrix/rspec/documentation_formatter.rb +41 -0
- data/lib/polytrix/rspec.rb +75 -0
- data/lib/polytrix/runners/linux_challenge_runner.rb +22 -0
- data/lib/polytrix/runners/middleware/change_directory.rb +20 -0
- data/lib/polytrix/runners/middleware/feature_executor.rb +23 -0
- data/lib/polytrix/runners/middleware/pacto.rb +59 -0
- data/lib/polytrix/runners/middleware/setup_env_vars.rb +38 -0
- data/lib/polytrix/runners/windows_challenge_runner.rb +25 -0
- data/lib/polytrix/version.rb +3 -0
- data/lib/polytrix.rb +56 -0
- data/packer/.gitignore +3 -0
- data/packer/Berksfile +15 -0
- data/packer/Gemfile +5 -0
- data/packer/Vagrantfile +128 -0
- data/packer/cookbooks/drg/metadata.rb +27 -0
- data/packer/cookbooks/drg/recipes/admins.rb +22 -0
- data/packer/cookbooks/drg/recipes/default.rb +9 -0
- data/packer/cookbooks/drg/recipes/dotnet.rb +4 -0
- data/packer/cookbooks/drg/recipes/golang.rb +4 -0
- data/packer/cookbooks/drg/recipes/java.rb +5 -0
- data/packer/cookbooks/drg/recipes/php.rb +10 -0
- data/packer/cookbooks/drg/recipes/ruby.rb +29 -0
- data/packer/cookbooks/drg/recipes/system.rb +13 -0
- data/packer/create_box.sh +10 -0
- data/packer/http/preseed.cfg +87 -0
- data/packer/packer.json +91 -0
- data/packer/scripts/root_setup.sh +37 -0
- data/packer/scripts/setup.sh +32 -0
- data/pacto/config/pacto_server.rb +40 -0
- data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/extensions.json +64 -0
- data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/flavors/id.json +100 -0
- data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/images/id.json +176 -0
- data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/servers/id.json +189 -0
- data/pacto/contracts/dfw.servers.api.rackspacecloud.com/v2/account_id/servers.json +63 -0
- data/pacto/contracts/dns.api.rackspacecloud.com/v1.0/_tenant_id/domains.json +62 -0
- data/pacto/contracts/identity.api.rackspacecloud.com/v2.0/tokens.json +192 -0
- data/pacto/contracts/monitoring.api.rackspacecloud.com/v1.0/_tenant_id/account.json +39 -0
- data/pacto/contracts/ord.autoscale.api.rackspacecloud.com/v1.0/_tenant_id/groups.json +38 -0
- data/pacto/contracts/ord.blockstorage.api.rackspacecloud.com/v1/_tenant_id/volumes.json +30 -0
- data/pacto/contracts/ord.databases.api.rackspacecloud.com/v1.0/_tenant_id/instances.json +30 -0
- data/pacto/contracts/ord.loadbalancers.api.rackspacecloud.com/v1.0/_tenant_id/loadbalancers.json +114 -0
- data/pacto/contracts/ord.queues.api.rackspacecloud.com/v1/_tenant_id/queues.json +13 -0
- data/pacto/contracts/ord.servers.api.rackspacecloud.com/v2/_tenant_id/os-networksv2.json +46 -0
- data/pacto/contracts/ord.servers.api.rackspacecloud.com/v2/_tenant_id/servers/detail.json +230 -0
- data/pacto/contracts/storage101.dfw1.clouddrive.com/v1/mosso_account/container/object.json +15 -0
- data/pacto/contracts/storage101.dfw1.clouddrive.com/v1/mosso_account.json +43 -0
- data/pacto/contracts/storage101.ord1.clouddrive.com/v1/_mosso_id.json +44 -0
- data/pacto/pacto_server.rb +100 -0
- data/pacto/rackspace_uri_map.yaml +229 -0
- data/polytrix.gemspec +27 -0
- data/scripts/bootstrap +10 -0
- data/scripts/cibuild +4 -0
- data/sdks/fog/.gitignore +1 -0
- data/sdks/fog/Gemfile +5 -0
- data/sdks/fog/challenges/all_connections.rb +45 -0
- data/sdks/fog/challenges/authenticate_token.rb +15 -0
- data/sdks/fog/challenges/cdn_enable_container.rb +20 -0
- data/sdks/fog/challenges/create_a_container.rb +17 -0
- data/sdks/fog/challenges/create_server.rb +36 -0
- data/sdks/fog/challenges/get_object_metadata.rb +13 -0
- data/sdks/fog/challenges/list_containers.rb +10 -0
- data/sdks/fog/challenges/provision_scalable_webapp.rb +30 -0
- data/sdks/fog/challenges/upload_folder.rb +25 -0
- data/sdks/fog/scripts/bootstrap +4 -0
- data/sdks/fog/scripts/bootstrap.ps1 +1 -0
- data/sdks/fog/scripts/wrapper +2 -0
- data/sdks/fog/scripts/wrapper.ps1 +1 -0
- data/sdks/gophercloud/.gitignore +2 -0
- data/sdks/gophercloud/challenges/authenticate_token.go +23 -0
- data/sdks/gophercloud/scripts/bootstrap +6 -0
- data/sdks/gophercloud/scripts/wrapper +10 -0
- data/sdks/jclouds/.gitignore +1 -0
- data/sdks/jclouds/challenges/AuthenticateToken.java +115 -0
- data/sdks/jclouds/pom.xml +34 -0
- data/sdks/jclouds/scripts/bootstrap +3 -0
- data/sdks/jclouds/scripts/wrapper +7 -0
- data/sdks/openstack.net/.gitignore +4 -0
- data/sdks/openstack.net/.nuget/Microsoft.Build.dll +0 -0
- data/sdks/openstack.net/.nuget/NuGet.Config +6 -0
- data/sdks/openstack.net/.nuget/NuGet.exe +0 -0
- data/sdks/openstack.net/.nuget/NuGet.targets +136 -0
- data/sdks/openstack.net/Challenge.cs +10 -0
- data/sdks/openstack.net/RunChallenge.cs +19 -0
- data/sdks/openstack.net/challenges/AuthenticateToken.cs +24 -0
- data/sdks/openstack.net/challenges/Weird.cs +133 -0
- data/sdks/openstack.net/openstack.net.csproj +58 -0
- data/sdks/openstack.net/openstack.net.sln +27 -0
- data/sdks/openstack.net/openstack.net.userprefs +8 -0
- data/sdks/openstack.net/packages.config +6 -0
- data/sdks/openstack.net/scripts/bootstrap +2 -0
- data/sdks/openstack.net/scripts/bootstrap.ps1 +2 -0
- data/sdks/openstack.net/scripts/wrapper +7 -0
- data/sdks/openstack.net/scripts/wrapper.ps1 +1 -0
- data/sdks/php-opencloud/.gitignore +4 -0
- data/sdks/php-opencloud/challenges/all_connections.php +64 -0
- data/sdks/php-opencloud/challenges/authenticate_token.php +14 -0
- data/sdks/php-opencloud/challenges/create_server.php +39 -0
- data/sdks/php-opencloud/challenges/get_object_metadata.php +19 -0
- data/sdks/php-opencloud/composer.json +5 -0
- data/sdks/php-opencloud/scripts/bootstrap +4 -0
- data/sdks/php-opencloud/scripts/bootstrap.ps1 +2 -0
- data/sdks/php-opencloud/scripts/wrapper +2 -0
- data/sdks/php-opencloud/scripts/wrapper.ps1 +1 -0
- data/sdks/pkgcloud/.gitignore +1 -0
- data/sdks/pkgcloud/challenges/authenticate_token.js +17 -0
- data/sdks/pkgcloud/challenges/get_object_metadata.js +18 -0
- data/sdks/pkgcloud/scripts/bootstrap +2 -0
- data/sdks/pkgcloud/scripts/bootstrap.ps1 +1 -0
- data/sdks/pkgcloud/scripts/wrapper +2 -0
- data/sdks/pkgcloud/scripts/wrapper.ps1 +1 -0
- data/sdks/pyrax/.gitignore +2 -0
- data/sdks/pyrax/challenges/all_connections.py +61 -0
- data/sdks/pyrax/challenges/authenticate_token.py +17 -0
- data/sdks/pyrax/challenges/cdn_enable_container.py +22 -0
- data/sdks/pyrax/challenges/create_a_container.py +21 -0
- data/sdks/pyrax/challenges/create_server.py +35 -0
- data/sdks/pyrax/challenges/get_object_metadata.py +17 -0
- data/sdks/pyrax/challenges/upload_folder.py +32 -0
- data/sdks/pyrax/requirements.txt +21 -0
- data/sdks/pyrax/scripts/bootstrap +9 -0
- data/sdks/pyrax/scripts/bootstrap.ps1 +7 -0
- data/sdks/pyrax/scripts/wrapper +3 -0
- data/sdks/pyrax/scripts/wrapper.ps1 +2 -0
- data/spec/fixtures/factorial.py +18 -0
- data/spec/fixtures/polytrix.yml +16 -0
- data/spec/fixtures/src-doc/quine.md.erb +20 -0
- data/spec/polytrix/challenge_builder_spec.rb +16 -0
- data/spec/polytrix/challenge_runner_spec.rb +14 -0
- data/spec/polytrix/challenge_spec.rb +20 -0
- data/spec/polytrix/configuration_spec.rb +10 -0
- data/spec/polytrix/documentation_generator_spec.rb +36 -0
- data/spec/polytrix/file_finder_spec.rb +24 -0
- data/spec/polytrix/manifest_spec.rb +26 -0
- data/spec/polytrix/middleware/feature_executor_spec.rb +48 -0
- data/spec/polytrix_spec.rb +13 -0
- data/spec/rspec_spec.rb +17 -0
- data/spec/spec_helper.rb +7 -0
- metadata +325 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
## Options to set on the command line
|
|
2
|
+
d-i debian-installer/locale string en_US.utf8
|
|
3
|
+
d-i console-setup/ask_detect boolean false
|
|
4
|
+
d-i console-setup/layout string USA
|
|
5
|
+
|
|
6
|
+
#d-i netcfg/get_hostname string dummy
|
|
7
|
+
d-i netcfg/get_hostname string unassigned-hostname
|
|
8
|
+
d-i netcfg/get_domain string unassigned-domain
|
|
9
|
+
|
|
10
|
+
# Continue without a default route
|
|
11
|
+
# Not working , specify a dummy in the DHCP
|
|
12
|
+
#d-i netcfg/no_default_route boolean
|
|
13
|
+
|
|
14
|
+
d-i time/zone string UTC
|
|
15
|
+
d-i clock-setup/utc-auto boolean true
|
|
16
|
+
d-i clock-setup/utc boolean true
|
|
17
|
+
|
|
18
|
+
d-i kbd-chooser/method select American English
|
|
19
|
+
|
|
20
|
+
d-i netcfg/wireless_wep string
|
|
21
|
+
|
|
22
|
+
d-i base-installer/kernel/override-image string linux-server
|
|
23
|
+
#d-i base-installer/kernel/override-image string linux-image-2.6.32-21-generic
|
|
24
|
+
|
|
25
|
+
# Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
|
|
26
|
+
d-i debconf debconf/frontend select Noninteractive
|
|
27
|
+
|
|
28
|
+
d-i pkgsel/install-language-support boolean false
|
|
29
|
+
tasksel tasksel/first multiselect standard, ubuntu-server
|
|
30
|
+
|
|
31
|
+
#d-i partman-auto/method string regular
|
|
32
|
+
d-i partman-auto/method string lvm
|
|
33
|
+
#d-i partman-auto/purge_lvm_from_device boolean true
|
|
34
|
+
|
|
35
|
+
d-i partman-lvm/confirm boolean true
|
|
36
|
+
d-i partman-lvm/device_remove_lvm boolean true
|
|
37
|
+
d-i partman-auto/choose_recipe select atomic
|
|
38
|
+
|
|
39
|
+
d-i partman/confirm_write_new_label boolean true
|
|
40
|
+
d-i partman/confirm_nooverwrite boolean true
|
|
41
|
+
d-i partman/choose_partition select finish
|
|
42
|
+
d-i partman/confirm boolean true
|
|
43
|
+
|
|
44
|
+
#http://ubuntu-virginia.ubuntuforums.org/showthread.php?p=9626883
|
|
45
|
+
#Message: "write the changes to disk and configure lvm preseed"
|
|
46
|
+
#http://serverfault.com/questions/189328/ubuntu-kickstart-installation-using-lvm-waits-for-input
|
|
47
|
+
#preseed partman-lvm/confirm_nooverwrite boolean true
|
|
48
|
+
|
|
49
|
+
# Write the changes to disks and configure LVM?
|
|
50
|
+
d-i partman-lvm/confirm boolean true
|
|
51
|
+
d-i partman-lvm/confirm_nooverwrite boolean true
|
|
52
|
+
d-i partman-auto-lvm/guided_size string max
|
|
53
|
+
|
|
54
|
+
## Default user, we can get away with a recipe to change this
|
|
55
|
+
d-i passwd/user-fullname string vagrant
|
|
56
|
+
d-i passwd/username string vagrant
|
|
57
|
+
d-i passwd/user-password password vagrant
|
|
58
|
+
d-i passwd/user-password-again password vagrant
|
|
59
|
+
d-i user-setup/encrypt-home boolean false
|
|
60
|
+
d-i user-setup/allow-password-weak boolean true
|
|
61
|
+
|
|
62
|
+
## minimum is puppet and ssh and ntp
|
|
63
|
+
# Individual additional packages to install
|
|
64
|
+
d-i pkgsel/include string openssh-server ntp
|
|
65
|
+
|
|
66
|
+
# Whether to upgrade packages after debootstrap.
|
|
67
|
+
# Allowed values: none, safe-upgrade, full-upgrade
|
|
68
|
+
d-i pkgsel/upgrade select full-upgrade
|
|
69
|
+
|
|
70
|
+
d-i grub-installer/only_debian boolean true
|
|
71
|
+
d-i grub-installer/with_other_os boolean true
|
|
72
|
+
d-i finish-install/reboot_in_progress note
|
|
73
|
+
|
|
74
|
+
#For the update
|
|
75
|
+
d-i pkgsel/update-policy select none
|
|
76
|
+
|
|
77
|
+
# debconf-get-selections --install
|
|
78
|
+
#Use mirror
|
|
79
|
+
#d-i apt-setup/use_mirror boolean true
|
|
80
|
+
#d-i mirror/country string manual
|
|
81
|
+
#choose-mirror-bin mirror/protocol string http
|
|
82
|
+
#choose-mirror-bin mirror/http/hostname string 192.168.4.150
|
|
83
|
+
#choose-mirror-bin mirror/http/directory string /ubuntu
|
|
84
|
+
#choose-mirror-bin mirror/suite select maverick
|
|
85
|
+
#d-i debian-installer/allow_unauthenticated string true
|
|
86
|
+
|
|
87
|
+
choose-mirror-bin mirror/http/proxy string
|
data/packer/packer.json
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"variables": {
|
|
3
|
+
"RAX_USERNAME": null,
|
|
4
|
+
"RAX_PASSWORD": null
|
|
5
|
+
},
|
|
6
|
+
"builders": [
|
|
7
|
+
{
|
|
8
|
+
"type": "openstack",
|
|
9
|
+
"username": "{{user `RAX_USERNAME`}}",
|
|
10
|
+
"password": "{{user `RAX_PASSWORD`}}",
|
|
11
|
+
"provider": "rackspace-us",
|
|
12
|
+
"region": "ORD",
|
|
13
|
+
"ssh_username": "root",
|
|
14
|
+
"image_name": "DRG",
|
|
15
|
+
"source_image": "80fbcb55-b206-41f9-9bc2-2dd7aac6c061",
|
|
16
|
+
"flavor": "performance1-2"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"type": "virtualbox",
|
|
20
|
+
"boot_command": [
|
|
21
|
+
"<esc><esc><enter><wait>",
|
|
22
|
+
"/install/vmlinuz noapic preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg <wait>",
|
|
23
|
+
"debian-installer=en_US auto locale=en_US kbd-chooser/method=us <wait>",
|
|
24
|
+
"hostname={{ .Name }} <wait>",
|
|
25
|
+
"fb=false debconf/frontend=noninteractive <wait>",
|
|
26
|
+
"keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA keyboard-configuration/variant=USA console-setup/ask_detect=false <wait>",
|
|
27
|
+
"initrd=/install/initrd.gz -- <enter><wait>"
|
|
28
|
+
],
|
|
29
|
+
"boot_wait": "4s",
|
|
30
|
+
"guest_os_type": "Ubuntu_64",
|
|
31
|
+
"http_directory": "http",
|
|
32
|
+
"iso_checksum": "4d1a8b720cdd14b76ed9410c63a00d0e",
|
|
33
|
+
"iso_checksum_type": "md5",
|
|
34
|
+
"iso_url": "http://releases.ubuntu.com/13.10/ubuntu-13.10-server-amd64.iso",
|
|
35
|
+
"ssh_username": "vagrant",
|
|
36
|
+
"ssh_password": "vagrant",
|
|
37
|
+
"ssh_port": 22,
|
|
38
|
+
"ssh_wait_timeout": "10000s",
|
|
39
|
+
"shutdown_command": "echo 'shutdown -P now' > shutdown.sh; echo 'vagrant'|sudo -S sh 'shutdown.sh'",
|
|
40
|
+
"guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso",
|
|
41
|
+
"headless": false,
|
|
42
|
+
"virtualbox_version_file": ".vbox_version",
|
|
43
|
+
"vboxmanage": [
|
|
44
|
+
[
|
|
45
|
+
"modifyvm",
|
|
46
|
+
"{{.Name}}",
|
|
47
|
+
"--memory",
|
|
48
|
+
"2048"
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
"modifyvm",
|
|
52
|
+
"{{.Name}}",
|
|
53
|
+
"--cpus",
|
|
54
|
+
"4"
|
|
55
|
+
]
|
|
56
|
+
]
|
|
57
|
+
}
|
|
58
|
+
],
|
|
59
|
+
"provisioners": [
|
|
60
|
+
{
|
|
61
|
+
"type": "shell",
|
|
62
|
+
"only": ["virtualbox"],
|
|
63
|
+
"scripts": [
|
|
64
|
+
"scripts/root_setup.sh"
|
|
65
|
+
],
|
|
66
|
+
"override": {
|
|
67
|
+
"virtualbox": {
|
|
68
|
+
"execute_command": "echo 'vagrant' | sudo -S sh '{{ .Path }}'"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "shell",
|
|
74
|
+
"only": ["virtualbox"],
|
|
75
|
+
"scripts": [
|
|
76
|
+
"scripts/setup.sh"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "chef-solo",
|
|
81
|
+
"cookbook_paths": ["cookbooks", "vendor/cookbooks"],
|
|
82
|
+
"run_list": ["drg"]
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"post-processors": [
|
|
86
|
+
{
|
|
87
|
+
"type": "vagrant",
|
|
88
|
+
"only": ["virtualbox"]
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
# Updating and Upgrading dependencies
|
|
6
|
+
sudo apt-get update -y -qq > /dev/null
|
|
7
|
+
sudo apt-get upgrade -y -qq > /dev/null
|
|
8
|
+
|
|
9
|
+
# Install necessary libraries for guest additions and Vagrant NFS Share
|
|
10
|
+
sudo apt-get -y -q install linux-headers-$(uname -r) build-essential dkms nfs-common
|
|
11
|
+
|
|
12
|
+
# Install necessary dependencies
|
|
13
|
+
sudo apt-get -y -q install curl wget git tmux firefox xvfb vim
|
|
14
|
+
|
|
15
|
+
# Setup sudo to allow no-password sudo for "admin"
|
|
16
|
+
groupadd -r admin
|
|
17
|
+
usermod -a -G admin vagrant
|
|
18
|
+
cp /etc/sudoers /etc/sudoers.orig
|
|
19
|
+
sed -i -e '/Defaults\s\+env_reset/a Defaults\texempt_group=admin' /etc/sudoers
|
|
20
|
+
sed -i -e 's/%admin ALL=(ALL) ALL/%admin ALL=NOPASSWD:ALL/g' /etc/sudoers
|
|
21
|
+
|
|
22
|
+
#Install Redis
|
|
23
|
+
sudo apt-get -y -q install libjemalloc1
|
|
24
|
+
wget -q http://d7jrzzvab3wte.cloudfront.net/checkbot/deb/redis-server_2.6.13-1_amd64.deb
|
|
25
|
+
sha1sum redis-server_2.6.13-1_amd64.deb | grep 'ab50cf037fd63e160946f8946b6d318cdf11800d'
|
|
26
|
+
dpkg -i redis-server_2.6.13-1_amd64.deb
|
|
27
|
+
rm redis-server_2.6.13-1_amd64.deb
|
|
28
|
+
|
|
29
|
+
# Install required libraries for RVM and Ruby
|
|
30
|
+
sudo apt-get -y -q install gawk libreadline6-dev zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config libffi-dev libxml2-dev libxslt-dev libxml2
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Install Postgresql
|
|
34
|
+
sudo apt-get -y -q install postgresql libpq-dev postgresql-contrib
|
|
35
|
+
|
|
36
|
+
# Set Password to test for user postgres
|
|
37
|
+
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'test';"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
echo "Instaling for rof"
|
|
6
|
+
|
|
7
|
+
# Installing vagrant keys
|
|
8
|
+
mkdir ~/.ssh
|
|
9
|
+
chmod 700 ~/.ssh
|
|
10
|
+
cd ~/.ssh
|
|
11
|
+
wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
|
|
12
|
+
chmod 600 ~/.ssh/authorized_keys
|
|
13
|
+
chown -R vagrant ~/.ssh
|
|
14
|
+
|
|
15
|
+
# Node.js Setup
|
|
16
|
+
# wget --retry-connrefused -q -O - https://raw.github.com/creationix/nvm/master/install.sh | sh
|
|
17
|
+
# source ~/.nvm/nvm.sh
|
|
18
|
+
|
|
19
|
+
# nvm install 0.10.18
|
|
20
|
+
# nvm alias default 0.10.18
|
|
21
|
+
|
|
22
|
+
# echo "source ~/.nvm/nvm.sh" >> ~/.bash_profile
|
|
23
|
+
|
|
24
|
+
# RVM Install
|
|
25
|
+
# wget --retry-connrefused -q -O - https://get.rvm.io | bash -s stable
|
|
26
|
+
# source /home/vagrant/.rvm/scripts/rvm
|
|
27
|
+
|
|
28
|
+
# rvm autolibs read-fail
|
|
29
|
+
|
|
30
|
+
# rvm install 2.0.0-p247
|
|
31
|
+
|
|
32
|
+
# gem install bundler zeus
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'pacto'
|
|
2
|
+
|
|
3
|
+
def token_map
|
|
4
|
+
if File.readable? '.tokens.json'
|
|
5
|
+
MultiJson.load(File.read '.tokens.json')
|
|
6
|
+
else
|
|
7
|
+
{}
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
config[:port] = port
|
|
12
|
+
contracts_path = options[:directory] || File.expand_path('contracts', Dir.pwd)
|
|
13
|
+
Pacto.configure do |pacto_config|
|
|
14
|
+
pacto_config.logger = logger
|
|
15
|
+
pacto_config.contracts_path = contracts_path
|
|
16
|
+
pacto_config.strict_matchers = options[:strict]
|
|
17
|
+
pacto_config.generator_options = {
|
|
18
|
+
:schema_version => :draft3,
|
|
19
|
+
:token_map => token_map
|
|
20
|
+
}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
if options[:generate]
|
|
24
|
+
Pacto.generate!
|
|
25
|
+
logger.info 'Pacto generation mode enabled'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
if options[:validate]
|
|
29
|
+
Pacto.validate! if options[:validate]
|
|
30
|
+
# Dir["#{contracts_path}/*"].each do |host_dir|
|
|
31
|
+
# host = File.basename host_dir
|
|
32
|
+
# Pacto.load_contracts(host_dir, "https://#{host}")
|
|
33
|
+
# end
|
|
34
|
+
contracts = Pacto::Extensions::Loaders::URIMapLoader.load(File.absolute_path('pacto/rackspace_uri_map.yaml'))
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
if options[:live]
|
|
38
|
+
# WebMock.reset!
|
|
39
|
+
WebMock.allow_net_connect!
|
|
40
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"request": {
|
|
3
|
+
"headers": {
|
|
4
|
+
},
|
|
5
|
+
"method": "get",
|
|
6
|
+
"params": {
|
|
7
|
+
},
|
|
8
|
+
"path": "/v2/:account_id/extensions"
|
|
9
|
+
},
|
|
10
|
+
"response": {
|
|
11
|
+
"headers": {
|
|
12
|
+
"Content-Type": "application/json"
|
|
13
|
+
},
|
|
14
|
+
"status": 200,
|
|
15
|
+
"body": {
|
|
16
|
+
"$schema": "http://json-schema.org/draft-03/schema#",
|
|
17
|
+
"description": "Generated from vcr with shasum d0fe7c3680149b7ad092f0d8d22dcbf9b183acad",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"required": true,
|
|
20
|
+
"properties": {
|
|
21
|
+
"extensions": {
|
|
22
|
+
"type": "array",
|
|
23
|
+
"required": true,
|
|
24
|
+
"minItems": 1,
|
|
25
|
+
"uniqueItems": true,
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"required": true,
|
|
29
|
+
"properties": {
|
|
30
|
+
"updated": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"required": true
|
|
33
|
+
},
|
|
34
|
+
"name": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"required": true
|
|
37
|
+
},
|
|
38
|
+
"links": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"required": true,
|
|
41
|
+
"minItems": 0,
|
|
42
|
+
"uniqueItems": true,
|
|
43
|
+
"items": {
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"namespace": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": true
|
|
49
|
+
},
|
|
50
|
+
"alias": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"required": true
|
|
53
|
+
},
|
|
54
|
+
"description": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"required": true
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"request": {
|
|
3
|
+
"headers": {
|
|
4
|
+
},
|
|
5
|
+
"method": "get",
|
|
6
|
+
"params": {
|
|
7
|
+
},
|
|
8
|
+
"path": "/v2/:account_id/flavors/:id"
|
|
9
|
+
},
|
|
10
|
+
"response": {
|
|
11
|
+
"headers": {
|
|
12
|
+
"Content-Type": "application/json"
|
|
13
|
+
},
|
|
14
|
+
"status": 200,
|
|
15
|
+
"body": {
|
|
16
|
+
"$schema": "http://json-schema.org/draft-03/schema#",
|
|
17
|
+
"description": "Generated from vcr with shasum 3e008d391a01f365204e41d8101e4d204447bdf3",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"required": true,
|
|
20
|
+
"properties": {
|
|
21
|
+
"flavor": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": true,
|
|
24
|
+
"properties": {
|
|
25
|
+
"OS-FLV-WITH-EXT-SPECS:extra_specs": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"required": true,
|
|
28
|
+
"properties": {
|
|
29
|
+
"class": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"required": false
|
|
32
|
+
},
|
|
33
|
+
"disk_io_index": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"required": false
|
|
36
|
+
},
|
|
37
|
+
"number_of_data_disks": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"required": false
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"name": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"required": true
|
|
46
|
+
},
|
|
47
|
+
"links": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"required": true,
|
|
50
|
+
"minItems": 1,
|
|
51
|
+
"uniqueItems": true,
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"required": true,
|
|
55
|
+
"properties": {
|
|
56
|
+
"href": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"required": true
|
|
59
|
+
},
|
|
60
|
+
"rel": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": true
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"ram": {
|
|
68
|
+
"type": "integer",
|
|
69
|
+
"required": true
|
|
70
|
+
},
|
|
71
|
+
"vcpus": {
|
|
72
|
+
"type": "integer",
|
|
73
|
+
"required": true
|
|
74
|
+
},
|
|
75
|
+
"swap": {
|
|
76
|
+
"type": "integer",
|
|
77
|
+
"required": true
|
|
78
|
+
},
|
|
79
|
+
"rxtx_factor": {
|
|
80
|
+
"type": "number",
|
|
81
|
+
"required": true
|
|
82
|
+
},
|
|
83
|
+
"OS-FLV-EXT-DATA:ephemeral": {
|
|
84
|
+
"type": "integer",
|
|
85
|
+
"required": true
|
|
86
|
+
},
|
|
87
|
+
"disk": {
|
|
88
|
+
"type": "integer",
|
|
89
|
+
"required": true
|
|
90
|
+
},
|
|
91
|
+
"id": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"required": true
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"request": {
|
|
3
|
+
"headers": {
|
|
4
|
+
},
|
|
5
|
+
"method": "get",
|
|
6
|
+
"params": {
|
|
7
|
+
},
|
|
8
|
+
"path": "/v2/:account_id/images/:id"
|
|
9
|
+
},
|
|
10
|
+
"response": {
|
|
11
|
+
"headers": {
|
|
12
|
+
"Content-Type": "application/json"
|
|
13
|
+
},
|
|
14
|
+
"status": 200,
|
|
15
|
+
"body": {
|
|
16
|
+
"$schema": "http://json-schema.org/draft-03/schema#",
|
|
17
|
+
"description": "Generated from vcr with shasum 84e4f99e789ea3412d751782552d036dad968eee",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"required": true,
|
|
20
|
+
"properties": {
|
|
21
|
+
"image": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"required": true,
|
|
24
|
+
"properties": {
|
|
25
|
+
"status": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"required": true
|
|
28
|
+
},
|
|
29
|
+
"updated": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"required": true
|
|
32
|
+
},
|
|
33
|
+
"links": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"required": true,
|
|
36
|
+
"minItems": 1,
|
|
37
|
+
"uniqueItems": true,
|
|
38
|
+
"items": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"required": true,
|
|
41
|
+
"properties": {
|
|
42
|
+
"href": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"required": true
|
|
45
|
+
},
|
|
46
|
+
"rel": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"required": true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"OS-DCF:diskConfig": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"required": true
|
|
56
|
+
},
|
|
57
|
+
"id": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"required": true
|
|
60
|
+
},
|
|
61
|
+
"OS-EXT-IMG-SIZE:size": {
|
|
62
|
+
"type": "integer",
|
|
63
|
+
"required": true
|
|
64
|
+
},
|
|
65
|
+
"name": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"required": true
|
|
68
|
+
},
|
|
69
|
+
"created": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"required": true
|
|
72
|
+
},
|
|
73
|
+
"minDisk": {
|
|
74
|
+
"type": "integer",
|
|
75
|
+
"required": true
|
|
76
|
+
},
|
|
77
|
+
"progress": {
|
|
78
|
+
"type": "integer",
|
|
79
|
+
"required": true
|
|
80
|
+
},
|
|
81
|
+
"minRam": {
|
|
82
|
+
"type": "integer",
|
|
83
|
+
"required": true
|
|
84
|
+
},
|
|
85
|
+
"metadata": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"required": true,
|
|
88
|
+
"properties": {
|
|
89
|
+
"os_distro": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"required": true
|
|
92
|
+
},
|
|
93
|
+
"com.rackspace__1__visible_core": {
|
|
94
|
+
"type": "string",
|
|
95
|
+
"required": true
|
|
96
|
+
},
|
|
97
|
+
"com.rackspace__1__build_rackconnect": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"required": true
|
|
100
|
+
},
|
|
101
|
+
"com.rackspace__1__options": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"required": true
|
|
104
|
+
},
|
|
105
|
+
"image_type": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"required": true
|
|
108
|
+
},
|
|
109
|
+
"cache_in_nova": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"required": true
|
|
112
|
+
},
|
|
113
|
+
"com.rackspace__1__source": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"required": true
|
|
116
|
+
},
|
|
117
|
+
"org.openstack__1__os_distro": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"required": true
|
|
120
|
+
},
|
|
121
|
+
"com.rackspace__1__release_build_date": {
|
|
122
|
+
"type": "string",
|
|
123
|
+
"required": true
|
|
124
|
+
},
|
|
125
|
+
"os_type": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"required": true
|
|
128
|
+
},
|
|
129
|
+
"auto_disk_config": {
|
|
130
|
+
"type": "string",
|
|
131
|
+
"required": true
|
|
132
|
+
},
|
|
133
|
+
"com.rackspace__1__release_version": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"required": true
|
|
136
|
+
},
|
|
137
|
+
"com.rackspace__1__platform_target": {
|
|
138
|
+
"type": "string",
|
|
139
|
+
"required": true
|
|
140
|
+
},
|
|
141
|
+
"com.rackspace__1__visible_rackconnect": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"required": true
|
|
144
|
+
},
|
|
145
|
+
"com.rackspace__1__release_id": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"required": true
|
|
148
|
+
},
|
|
149
|
+
"com.rackspace__1__visible_managed": {
|
|
150
|
+
"type": "string",
|
|
151
|
+
"required": true
|
|
152
|
+
},
|
|
153
|
+
"com.rackspace__1__build_core": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"required": true
|
|
156
|
+
},
|
|
157
|
+
"org.openstack__1__os_version": {
|
|
158
|
+
"type": "string",
|
|
159
|
+
"required": true
|
|
160
|
+
},
|
|
161
|
+
"org.openstack__1__architecture": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"required": true
|
|
164
|
+
},
|
|
165
|
+
"com.rackspace__1__build_managed": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"required": true
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|