In Heat Liberty release OS::Nova::Server will always use the user
pre-configured in the image (e.g. "fedora" for stock Fedora cloud
images, "ubuntu" for stock Ubuntu cloud images, "cloud-user" for
stock CentOS cloud images etc)
Change all ec2-user -> ubuntu
Add admin-user in Heat model for backwards compatibility.
Refer below links for detalis:
https://etherpad.opnfv.org/p/yardstick_release_b_troubleshooting
https://github.com/openstack/heat/commit/
e423bec7f10b0f5d07f05d195b3b7860f6bceb00
http://blog.scottlowe.org/2015/04/23/ubuntu-openstack-heat-cloud-init/
JIRA: -
Change-Id: I6b8b2b21daf113a3a86aee1126b0c3e74737ef4f
Signed-off-by: QiLiang <liangqi1@huawei.com>
(cherry picked from commit
9d36842e3966185e97cc5732aa7a0edd2050bfe2)
-
type: Fio
options:
- filename: /home/ec2-user/data.raw
+ filename: /home/ubuntu/data.raw
bs: {{bs}}
rw: {{rw}}
ramp_time: 10
-
type: Fio
options:
- filename: /home/ec2-user/data.raw
+ filename: /home/ubuntu/data.raw
bs: {{bs}}
rw: {{rw}}
ramp_time: 10
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
apollo:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
kvm:
floating_ip: true
-
type: Fio
options:
- filename: /home/ec2-user/data.raw
+ filename: /home/ubuntu/data.raw
bs: {{bs}}
rw: {{rw}}
ramp_time: 10
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
fio:
floating_ip: true
# For this sample just like running the command below on the test vm and
# getting benchmark info back to the yardstick.
#
-# sudo fio -filename=/home/ec2-user/data.raw -bs=4k -ipdepth=1 -rw=rw \
+# sudo fio -filename=/home/ubuntu/data.raw -bs=4k -ipdepth=1 -rw=rw \
# -ramp_time=10 -runtime=60 -name=yardstick-fio -ioengine=libaio \
# -direct=1 -group_reporting -numjobs=1 -time_based \
# --output-format=json
-
type: Fio
options:
- filename: /home/ec2-user/data.raw
+ filename: /home/ubuntu/data.raw
bs: 4k
iodepth: 1
rw: rw
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
fio:
floating_ip: true
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
hades:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: demo
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
Chang'e:
name: yardstick
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
-
type: Fio
options:
- filename: /home/ec2-user/data.raw
+ filename: /home/ubuntu/data.raw
bs: {{bs}}
rw: {{rw}}
ramp_time: 10
name: yardstick-TC005
image: yardstick-trusty-server
flavor: m1.small
- user: ec2-user
+ user: ubuntu
servers:
fio:
name: yardstick-TC008
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: yardstick-TC009
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: yardstick-TC010
image: yardstick-trusty-server
flavor: m1.small
- user: ec2-user
+ user: ubuntu
servers:
demeter:
name: demo
image: yardstick-trusty-server
flavor: m1.small
- user: ec2-user
+ user: ubuntu
servers:
demeter:
name: yardstick-TC014
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
servers:
Chang'e:
name: yardstick-TC037
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
name: yardstick-TC038
image: yardstick-trusty-server
flavor: yardstick-flavor
- user: ec2-user
+ user: ubuntu
placement_groups:
pgrp1:
self.mock_context.name = 'bar'
self.mock_context.keypair_name = 'some-keys'
self.mock_context.secgroup_name = 'some-secgroup'
+ self.mock_context.user = "some-user"
def test_construct_defaults(self):
mock_template.add_server.assert_called_with(
'some-server', 'some-image', 'some-flavor',
ports=['some-server-some-network-port'],
+ user=self.mock_context.user,
key_name=self.mock_context.keypair_name,
scheduler_hints='hints')
def test_fio_successful_setup(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_successful_no_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_successful_read_no_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': "read",
'ramp_time': 10
def test_fio_successful_write_no_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'write',
'ramp_time': 10
def test_fio_successful_lat_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_unsuccessful_lat_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_successful_bw_iops_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_unsuccessful_bw_iops_sla(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
def test_fio_unsuccessful_script_error(self, mock_ssh):
options = {
- 'filename': '/home/ec2-user/data.raw',
+ 'filename': '/home/ubuntu/data.raw',
'bs': '4k',
'rw': 'rw',
'ramp_time': 10
self.stack_name = self.name + "." + context.name
self.keypair_name = context.keypair_name
self.secgroup_name = context.secgroup_name
+ self.user = context.user
self.context = context
self.public_ip = None
self.private_ip = None
template.add_server(server_name, self.image, self.flavor,
ports=port_name_list,
+ user=self.user,
key_name=self.keypair_name,
scheduler_hints=scheduler_hints)
# ctx = {
# 'host': {
# 'ip': '172.16.0.175',
-# 'user': 'ec2-user',
+# 'user': 'ubuntu',
# 'key_filename': key_filename
# }
# }
filename - file name for fio workload
type: string
unit: na
- default: /home/ec2-user/data.raw
+ default: /home/ubuntu/data.raw
bs - block size used for the io units
type: int
unit: bytes
self.setup()
options = self.scenario_cfg["options"]
- filename = options.get("filename", "/home/ec2-user/data.raw")
+ filename = options.get("filename", "/home/ubuntu/data.raw")
bs = options.get("bs", "4k")
iodepth = options.get("iodepth", "1")
rw = options.get("rw", "write")
logger.setLevel(logging.DEBUG)
options = {
- "filename": "/home/ec2-user/data.raw",
+ "filename": "/home/ubuntu/data.raw",
"bs": "4k",
"iodepth": "1",
"rw": "rw",
}
def add_server(self, name, image, flavor, ports=None, networks=None,
- scheduler_hints=None, key_name=None, user_data=None,
- metadata=None, additional_properties=None):
+ scheduler_hints=None, user=None, key_name=None,
+ user_data=None, metadata=None, additional_properties=None):
'''add to the template a Nova Server'''
log.debug("adding Nova::Server '%s', image '%s', flavor '%s', "
"ports %s", name, image, flavor, ports)
'networks': [] # list of dictionaries
}
+ if user:
+ server_properties['admin_user'] = user
+
if key_name:
self.resources[name]['depends_on'] = [key_name]
server_properties['key_name'] = {'get_resource': key_name}