egon 0.3.6 → 0.4.0

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDEyMDliOWIzOTVhZDM3MDdlNzJmZDczNTdjZDhlYWNjNTlmN2EwNQ==
4
+ ODI2YTNiNDM5NGU1NTBlZTc3NGM5M2ViNjI2YWEyNzg4ZDRhZDg2ZA==
5
5
  data.tar.gz: !binary |-
6
- YWUyMmNlNmE0MzEzN2E5MjFhYTg3NDZkNDg1MDI5MDkyNzUzNTg4Zg==
6
+ MTJlMDY5OTA1YTk3MzgwNWJkNTk4ZWMxZmIwMGFjNjJhOTkyYTRjMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZWU0NjU5MWQwMTA0NmYyYjZkYmEzMTI2YTllMDg2ZWIxYTA5ZGI3ZGY4NzM4
10
- NTU4MjQ0MWRhODU5NzI4YjQ2YWFlOTI4MzkzZjlmZTgwNjZlYTcxZGZlYjJj
11
- ZTYyMWViMDNmNTUzMDZmZDliNDJmYWUyNzkzMzYzZGY3NDgxOGI=
9
+ MGJlYjMyNzhlYTc2ZWE1Nzc3ZjFhMWZjM2U1YTA3MmMyZmE2NzEzOTA3YTVk
10
+ MzAyMDNkOGM0ZGFiMmU4OWY5ZDg4YjIwYTQzYjM1ZjMyZmIyYjg4NWY0Y2Rh
11
+ Y2RlZjA5MzA5ZmZhZjQ1MGQ4ZjgwNTRlYzc3MmNlYmFlYWM2ODM=
12
12
  data.tar.gz: !binary |-
13
- NTAxY2YyNDg1ZGE5MTJmNmI2NzhlZmI4ZWRhZWI4YzU1MTY1NGMxNjI0NzNl
14
- Mzk2OWIyYzExYzYwNWNlMjI1MzQxMzNlOTQxYzc0YzAyZDJhYTZhZjQzYTg3
15
- NGU3ODM0Mjg4YTA5ZTJhMjA0ZjZjMDRkNzkxMWQwZWRlZmI2NmI=
13
+ MTVkOWFjOWM5MjZiYTJiNDhhMWNkMGFmYzNkMTZlYTk3YWJiNmRmMzQzZGVh
14
+ OTdmZDI0MjU2MWY1MmFkMzk2MzI3Mzg5N2I4OTBjODBkZDVjNDExY2NiMDUx
15
+ YjljNTI0NmYyZjU0MjQ0YTk1YTJjNTE2OTAxMmM2Y2VkYzc4MGI=
@@ -25,7 +25,202 @@ module Egon
25
25
  def self.OSP7_instack_virt
26
26
  return OSP7_COMMON
27
27
  end
28
-
28
+
29
+ POST_INSTALL = "
30
+ source stackrc
31
+ source tripleo-undercloud-passwords
32
+
33
+ tripleo setup-overcloud-passwords -o tripleo-overcloud-passwords
34
+ source tripleo-overcloud-passwords
35
+ NeutronFlatNetworks=${NeutronFlatNetworks:-'datacentre'}
36
+ NeutronPhysicalBridge=${NeutronPhysicalBridge:-'br-ex'}
37
+ NeutronBridgeMappings=${NeutronBridgeMappings:-'datacentre:br-ex'}
38
+ # Define the interface that will be bridged onto the Neutron defined
39
+ # network.
40
+ NeutronPublicInterface=${NeutronPublicInterface:-nic1}
41
+ HypervisorNeutronPublicInterface=${HypervisorNeutronPublicInterface:-$NeutronPublicInterface}
42
+ NEUTRON_NETWORK_TYPE=${NEUTRON_NETWORK_TYPE:-gre}
43
+ NEUTRON_TUNNEL_TYPES=${NEUTRON_TUNNEL_TYPES:-gre}
44
+ # Define the overcloud libvirt type for virtualization. kvm for
45
+ # baremetal, qemu for an overcloud running in vm's.
46
+ OVERCLOUD_LIBVIRT_TYPE=${OVERCLOUD_LIBVIRT_TYPE:-qemu}
47
+ NtpServer=${NtpServer:-""}
48
+ CONTROLSCALE=${CONTROLSCALE:-1}
49
+ COMPUTESCALE=${COMPUTESCALE:-1}
50
+ CEPHSTORAGESCALE=${CEPHSTORAGESCALE:-0}
51
+ BLOCKSTORAGESCALE=${BLOCKSTORAGESCALE:-0}
52
+ SWIFTSTORAGESCALE=${SWIFTSTORAGESCALE:-0}
53
+
54
+ # Default all image parameters to use overcloud-full
55
+ OVERCLOUD_CONTROLLER_IMAGE=${OVERCLOUD_CONTROLLER_IMAGE:-overcloud-full}
56
+ OVERCLOUD_COMPUTE_IMAGE=${OVERCLOUD_COMPUTE_IMAGE:-overcloud-full}
57
+ OVERCLOUD_BLOCKSTORAGE_IMAGE=${OVERCLOUD_BLOCKSTORAGE_IMAGE:-overcloud-full}
58
+ OVERCLOUD_SWIFTSTORAGE_IMAGE=${OVERCLOUD_SWIFTSTORAGE_IMAGE:-overcloud-full}
59
+ OVERCLOUD_CEPHSTORAGE_IMAGE=${OVERCLOUD_CEPHSTORAGE_IMAGE:-overcloud-full}
60
+
61
+ # Default flavor parameters
62
+ export OVERCLOUD_CONTROL_FLAVOR=${OVERCLOUD_CONTROL_FLAVOR:-\"baremetal\"}
63
+ export OVERCLOUD_COMPUTE_FLAVOR=${OVERCLOUD_COMPUTE_FLAVOR:-\"baremetal\"}
64
+ export OVERCLOUD_CEPHSTORAGE_FLAVOR=${OVERCLOUD_CEPHSTORAGE_FLAVOR:-\"baremetal\"}
65
+ # Even though we are not deploying nodes with these roles, the templates will
66
+ # still validate that a flavor exists, so just use the baremetal_compute flavor
67
+ # for now.
68
+ export OVERCLOUD_BLOCKSTORAGE_FLAVOR=${OVERCLOUD_BLOCKSTORAGE_FLAVOR:-\"baremetal\"}
69
+ export OVERCLOUD_SWIFTSTORAGE_FLAVOR=${OVERCLOUD_SWIFTSTORAGE_FLAVOR:-\"baremetal\"}
70
+
71
+ export OVERCLOUD_RESOURCE_REGISTRY=${OVERCLOUD_RESOURCE_REGISTRY:-\"/usr/share/openstack-tripleo-heat-templates/overcloud-resource-registry-puppet.yaml\"}
72
+ NeutronControlPlaneID=$(neutron net-show ctlplane | grep ' id ' | awk '{print $4}')
73
+
74
+ export OVERCLOUD_EXTRA=${OVERCLOUD_EXTRA:-""}
75
+
76
+ PLAN_ID=$(tuskar plan-show overcloud | awk '$2==\"uuid\" {print $4}')
77
+ if [ -n \"$PLAN_ID\" ]; then
78
+ tuskar plan-delete $PLAN_ID
79
+ fi
80
+
81
+ tuskar plan-create overcloud
82
+ PLAN_ID=$(tuskar plan-show overcloud | awk '$2==\"uuid\" {print $4}')
83
+
84
+ CONTROLLER_ID=$(tuskar role-list | awk '$4==\"Controller\" {print $2}')
85
+ COMPUTE_ID=$(tuskar role-list | awk '$4==\"Compute\" {print $2}')
86
+ SWIFT_ID=$(tuskar role-list | awk '$4==\"Swift-Storage\" {print $2}')
87
+ CINDER_ID=$(tuskar role-list | awk '$4==\"Cinder-Storage\" {print $2}')
88
+ CEPH_ID=$(tuskar role-list | awk '$4==\"Ceph-Storage\" {print $2}')
89
+
90
+ tuskar plan-add-role $PLAN_ID -r $CONTROLLER_ID
91
+ tuskar plan-add-role $PLAN_ID -r $COMPUTE_ID
92
+ tuskar plan-add-role $PLAN_ID -r $SWIFT_ID
93
+ tuskar plan-add-role $PLAN_ID -r $CINDER_ID
94
+ tuskar plan-add-role $PLAN_ID -r $CEPH_ID
95
+
96
+ export TUSKAR_PARAMETERS=${TUSKAR_PARAMETERS:-\"
97
+ -A NeutronControlPlaneID=${NeutronControlPlaneID}
98
+ -A Controller-1::AdminPassword=${OVERCLOUD_ADMIN_PASSWORD}
99
+ -A Controller-1::AdminToken=${OVERCLOUD_ADMIN_TOKEN}
100
+ -A Compute-1::AdminPassword=${OVERCLOUD_ADMIN_PASSWORD}
101
+ -A Controller-1::SnmpdReadonlyUserPassword=${UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD}
102
+ -A Cinder-Storage-1::SnmpdReadonlyUserPassword=${UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD}
103
+ -A Swift-Storage-1::SnmpdReadonlyUserPassword=${UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD}
104
+ -A Compute-1::SnmpdReadonlyUserPassword=${UNDERCLOUD_CEILOMETER_SNMPD_PASSWORD}
105
+ -A Controller-1::CeilometerPassword=${OVERCLOUD_CEILOMETER_PASSWORD}
106
+ -A Controller-1::CeilometerMeteringSecret=${OVERCLOUD_CEILOMETER_SECRET}
107
+ -A Compute-1::CeilometerPassword=${OVERCLOUD_CEILOMETER_PASSWORD}
108
+ -A Compute-1::CeilometerMeteringSecret=${OVERCLOUD_CEILOMETER_SECRET}
109
+ -A Controller-1::CinderPassword=${OVERCLOUD_CINDER_PASSWORD}
110
+ -A Controller-1::GlancePassword=${OVERCLOUD_GLANCE_PASSWORD}
111
+ -A Controller-1::HeatPassword=${OVERCLOUD_HEAT_PASSWORD}
112
+ -A Controller-1::NeutronPassword=${OVERCLOUD_NEUTRON_PASSWORD}
113
+ -A Compute-1::NeutronPassword=${OVERCLOUD_NEUTRON_PASSWORD}
114
+ -A Controller-1::NovaPassword=${OVERCLOUD_NOVA_PASSWORD}
115
+ -A Compute-1::NovaPassword=${OVERCLOUD_NOVA_PASSWORD}
116
+ -A Controller-1::SwiftHashSuffix=${OVERCLOUD_SWIFT_HASH}
117
+ -A Controller-1::SwiftPassword=${OVERCLOUD_SWIFT_PASSWORD}
118
+ -A Controller-1::CinderISCSIHelper=lioadm
119
+ -A Cinder-Storage-1::CinderISCSIHelper=lioadm
120
+ -A Controller-1::CloudName=overcloud
121
+ -A Controller-1::NeutronPublicInterface=$NeutronPublicInterface
122
+ -A Controller-1::NeutronBridgeMappings=$NeutronBridgeMappings
123
+ -A Compute-1::NeutronBridgeMappings=$NeutronBridgeMappings
124
+ -A Controller-1::NeutronFlatNetworks=$NeutronFlatNetworks
125
+ -A Compute-1::NeutronFlatNetworks=$NeutronFlatNetworks
126
+ -A Compute-1::NeutronPhysicalBridge=$NeutronPhysicalBridge
127
+ -A Compute-1::NeutronPublicInterface=$NeutronPublicInterface
128
+ -A Compute-1::NovaComputeLibvirtType=$OVERCLOUD_LIBVIRT_TYPE
129
+ -A Controller-1::NtpServer=${NtpServer}
130
+ -A Compute-1::NtpServer=${NtpServer}
131
+ -A Controller-1::NeutronNetworkType=${NEUTRON_NETWORK_TYPE}
132
+ -A Compute-1::NeutronNetworkType=${NEUTRON_NETWORK_TYPE}
133
+ -A Controller-1::NeutronTunnelTypes=${NEUTRON_TUNNEL_TYPES}
134
+ -A Compute-1::NeutronTunnelTypes=${NEUTRON_TUNNEL_TYPES}
135
+ -A Controller-1::count=${CONTROLSCALE}
136
+ -A Compute-1::count=${COMPUTESCALE}
137
+ -A Swift-Storage-1::count=${SWIFTSTORAGESCALE}
138
+ -A Cinder-Storage-1::count=${BLOCKSTORAGESCALE}
139
+ -A Ceph-Storage-1::count=${CEPHSTORAGESCALE}
140
+ -A Cinder-Storage-1::Flavor=${OVERCLOUD_BLOCKSTORAGE_FLAVOR}
141
+ -A Compute-1::Flavor=${OVERCLOUD_COMPUTE_FLAVOR}
142
+ -A Controller-1::Flavor=${OVERCLOUD_CONTROL_FLAVOR}
143
+ -A Swift-Storage-1::Flavor=${OVERCLOUD_SWIFTSTORAGE_FLAVOR}
144
+ -A Ceph-Storage-1::Flavor=${OVERCLOUD_CEPHSTORAGE_FLAVOR}
145
+ -A Swift-Storage-1::Image=${OVERCLOUD_SWIFTSTORAGE_IMAGE}
146
+ -A Cinder-Storage-1::Image=${OVERCLOUD_BLOCKSTORAGE_IMAGE}
147
+ -A Ceph-Storage-1::Image=${OVERCLOUD_BLOCKSTORAGE_IMAGE}
148
+ -A Controller-1::Image=${OVERCLOUD_CONTROLLER_IMAGE}
149
+ -A Compute-1::Image=${OVERCLOUD_COMPUTE_IMAGE}
150
+ \"}
151
+
152
+ if [ $CONTROLSCALE -gt 1 ]; then
153
+ export TUSKAR_PARAMETERS=\"$TUSKAR_PARAMETERS
154
+ -A Controller-1::NeutronL3HA=True
155
+ -A Controller-1::NeutronAllowL3AgentFailover=False
156
+ -A Compute-1::NeutronL3HA=True
157
+ -A Compute-1::NeutronAllowL3AgentFailover=False
158
+ \"
159
+ fi
160
+
161
+ if [ $CEPHSTORAGESCALE -gt 0 ]; then
162
+ FSID=$(uuidgen)
163
+ MON_KEY=$(create_cephx_key)
164
+ ADMIN_KEY=$(create_cephx_key)
165
+ CINDER_ISCSI=${CINDER_ISCSI:-0}
166
+ export TUSKAR_PARAMETERS=\"$TUSKAR_PARAMETERS
167
+ -A Controller-1::CinderEnableRbdBackend=True
168
+ -A Controller-1::GlanceBackend=rbd
169
+ -A CephClusterFSID=$FSID
170
+ -A CephMonKey=$MON_KEY
171
+ -A CephAdminKey=$ADMIN_KEY
172
+ -A Compute-1::NovaEnableRbdBackend=True
173
+ \"
174
+
175
+ if [ $CINDER_ISCSI -eq 0 ]; then
176
+ export TUSKAR_PARAMETERS=\"$TUSKAR_PARAMETERS
177
+ -A Controller-1::CinderEnableIscsiBackend=false
178
+ \"
179
+ else
180
+ # (this is the default parameter value)
181
+ export TUSKAR_PARAMETERS=\"$TUSKAR_PARAMETERS
182
+ -A Controller-1::CinderEnableIscsiBackend=true
183
+ \"
184
+ fi
185
+ fi
186
+
187
+ tuskar plan-update $TUSKAR_PARAMETERS $PLAN_ID
188
+
189
+ # Added next to parameters as they are required
190
+ TIMEOUT=5
191
+ HEAT_OP=\"stack-create\"
192
+
193
+ HEAT_ENV=${HEAT_ENV:-\"overcloud-env.json\"}
194
+
195
+ if [ -f $HEAT_ENV -a \"$HEAT_OP\" = \"stack-update\" ]; then
196
+ ENV_JSON=$(cat $HEAT_ENV)
197
+ else
198
+ ENV_JSON='{\"parameters\":{}}'
199
+ fi
200
+
201
+ jq . > \"${HEAT_ENV}\" <<< $ENV_JSON
202
+ chmod 0600 \"${HEAT_ENV}\"
203
+
204
+ if [ \"$HEAT_OP\" = \"stack-create\" ]; then
205
+ generate-keystone-pki --heatenv $HEAT_ENV
206
+ fi
207
+
208
+ KeystoneCACertificate=$(os-apply-config -m $HEAT_ENV --key parameters.KeystoneCACertificate --type raw)
209
+ KeystoneSigningCertificate=$(os-apply-config -m $HEAT_ENV --key parameters.KeystoneSigningCertificate --type raw)
210
+ KeystoneSigningKey=$(os-apply-config -m $HEAT_ENV --key parameters.KeystoneSigningKey --type raw)
211
+
212
+ # Sending the Certificates one by one, otherwise there are problems with escaping
213
+ tuskar plan-update -A Controller-1::KeystoneCACertificate=\"${KeystoneCACertificate}\" $PLAN_ID
214
+ tuskar plan-update -A Controller-1::KeystoneSigningCertificate=\"${KeystoneSigningCertificate}\" $PLAN_ID
215
+ tuskar plan-update -A Controller-1::KeystoneSigningKey=\"${KeystoneSigningKey}\" $PLAN_ID
216
+
217
+ # Get templates from tuskar
218
+ tuskar plan-templates -O tuskar_templates $PLAN_ID
219
+
220
+ OVERCLOUD_YAML_PATH=\"tuskar_templates/plan.yaml\"
221
+ ENVIRONMENT_YAML_PATH=\"tuskar_templates/environment.yaml\"
222
+ "
223
+
29
224
  OSP7_COMMON = "
30
225
  sudo yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
31
226
  sudo yum install -y https://rdoproject.org/repos/openstack-kilo/rdo-release-kilo.rpm
@@ -38,7 +233,8 @@ module Egon
38
233
  sudo cp /root/tripleo-undercloud-passwords .
39
234
  sudo chown $USER: tripleo-undercloud-passwords
40
235
  sudo cp /root/stackrc .
41
- sudo chown $USER: stackrc"
236
+ sudo chown $USER: stackrc
237
+ #{POST_INSTALL}"
42
238
  end
43
239
  end
44
240
  end
data/lib/egon/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Egon
2
- VERSION = "0.3.6"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: egon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Egon and Fusor team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-30 00:00:00.000000000 Z
11
+ date: 2015-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler