def handle_create(self):
client = self.quantum()
gateway = self.stack[self.properties.get('InternetGatewayId')]
- vpc = self.stack[self.properties.get('VpcId')]
+ vpc = self.stack.resource_by_refid(self.properties.get('VpcId'))
external_network_id = gateway.metadata['external_network_id']
for router_id in vpc.metadata['all_router_ids']:
from quantumclient.common.exceptions import QuantumClientException
client = self.quantum()
- vpc = self.stack[self.properties.get('VpcId')]
+ vpc = self.stack.resource_by_refid(self.properties.get('VpcId'))
for router_id in vpc.metadata['all_router_ids']:
try:
client.remove_gateway_router(router_id)
def handle_create(self):
client = self.quantum()
- subnet = self.stack[self.properties['SubnetId']]
- fixed_ip = {'subnet_id': subnet.metadata['subnet_id']}
+ subnet = self.stack.resource_by_refid(self.properties['SubnetId'])
+ fixed_ip = {'subnet_id': self.properties['SubnetId']}
if self.properties['PrivateIpAddress']:
fixed_ip['ip_address'] = self.properties['PrivateIpAddress']
- network_id = subnet.metadata['network_id']
+ network_id = subnet.properties.get('VpcId')
props = {
'name': self.physical_resource_name(),
'admin_state_up': True,
if self.properties['GroupSet']:
props['security_groups'] = self.properties['GroupSet']
port = client.create_port({'port': props})['port']
- md = {
- 'port_id': port['id']
- }
- self.metadata = md
+ self.resource_id_set(port['id'])
def handle_delete(self):
from quantumclient.common.exceptions import QuantumClientException
client = self.quantum()
try:
- client.delete_port(self.metadata['port_id'])
+ client.delete_port(self.resource_id)
except QuantumClientException as ex:
if ex.status_code != 404:
raise ex
props = {'name': self.physical_resource_name()}
router = client.create_router({'router': props})['router']
- router_id = router['id']
-
# add this router to the list of all routers in the VPC
- vpc = self.stack[self.properties.get('VpcId')]
+ vpc = self.stack.resource_by_refid(self.properties.get('VpcId'))
vpc_md = vpc.metadata
- vpc_md['all_router_ids'].append(router_id)
+ vpc_md['all_router_ids'].append(router['id'])
vpc.metadata = vpc_md
# TODO sbaker all_router_ids has changed, any VPCGatewayAttachment
# for this vpc needs to be notified
- md = {
- 'router_id': router_id
- }
- self.metadata = md
+ self.resource_id_set(router['id'])
def handle_delete(self):
client = self.quantum()
- router_id = self.metadata['router_id']
+ router_id = self.resource_id
try:
client.delete_router(router_id)
except QuantumClientException as ex:
raise ex
# remove this router from the list of all routers in the VPC
- vpc = self.stack[self.properties.get('VpcId')]
+ vpc = self.stack.resource_by_refid(self.properties.get('VpcId'))
vpc_md = vpc.metadata
vpc_md['all_router_ids'].remove(router_id)
vpc.metadata = vpc_md
def handle_create(self):
client = self.quantum()
- subnet = self.stack[self.properties.get('SubnetId')]
- subnet_id = subnet.metadata['subnet_id']
+ subnet = self.stack.resource_by_refid(self.properties.get('SubnetId'))
+ subnet_id = self.properties.get('SubnetId')
previous_router_id = subnet.metadata['router_id']
- route_table = self.stack[self.properties.get('RouteTableId')]
- router_id = route_table.metadata['router_id']
+ router_id = self.properties.get('RouteTableId')
#remove the default router association for this subnet.
try:
def handle_delete(self):
client = self.quantum()
- subnet = self.stack[self.properties.get('SubnetId')]
- subnet_id = subnet.metadata['subnet_id']
+ subnet = self.stack.resource_by_refid(self.properties.get('SubnetId'))
+ subnet_id = self.properties.get('SubnetId')
default_router_id = subnet.metadata['default_router_id']
- route_table = self.stack[self.properties.get('RouteTableId')]
- router_id = route_table.metadata['router_id']
+ router_id = self.properties.get('RouteTableId')
try:
client.remove_interface_router(router_id, {
def handle_create(self):
client = self.quantum()
# TODO sbaker Verify that this CidrBlock is within the vpc CidrBlock
- vpc = self.stack[self.properties.get('VpcId')]
- network_id = vpc.metadata['network_id']
+ network_id = self.properties.get('VpcId')
+ vpc = self.stack.resource_by_refid(network_id)
router_id = vpc.metadata['router_id']
props = {
router_id,
{'subnet_id': subnet['id']})
md = {
- 'network_id': network_id,
'router_id': router_id,
- 'default_router_id': router_id,
- 'subnet_id': subnet['id']
+ 'default_router_id': router_id
}
self.metadata = md
+ self.resource_id_set(subnet['id'])
def handle_delete(self):
from quantumclient.common.exceptions import QuantumClientException
client = self.quantum()
router_id = self.metadata['router_id']
- subnet_id = self.metadata['subnet_id']
+ subnet_id = self.resource_id
#TODO sbaker check for a non-default router for this network
# and remove that instead if it exists
net = client.create_network({'network': props})['network']
router = client.create_router({'router': props})['router']
md = {
- 'network_id': net['id'],
'router_id': router['id'],
'all_router_ids': [router['id']]
}
self.metadata = md
+ self.resource_id_set(net['id'])
def handle_delete(self):
from quantumclient.common.exceptions import QuantumClientException
client = self.quantum()
- network_id = self.metadata['network_id']
+ network_id = self.resource_id
router_id = self.metadata['router_id']
try:
client.delete_router(router_id)
stack = self.create_stack(self.test_template)
resource = stack['the_vpc']
- self.assertResourceState(resource, 'the_vpc', {
- 'network_id': 'aaaa',
+ self.assertResourceState(resource, 'aaaa', {
'router_id': 'bbbb',
'all_router_ids': ['bbbb']})
self.assertEqual(resource.UPDATE_REPLACE, resource.handle_update({}))
stack = self.create_stack(self.test_template)
resource = stack['the_subnet']
- self.assertResourceState(resource, 'the_subnet', {
- 'network_id': 'aaaa',
+ self.assertResourceState(resource, 'cccc', {
'router_id': 'bbbb',
- 'default_router_id': 'bbbb',
- 'subnet_id': 'cccc'})
+ 'default_router_id': 'bbbb'})
self.assertEqual(resource.UPDATE_REPLACE, resource.handle_update({}))
self.assertRaises(
stack = self.create_stack(self.test_template)
resource = stack['the_nic']
- self.assertResourceState(resource, 'the_nic', {
- 'port_id': 'dddd'})
+ self.assertResourceState(resource, 'dddd')
self.assertEqual(resource.UPDATE_REPLACE, resource.handle_update({}))
self.assertEqual(['bbbb', 'ffff'], vpc.metadata['all_router_ids'])
route_table = stack['the_route_table']
- self.assertResourceState(route_table, 'the_route_table', {
- 'router_id': 'ffff'})
+ self.assertResourceState(route_table, 'ffff', {})
self.assertEqual(
route_table.UPDATE_REPLACE,
route_table.handle_update({}))