Update fixtures to support Fuel-10.0

- Updated scripts to generate fixtures for 10.0
- Script now generates fake nodes to work with
- Added multirack support and fixtures
- Uploaded new fixtures 10.0 build #260

Partial-bug: #1535339
Change-Id: Ib1947b111c0da1b4a58adf14b6bd1e583074b083
This commit is contained in:
Aleksandr Didenko 2016-05-27 16:40:19 +02:00
parent f925f5e84c
commit 1cf4996ca1
41 changed files with 61547 additions and 27025 deletions

View File

@ -1,13 +1,12 @@
"ADMIN_NETWORK": "ADMIN_NETWORK":
"cidr": "10.20.0.0/24" "dhcp_gateway": "10.145.0.1"
"dhcp_gateway": "10.110.0.1" "dhcp_pool_end": "10.145.0.254"
"dhcp_pool_end": "10.110.0.254" "dhcp_pool_start": "10.145.0.4"
"dhcp_pool_start": "10.110.0.3" "interface": "eth0"
"interface": "enp0s3" "ipaddress": "10.145.0.2"
"ipaddress": "10.110.0.2" "mac": "64:ef:bc:bf:6c:44"
"mac": "64:85:68:bb:ff:c1"
"netmask": "255.255.255.0" "netmask": "255.255.255.0"
"size": "256" "ssh_network": "10.145.0.0/24"
"BOOTSTRAP": "BOOTSTRAP":
"flavor": "ubuntu" "flavor": "ubuntu"
"http_proxy": "" "http_proxy": ""
@ -34,64 +33,66 @@
- "name": "mos" - "name": "mos"
"priority": !!int "1050" "priority": !!int "1050"
"section": "main restricted" "section": "main restricted"
"suite": "mos9.0" "suite": "mos10.0"
"type": "deb" "type": "deb"
"uri": "http://127.0.0.1:8080/ubuntu/x86_64" "uri": "http://127.0.0.1:8080/ubuntu/x86_64"
- "name": "mos-updates" - "name": "mos-updates"
"priority": !!int "1050" "priority": !!int "1050"
"section": "main restricted" "section": "main restricted"
"suite": "mos9.0-updates" "suite": "mos10.0-updates"
"type": "deb" "type": "deb"
"uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0" "uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0"
- "name": "mos-security" - "name": "mos-security"
"priority": !!int "1050" "priority": !!int "1050"
"section": "main restricted" "section": "main restricted"
"suite": "mos9.0-security" "suite": "mos10.0-security"
"type": "deb" "type": "deb"
"uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0" "uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0"
- "name": "mos-holdback" - "name": "mos-holdback"
"priority": !!int "1100" "priority": !!int "1100"
"section": "main restricted" "section": "main restricted"
"suite": "mos9.0-holdback" "suite": "mos10.0-holdback"
"type": "deb" "type": "deb"
"uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/9.0" "uri": "http://mirror.fuel-infra.org/mos-repos/ubuntu/10.0"
"DNS_DOMAIN": "test.domain.local" "skip_default_img_build": !!bool "false"
"DNS_SEARCH": "test.domain.local" "DNS_DOMAIN": "domain.tld"
"DNS_UPSTREAM": "10.110.0.1" "DNS_SEARCH": "domain.tld"
"DNS_UPSTREAM": "10.145.0.1"
"FEATURE_GROUPS": [] "FEATURE_GROUPS": []
"FUEL_ACCESS": "FUEL_ACCESS":
"password": "admin" "password": "admin"
"user": "admin" "user": "admin"
"HOSTNAME": "nailgun" "HOSTNAME": "fuel"
"NTP1": "0.fuel.pool.ntp.org" "NTP1": "0.fuel.pool.ntp.org"
"NTP2": "1.fuel.pool.ntp.org" "NTP2": "1.fuel.pool.ntp.org"
"NTP3": "2.fuel.pool.ntp.org" "NTP3": "2.fuel.pool.ntp.org"
"PRODUCTION": "docker" "PRODUCTION": "docker"
"TEST_DNS": "www.google.com"
"astute": "astute":
"password": "hRUGy7sN8SPLtNDuxVrvLssT" "password": "uSdbi42Po5gcHnUUdVT48diu"
"user": "naily" "user": "naily"
"cobbler": "cobbler":
"password": "ljTrP3aSxa7SsvUDCsZeKjr4" "password": "P2guQCCl9MHS88RCRF5I1QGw"
"user": "cobbler" "user": "cobbler"
"keystone": "keystone":
"admin_token": "iaz5tWhjiSQ8IuHLc1bP0NmS" "admin_token": "M1khaGkHj72wMMp4JZ0TYnYt"
"monitord_password": "hHFchzEvtedWE202DYjPZZoT" "monitord_password": "euniPf5A3LdUjSokt4tJ3BCw"
"monitord_user": "monitord" "monitord_user": "monitord"
"nailgun_password": "fDcKY6waXpkNfmpAp7bRIl89" "nailgun_password": "Llw1eTOaIYq3VzxUDhrNcd91"
"nailgun_user": "nailgun" "nailgun_user": "nailgun"
"ostf_password": "MHt1M0rw1aYuOufDw2DJMwt7" "ostf_password": "uSjjpBrV3t4URfCGoSse4fZ6"
"ostf_user": "ostf" "ostf_user": "ostf"
"service_token_off": "true" "service_token_off": "true"
"mcollective": "mcollective":
"password": "gtFlQ3XAtiq8V7rMRQZ9IbnJ" "password": "wbYJ8IXSrJyon5GNvx2Ad9xf"
"user": "mcollective" "user": "mcollective"
"postgres": "postgres":
"keystone_dbname": "keystone" "keystone_dbname": "keystone"
"keystone_password": "FW6fCHC6WCfKcUG4jZuWzFH4" "keystone_password": "IuocdY94d7PWfNq5i89OEyE2"
"keystone_user": "keystone" "keystone_user": "keystone"
"nailgun_dbname": "nailgun" "nailgun_dbname": "nailgun"
"nailgun_password": "ykduaP2bYnGUfPR7yPWekFC5" "nailgun_password": "VNTUIHHMLvaiSffK5Dlwmh9U"
"nailgun_user": "nailgun" "nailgun_user": "nailgun"
"ostf_dbname": "ostf" "ostf_dbname": "ostf"
"ostf_password": "GPoocLyKzs5iTfOnlLOQ6kEZ" "ostf_password": "WzjtGGb4oW07wPqqUiLvAB3E"
"ostf_user": "ostf" "ostf_user": "ostf"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1
utils/fixtures/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.json

View File

@ -0,0 +1,737 @@
[
<% nodes.each do |node| %>
{
"pk": <%= node['pk'] %>,
"model": "nailgun.node",
"fields": {
"status": "discover",
"name": "fnode-<%= node['id'] %>",
"hostname": "fnode-<%= node['id'] %>",
"ip": "<%= node['ip'] %>",
"online": true,
"labels": {},
"pending_addition": false,
"platform_name": "X9DRW",
"mac": "<%= node['main_mac'] %>",
"meta": {
"cpu": {
"real": 2,
"total": 24,
"spec": [
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
},
{
"model": "Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz",
"frequency": 2001
}
]
},
"interfaces": [
{
"bus_info": "0000:00:03.0",
"current_speed": 1000,
"driver": "e1000",
"interface_properties": {
"numa_node": null,
"pci_id": "8086:100e",
"sriov": {
"available": false,
"pci_id": "",
"sriov_totalvfs": 0
}
},
"ip": "<%= node['ip'] %>",
"mac": "<%= node['main_mac'] %>",
"max_speed": 1000,
"name": "enp0s3",
"netmask": "255.255.255.0",
"offloading_modes": [
{
"name": "rx-all",
"state": null,
"sub": []
},
{
"name": "rx-fcs",
"state": null,
"sub": []
},
{
"name": "tx-nocache-copy",
"state": null,
"sub": []
},
{
"name": "rx-vlan-offload",
"state": null,
"sub": []
},
{
"name": "generic-receive-offload",
"state": null,
"sub": []
},
{
"name": "generic-segmentation-offload",
"state": null,
"sub": []
},
{
"name": "tcp-segmentation-offload",
"state": null,
"sub": [
{
"name": "tx-tcp-segmentation",
"state": null,
"sub": []
}
]
},
{
"name": "scatter-gather",
"state": null,
"sub": [
{
"name": "tx-scatter-gather",
"state": null,
"sub": []
}
]
},
{
"name": "tx-checksumming",
"state": null,
"sub": [
{
"name": "tx-checksum-ip-generic",
"state": null,
"sub": []
}
]
},
{
"name": "rx-checksumming",
"state": null,
"sub": []
}
],
"pxe": false,
"state": "up"
},
{
"bus_info": "0000:00:04.0",
"current_speed": 1000,
"driver": "e1000",
"interface_properties": {
"numa_node": null,
"pci_id": "8086:100e",
"sriov": {
"available": false,
"pci_id": "",
"sriov_totalvfs": 0
}
},
"mac": "<%= node['nic2_mac'] %>",
"max_speed": 1000,
"name": "enp0s4",
"offloading_modes": [
{
"name": "rx-all",
"state": null,
"sub": []
},
{
"name": "rx-fcs",
"state": null,
"sub": []
},
{
"name": "tx-nocache-copy",
"state": null,
"sub": []
},
{
"name": "rx-vlan-offload",
"state": null,
"sub": []
},
{
"name": "generic-receive-offload",
"state": null,
"sub": []
},
{
"name": "generic-segmentation-offload",
"state": null,
"sub": []
},
{
"name": "tcp-segmentation-offload",
"state": null,
"sub": [
{
"name": "tx-tcp-segmentation",
"state": null,
"sub": []
}
]
},
{
"name": "scatter-gather",
"state": null,
"sub": [
{
"name": "tx-scatter-gather",
"state": null,
"sub": []
}
]
},
{
"name": "tx-checksumming",
"state": null,
"sub": [
{
"name": "tx-checksum-ip-generic",
"state": null,
"sub": []
}
]
},
{
"name": "rx-checksumming",
"state": null,
"sub": []
}
],
"pxe": false,
"state": "down"
},
{
"bus_info": "0000:00:05.0",
"current_speed": 1000,
"driver": "e1000",
"interface_properties": {
"numa_node": null,
"pci_id": "8086:100e",
"sriov": {
"available": false,
"pci_id": "",
"sriov_totalvfs": 0
}
},
"mac": "<%= node['nic3_mac'] %>",
"max_speed": 1000,
"name": "enp0s5",
"offloading_modes": [
{
"name": "rx-all",
"state": null,
"sub": []
},
{
"name": "rx-fcs",
"state": null,
"sub": []
},
{
"name": "tx-nocache-copy",
"state": null,
"sub": []
},
{
"name": "rx-vlan-offload",
"state": null,
"sub": []
},
{
"name": "generic-receive-offload",
"state": null,
"sub": []
},
{
"name": "generic-segmentation-offload",
"state": null,
"sub": []
},
{
"name": "tcp-segmentation-offload",
"state": null,
"sub": [
{
"name": "tx-tcp-segmentation",
"state": null,
"sub": []
}
]
},
{
"name": "scatter-gather",
"state": null,
"sub": [
{
"name": "tx-scatter-gather",
"state": null,
"sub": []
}
]
},
{
"name": "tx-checksumming",
"state": null,
"sub": [
{
"name": "tx-checksum-ip-generic",
"state": null,
"sub": []
}
]
},
{
"name": "rx-checksumming",
"state": null,
"sub": []
}
],
"pxe": false,
"state": "down"
},
{
"bus_info": "0000:00:06.0",
"current_speed": 1000,
"driver": "e1000",
"interface_properties": {
"numa_node": null,
"pci_id": "8086:100e",
"sriov": {
"available": false,
"pci_id": "",
"sriov_totalvfs": 0
}
},
"mac": "<%= node['nic4_mac'] %>",
"max_speed": 1000,
"name": "enp0s6",
"offloading_modes": [
{
"name": "rx-all",
"state": null,
"sub": []
},
{
"name": "rx-fcs",
"state": null,
"sub": []
},
{
"name": "tx-nocache-copy",
"state": null,
"sub": []
},
{
"name": "rx-vlan-offload",
"state": null,
"sub": []
},
{
"name": "generic-receive-offload",
"state": null,
"sub": []
},
{
"name": "generic-segmentation-offload",
"state": null,
"sub": []
},
{
"name": "tcp-segmentation-offload",
"state": null,
"sub": [
{
"name": "tx-tcp-segmentation",
"state": null,
"sub": []
}
]
},
{
"name": "scatter-gather",
"state": null,
"sub": [
{
"name": "tx-scatter-gather",
"state": null,
"sub": []
}
]
},
{
"name": "tx-checksumming",
"state": null,
"sub": [
{
"name": "tx-checksum-ip-generic",
"state": null,
"sub": []
}
]
},
{
"name": "rx-checksumming",
"state": null,
"sub": []
}
],
"pxe": false,
"state": "down"
},
{
"bus_info": "0000:00:07.0",
"current_speed": 1000,
"driver": "e1000",
"interface_properties": {
"numa_node": null,
"pci_id": "8086:100e",
"sriov": {
"available": false,
"pci_id": "",
"sriov_totalvfs": 0
}
},
"mac": "<%= node['nic5_mac'] %>",
"max_speed": 1000,
"name": "enp0s7",
"offloading_modes": [
{
"name": "rx-all",
"state": null,
"sub": []
},
{
"name": "rx-fcs",
"state": null,
"sub": []
},
{
"name": "tx-nocache-copy",
"state": null,
"sub": []
},
{
"name": "rx-vlan-offload",
"state": null,
"sub": []
},
{
"name": "generic-receive-offload",
"state": null,
"sub": []
},
{
"name": "generic-segmentation-offload",
"state": null,
"sub": []
},
{
"name": "tcp-segmentation-offload",
"state": null,
"sub": [
{
"name": "tx-tcp-segmentation",
"state": null,
"sub": []
}
]
},
{
"name": "scatter-gather",
"state": null,
"sub": [
{
"name": "tx-scatter-gather",
"state": null,
"sub": []
}
]
},
{
"name": "tx-checksumming",
"state": null,
"sub": [
{
"name": "tx-checksum-ip-generic",
"state": null,
"sub": []
}
]
},
{
"name": "rx-checksumming",
"state": null,
"sub": []
}
],
"pxe": false,
"state": "down"
}
],
"disks": [
{
"model": "TOSHIBA MK1002TS",
"name": "sda",
"disk": "sda",
"size": 1000204886016
},
{
"model": "TOSHIBA MK1002TS",
"name": "sdb",
"disk": "sdb",
"size": 1000204886016
},
{
"model": "TOSHIBA MK1002TS",
"name": "sdc",
"disk": "sdc",
"size": 1000204886016
},
{
"model": "TOSHIBA MK1002TS",
"name": "sdd",
"disk": "sdd",
"size": 1000204886016
},
{
"model": "Virtual Floppy0",
"name": "sde",
"disk": "sde",
"size": 0
},
{
"model": "Virtual HDisk0",
"name": "sdf",
"disk": "sdf",
"size": 0
}
],
"system": {
"product": "X9DRW",
"family": "To be filled by O.E.M.",
"fqdn": "srv08-srt.srt.mirantis.net",
"version": "0123456789",
"serial": "0123456789",
"manufacturer": "Supermicro"
},
"memory": {
"slots": 1,
"total": 137455730688,
"maximum_capacity": 274894684160,
"devices": [
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"frequency": 1333,
"type": "DDR3",
"size": 8589934592
},
{
"type": "Flash",
"size": 16777216
}
]
},
"numa_topology": {
"numa_nodes": [
{
"id": 0,
"memory": 85899345920,
"cpus": [
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
]
},
{
"id": 1,
"memory": 51539607552,
"cpus": [
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23
]
}
],
"supported_hugepages": [2048, 1048576],
"distances": [
["1.0", "2.1"],
["2.1", "1.0"]
]
}
},
"timestamp": "",
"progress": 0,
"pending_deletion": false,
"os_platform": "ubuntu",
"manufacturer": "Supermicro"
}
}<% if node != nodes.last %>,<% end %>
<% end %>
]

View File

@ -0,0 +1,28 @@
#!/usr/bin/env ruby
require 'erb'
nodes = []
ip = ARGV[0].to_s || "10.20.0.100"
ip_tpl = ip.split('.')[0,3].join('.')
ip_start = ip.split('.').last
nodenum = ARGV[1].to_i || 10
for i in 0..(nodenum.to_i - 1) do
pk = ip_start.to_i + i
node = {
"ip" => ip_tpl + "." + pk.to_s,
"pk" => pk,
"id" => pk,
"main_mac" => (1..6).map{"%0.2x"%rand(256)}.join(":"),
"nic2_mac" => (1..6).map{"%0.2x"%rand(256)}.join(":"),
"nic3_mac" => (1..6).map{"%0.2x"%rand(256)}.join(":"),
"nic4_mac" => (1..6).map{"%0.2x"%rand(256)}.join(":"),
"nic5_mac" => (1..6).map{"%0.2x"%rand(256)}.join(":")
}
nodes << node
end
nodes_template = File.read("fixtures/nodes_template.erb")
renderer = ERB.new(nodes_template)
puts output = renderer.result()

View File

@ -1,13 +1,46 @@
#!/bin/bash #!/bin/bash
# #
# Use this script to generate and save astute.yaml fixtures. # Use this script to generate and save astute.yaml fixtures.
# Should be executed on Fuel node with at least 7 discovered # Should be executed on Fuel node with 'advanced' feature enabled
# and unused (not assigned to any env) nodes. # (see FEATURE_GROUPS list in /etc/nailgun/settings.yaml)
#
CWD=$(cd `dirname $0` && pwd -P)
mkdir ./yamls mkdir ./yamls
rm -f ./yamls/* rm -f ./yamls/*
function generate_fake_nodes_fixtures {
# $1 - first IP of admin network to start generate nodes from
# $2 - number of nodes to generate
# $3 - name of fixture
$CWD/generate_nodes_fixtures.rb $1 $2 > $CWD/fixtures/${3}.json
}
function create_fake_nodes {
manage.py loaddata $CWD/fixtures/${1}.json
}
function clean_fake_nodes {
fuel nodes | grep -q 'discover | fnode-' &&
fuel nodes | awk '/discover \| fnode-/{ print $1 }' | xargs fuel node --delete-from-db --force --node
}
function admin_net_tpl {
fuel network-group list | awk '/^1 /{print $9}' | sed -e 's/\.[[:digit:]]\+$//'
}
function id_of_role {
env=$1
role=$2
yaml=`grep -rl node_roles: deployment_$env/*yaml | head -n1`
ruby -ryaml -e '
astute = YAML.load(File.read(ARGV[0]))
role = ARGV[1]
node = astute["network_metadata"]["nodes"].find{|key, hash| hash["node_roles"].include?("#{role}") }
puts node.last["uid"]
' $yaml $role
}
function enable_ceph { function enable_ceph {
fuel env --attributes --env $1 --download fuel env --attributes --env $1 --download
ruby -ryaml -e ' ruby -ryaml -e '
@ -23,6 +56,16 @@ function enable_ceph {
rm -rf "cluster_$1" rm -rf "cluster_$1"
} }
function enable_cblock {
fuel env --attributes --env $1 --download
ruby -ryaml -e '
attr = YAML.load(File.read(ARGV[0]))
attr["editable"]["storage"]["volumes_block_device"]["value"] = true
File.open(ARGV[0], "w").write(attr.to_yaml)' "cluster_$1/attributes.yaml"
fuel env --attributes --env $1 --upload
rm -rf "cluster_$1"
}
function enable_murano_sahara_ceilometer { function enable_murano_sahara_ceilometer {
fuel env --attributes --env $1 --download fuel env --attributes --env $1 --download
ruby -ryaml -e ' ruby -ryaml -e '
@ -88,7 +131,12 @@ function enable_vms_conf {
} }
function list_free_nodes { function list_free_nodes {
fuel nodes 2>/dev/null | grep discover | grep None | awk '{print $1}' # list unused nodes from the list of fake nodes
if [ -n "$1" ] ; then
fuel nodes 2>/dev/null | grep discover | grep None | grep 'fnode-' | grep $1 | awk '{print $1}'
else
fuel nodes 2>/dev/null | grep discover | grep None | grep 'fnode-' | awk '{print $1}'
fi
} }
function save_yamls { function save_yamls {
@ -100,10 +148,23 @@ function envid {
fuel env 2>/dev/null | grep $1 | awk '{print $1}' fuel env 2>/dev/null | grep $1 | awk '{print $1}'
} }
function fix_node_names {
file=$1
ruby -ryaml -e '
astute = YAML.load(File.read(ARGV[0]))
astute["network_metadata"]["nodes"].each do |key, hash|
wrong = hash["name"]
puts "\"s/#{wrong}/#{key}/g\""
end
' $file | xargs -I {} sed -e {} -i $file
}
function store_yamls { function store_yamls {
for role in $3 ; do for role in $3 ; do
src=`ls deployment_$1/${role}_*.yaml | head -n1` id=`id_of_role $1 $role`
src="deployment_$1/${id}.yaml"
cp $src ./yamls/$2-$role.yaml cp $src ./yamls/$2-$role.yaml
fix_node_names ./yamls/$2-$role.yaml
done done
} }
@ -112,6 +173,10 @@ function generate_yamls {
name=$2 name=$2
roles=($3) roles=($3)
# Create fake nodes for our fixtures
generate_fake_nodes_fixtures $admin_first_ip 10 default_nodegroup
create_fake_nodes default_nodegroup
if [ "${name/ceph}" != "$name" ] ; then if [ "${name/ceph}" != "$name" ] ; then
enable_ceph $env enable_ceph $env
fi fi
@ -133,9 +198,22 @@ function generate_yamls {
if [ "${name/public_ssl}" != "$name" ] ; then if [ "${name/public_ssl}" != "$name" ] ; then
enable_public_ssl $env enable_public_ssl $env
fi fi
if [ "${name/cblock}" != "$name" ] ; then
enable_cblock $env
fi
if [ "${name/multirack}" != "$name" ] ; then
# move controllers to custom node group
for id in `list_free_nodes 9.9.9` ; do
if [ "${roles[0]}" = "controller" ] ; then
fuel --env $env node set --node $id --role ${roles[0]}
roles=("${roles[@]:1}")
fi
done
fi
for id in `list_free_nodes` ; do for id in `list_free_nodes` ; do
if ! [ -z "${roles[0]}" ] ; then if [ -n "${roles[0]}" ] ; then
fuel --env $env node set --node $id --role ${roles[0]} fuel --env $env node set --node $id --role ${roles[0]}
roles=("${roles[@]:1}") roles=("${roles[@]:1}")
sleep 1 sleep 1
@ -153,12 +231,40 @@ function generate_yamls {
function clean_env { function clean_env {
env=`envid $1` env=`envid $1`
fuel env --delete --env $env if fuel env --env $env | grep $1 ; then
rm -rf "cluster_$1" fuel env --delete --env $env
rm -rf "deployment_$env" rm -rf "cluster_$env"
sleep 80 rm -rf "deployment_$env"
rm -f network_${env}.yaml
sleep 80
fi
clean_fake_nodes
} }
function add_nodegroup {
env=`envid $1`
name=$2
fuel --env $env nodegroup --create --name $name
}
function update_default_nodegroup {
env=`envid $1`
fuel network --env $env download
sed -e 's/172\.16\.0\./10.11.1./g' -i network_${env}.yaml
sed -e 's/192\.168\.0\./10.11.2./g' -i network_${env}.yaml
sed -e 's/192\.168\.1\./10.11.3./g' -i network_${env}.yaml
sed -e 's/192\.168\.2\./10.11.4./g' -i network_${env}.yaml
fuel network --env $env upload
}
clean_fake_nodes
sleep 1
# Get some context
admin_net=$(admin_net_tpl)
admin_first_ip="${admin_net}.100"
# Neutron vlan ceph # Neutron vlan ceph
fuel env --create --name test_neutron_vlan --rel 2 --net vlan fuel env --create --name test_neutron_vlan --rel 2 --net vlan
generate_yamls 'test_neutron_vlan' 'neut_vlan.ceph' 'controller controller controller compute ceph-osd ceph-osd' 'primary-controller compute ceph-osd' generate_yamls 'test_neutron_vlan' 'neut_vlan.ceph' 'controller controller controller compute ceph-osd ceph-osd' 'primary-controller compute ceph-osd'
@ -166,7 +272,7 @@ clean_env 'test_neutron_vlan'
# Neutron vlan addons # Neutron vlan addons
fuel env --create --name test_neutron_vlan --rel 2 --net vlan fuel env --create --name test_neutron_vlan --rel 2 --net vlan
generate_yamls 'test_neutron_vlan' 'neut_vlan.murano.sahara.ceil' 'controller controller compute mongo mongo cinder cinder-block-device' 'primary-controller controller compute primary-mongo mongo cinder cinder-block-device' generate_yamls 'test_neutron_vlan' 'neut_vlan.cblock.murano.sahara.ceil' 'controller controller compute mongo mongo cinder cinder-block-device' 'primary-controller controller compute primary-mongo mongo cinder cinder-block-device'
clean_env 'test_neutron_vlan' clean_env 'test_neutron_vlan'
# Neutron-dvr vlan # Neutron-dvr vlan
@ -179,10 +285,10 @@ fuel env --create --name test_neutron_tun --rel 2 --net tun
generate_yamls 'test_neutron_tun' 'neut_tun.ceph.murano.sahara.ceil' 'controller controller compute ceph-osd ceph-osd mongo mongo' 'primary-controller controller compute ceph-osd primary-mongo mongo' generate_yamls 'test_neutron_tun' 'neut_tun.ceph.murano.sahara.ceil' 'controller controller compute ceph-osd ceph-osd mongo mongo' 'primary-controller controller compute ceph-osd primary-mongo mongo'
clean_env 'test_neutron_tun' clean_env 'test_neutron_tun'
# Neutron tun ironic # Neutron vlan ironic
fuel env --create --name test_neutron_tun --rel 2 --net tun fuel env --create --name test_neutron_vlan --rel 2 --net vlan
generate_yamls 'test_neutron_tun' 'neut_tun.ironic' 'controller ironic' 'primary-controller ironic' generate_yamls 'test_neutron_vlan' 'neut_tun.ironic' 'controller ironic' 'primary-controller ironic'
clean_env 'test_neutron_tun' clean_env 'test_neutron_vlan'
# Neutron-l3ha tun + nova_quota # Neutron-l3ha tun + nova_quota
fuel env --create --name test_neutron_tun --rel 2 --net tun fuel env --create --name test_neutron_tun --rel 2 --net tun
@ -194,7 +300,12 @@ fuel env --create --name test_neutron_tun --rel 2 --net tun
generate_yamls 'test_neutron_tun' 'neut_tun.vms_conf' 'virt compute' 'virt' generate_yamls 'test_neutron_tun' 'neut_tun.vms_conf' 'virt compute' 'virt'
clean_env 'test_neutron_tun' clean_env 'test_neutron_tun'
# Neutron tun, addons, ceph, public and hotizon ssl # Multirack, Neutron tun, addons, ceph, public and horizon ssl
fuel env --create --name test_neutron_tun --rel 2 --net tun fuel env --create --name test_neutron_tun --rel 2 --net tun
generate_yamls 'test_neutron_tun' 'neut_tun.murano.sahara.ceil.public_ssl' 'controller controller mongo mongo compute ceph-osd ceph-osd' 'primary-controller compute ceph-osd primary-mongo' update_default_nodegroup 'test_neutron_tun'
add_nodegroup 'test_neutron_tun' 'custom_group1'
generate_fake_nodes_fixtures 9.9.9.150 5 custom_nodegroup
create_fake_nodes custom_nodegroup
generate_yamls 'test_neutron_tun' 'neut_tun.multirack.murano.sahara.ceil.ceph.public_ssl' 'controller controller controller mongo mongo compute ceph-osd ceph-osd' 'primary-controller compute ceph-osd primary-mongo'
clean_env 'test_neutron_tun' clean_env 'test_neutron_tun'