Commit ee340aea by Chif Gergő

Fix volume attachment

parent d0137d0e
Pipeline #745 passed with stage
in 39 seconds
......@@ -183,24 +183,23 @@ class OSVirtualMachineManager(InstanceInterface):
@openstackError
def attach_volume(self, server_id, volume_id, device=None):
self.openstack.compute.create_volume_attachment(server_id,
{"volumeId": volume_id,
})
self.openstack.compute.create_volume_attachment(volumeId=volume_id,
server=server_id,
)
@openstackError
def detach_volume(self, server_id, volume_id, device=None):
self.openstack.compute.delete_volume_attachment(server_id,
{"volumeId": volume_id,
"device": device
})
self.openstack.compute.delete_volume_attachment(
volume_attachment=volume_id,
server=server_id)
def convert_server_to_instance(self, server):
if not server.image:
image_id = None
else:
image_id = server.image_id
image_id = server.image["id"]
return Instance(id=server.id,
flavor=server.flavor_id,
flavor=server.flavor["id"],
name=server.name,
image_id=image_id,
disks=server.attached_volumes,
......
......@@ -45,9 +45,14 @@ print("*" * 50)
print("*********TEST SERVER**********")
print(interface.get_vm("fb91a363-e23b-4fb6-8770-357509b753da").JSON())
print(interface.openstack.get_server("fb91a363-e23b-4fb6-8770-357509b753da"))
print("*********TEST SUSPEND**********")
interface.suspend_vm("fb91a363-e23b-4fb6-8770-357509b753da")
interface.detach_volume("8e94c162-f8ed-4872-b9e5-50bf33040b5b",
"83d4f11a-f6a8-4f50-8a95-8f5016604780")
# print(interface.convert_server_to_instance(server).JSON())
# print(interface.openstack.compute.get_server("8e94c162-f8ed-4872-b9e5-50bf33040b5b"))
......@@ -77,65 +82,65 @@ interface.suspend_vm("fb91a363-e23b-4fb6-8770-357509b753da")
# Network test
# ==============================================================================
os = openstack.connect(cloud='openstack')
router_manager = OpenstackRouterManager(os)
network_manager = OpenstackNetworkManager(os)
subnet_manager = OpenstackSubnetManager(os)
port_manager = OpenstackPortManager(os)
floating_ip_manager = OpenstackFloatingIPManager(os)
'''
Network setup steps:
- Create inner network
- Create subnet for inner network
- Create router
- Add public network to router as gateway
- Add inner subnet to router as interface
- Add interface (or port?) to vm
- Get the port of the vm
- Create floating ip to public network
- Associate floating ip and vm port
'''
#router = router_manager.create()
router = router_manager.get('3ee87bcd-b1b5-4e14-86a1-ce691bd3e5a2')
print('Router:')
print('\t%s' % router)
#network = network_manager.create()
public_network = network_manager.get('3b349c93-8b2c-4abd-b8ce-22b7db4cca98')
inner_network = network_manager.get('8df0d7ab-7d56-4496-aca0-317af66b3ebc')
print('Network:')
print('\tPublic: %s' % public_network)
print('\tInner: %s' % inner_network)
#subnet = subnet_manager.create(network.id, 4, '10.34.0.0/16')
public_subnet = subnet_manager.get('8a7e05f8-6358-48f7-9104-990d350425a0')
# create(inner_network.id, 4, '10.0.0.0/24')
inner_subnet = subnet_manager.get('34911571-c929-4433-b4e6-305fcb585a91')
print('Subnet:')
print('\tPublic: %s' % public_subnet)
print('\tInner: %s' % inner_subnet)
vm_port = port_manager.get('85202d6d-7aa0-44bc-a5eb-78b0519066c5') # inner
print('Port:')
print('\tVM: %s' % vm_port)
#floating_ip = floating_ip_manager.create(public_network.id)
floating_ip = floating_ip_manager.get('fe1e329f-aedb-4b3e-a649-9fec8eb3ece5')
print('Floating IP:')
print('\tFloating IP: %s' % floating_ip)
print(router_manager.add_interface(router.id, inner_subnet.id)) # TODO: fix error msg
print(router_manager.add_gateway(router.id, public_network.id)) # TODO: fix it!
print(floating_ip_manager.update(floating_ip.id, {
'port_id': vm_port.id
}))
# os = openstack.connect(cloud='openstack')
#
# router_manager = OpenstackRouterManager(os)
# network_manager = OpenstackNetworkManager(os)
# subnet_manager = OpenstackSubnetManager(os)
# port_manager = OpenstackPortManager(os)
# floating_ip_manager = OpenstackFloatingIPManager(os)
#
# '''
# Network setup steps:
# - Create inner network
# - Create subnet for inner network
# - Create router
# - Add public network to router as gateway
# - Add inner subnet to router as interface
# - Add interface (or port?) to vm
# - Get the port of the vm
# - Create floating ip to public network
# - Associate floating ip and vm port
# '''
#
# #router = router_manager.create()
# router = router_manager.get('3ee87bcd-b1b5-4e14-86a1-ce691bd3e5a2')
#
# print('Router:')
# print('\t%s' % router)
#
# #network = network_manager.create()
# public_network = network_manager.get('3b349c93-8b2c-4abd-b8ce-22b7db4cca98')
# inner_network = network_manager.get('8df0d7ab-7d56-4496-aca0-317af66b3ebc')
#
# print('Network:')
# print('\tPublic: %s' % public_network)
# print('\tInner: %s' % inner_network)
#
# #subnet = subnet_manager.create(network.id, 4, '10.34.0.0/16')
# public_subnet = subnet_manager.get('8a7e05f8-6358-48f7-9104-990d350425a0')
# # create(inner_network.id, 4, '10.0.0.0/24')
# inner_subnet = subnet_manager.get('34911571-c929-4433-b4e6-305fcb585a91')
#
# print('Subnet:')
# print('\tPublic: %s' % public_subnet)
# print('\tInner: %s' % inner_subnet)
#
# vm_port = port_manager.get('85202d6d-7aa0-44bc-a5eb-78b0519066c5') # inner
#
# print('Port:')
# print('\tVM: %s' % vm_port)
#
# #floating_ip = floating_ip_manager.create(public_network.id)
# floating_ip = floating_ip_manager.get('fe1e329f-aedb-4b3e-a649-9fec8eb3ece5')
#
# print('Floating IP:')
# print('\tFloating IP: %s' % floating_ip)
#
#
# print(router_manager.add_interface(router.id, inner_subnet.id)) # TODO: fix error msg
# print(router_manager.add_gateway(router.id, public_network.id)) # TODO: fix it!
#
# print(floating_ip_manager.update(floating_ip.id, {
# 'port_id': vm_port.id
# }))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment