Beispiel #1
0
 def insert_lswitches(self, cursor):
     print("Inserting nvp driver lswitches...")
     m = 0
     query = """
     INSERT 
     INTO quark_nvp_driver_lswitch (
         `id`,
         `nvp_id`,
         `network_id`,
         `display_name`,
         `port_count`,
         `transport_zone`,
         `transport_connector`,
         `segment_id`)
     VALUES """
     port_query = """
     INSERT
     INTO quark_nvp_driver_lswitchport (
         `id`,
         `port_id`,
         `switch_id`,
         `created_at`)
     VALUES """
     switchids = []
     for switch, ports in self.quark_nvp_stuff.iteritems():
         switch = mysqlize(switch)
         query += "({0},{1},{2},{3},{4},{5},{6},{7}),\n".format(
             switch.id,
             switch.nvp_id,
             switch.network_id,
             switch.display_name,
             switch.port_count,
             switch.transport_zone,  # TODO: isolated nets not NULL
             switch.transport_connector,
             switch.segment_connector,
             switch.segment_id)  # TODO: created_at add
         for port in ports:
             if port.port_id != 'TODO':
                 m += 1
                 port = mysqlize(port)
                 port_query += "('{0}',{1},{2},{3}),\n".format(
                     str(uuid4()), port.port_id, switch.id, port.created_at)
     query = query.rstrip(',\n')
     port_query = port_query.rstrip(',\n')
     with open("quark_nvp_lswitch.sql", "w") as f:
         f.write(query)
     with open("quark_nvp_ports.sql", "w") as f:
         f.write(port_query)
     try:
         cursor.execute(query)
         cursor.execute(port_query)
     except Exception as e:
         print("\tError inserting nvp ports: {}".format(e))
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #2
0
 def insert_lswitches(self, cursor):
     print("Inserting nvp driver lswitches...")
     m = 0
     query = """
     INSERT 
     INTO quark_nvp_driver_lswitch (
         `id`,
         `nvp_id`,
         `network_id`,
         `display_name`,
         `port_count`,
         `transport_zone`,
         `transport_connector`,
         `segment_id`)
     VALUES """
     port_query = """
     INSERT
     INTO quark_nvp_driver_lswitchport (
         `id`,
         `port_id`,
         `switch_id`,
         `created_at`)
     VALUES """
     switchids = []
     for switch, ports in self.quark_nvp_stuff.iteritems():
         switch = mysqlize(switch)
         query += "({0},{1},{2},{3},{4},{5},{6},{7}),\n".format(
                 switch.id,
                 switch.nvp_id,
                 switch.network_id,
                 switch.display_name,
                 switch.port_count,
                 switch.transport_zone,  # TODO: isolated nets not NULL
                 switch.transport_connector,
                 switch.segment_connector,
                 switch.segment_id) # TODO: created_at add
         for port in ports:
             if port.port_id != 'TODO':
                 m += 1
                 port = mysqlize(port)
                 port_query += "('{0}',{1},{2},{3}),\n".format(str(uuid4()),
                         port.port_id, switch.id, port.created_at)
     query = query.rstrip(',\n')
     port_query = port_query.rstrip(',\n')
     with open("quark_nvp_lswitch.sql", "w") as f:
         f.write(query)
     with open("quark_nvp_ports.sql", "w") as f:
         f.write(port_query)
     try:
         cursor.execute(query)
         cursor.execute(port_query)
     except Exception as e:
         print("\tError inserting nvp ports: {}".format(e))
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time, m))
Beispiel #3
0
 def insert_policies(self, cursor):
     print("Inserting policies...")
     m = 0
     query = """
     INSERT
     INTO quark_ip_policy (
         `id`,
         `name`,
         `tenant_id`,
         `description`,
         `created_at`)
     VALUES """
     for record in self.quark_ip_policies.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4}),\n".format(
                 record.id,
                 record.name,
                 record.tenant_id,
                 record.description,
                 record.created_at)
     with open('quark_ip_policies.sql', 'w') as f:
         f.write(query.rstrip(',\n'))
     cursor.execute(query.rstrip(',\n'))
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time, m))
Beispiel #4
0
 def insert_routes(self, cursor):
     print("Inserting routes...")
     query = """
     INSERT
     INTO quark_routes (
         `id`,
         `tenant_id`,
         `created_at`,
         `cidr`,
         `gateway`,
         `subnet_id`,
         `tag_association_uuid`)
     VALUES """
     for route_id, route in self.quark_routes.iteritems():
         record = mysqlize(route)
         query += "({0},{1},{2},{3},{4},{5},{6}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.created_at,
                 record.cidr,
                 record.gateway,
                 record.subnet_id,
                 record.tag_association_uuid)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time,
         len(self.quark_routes)))
Beispiel #5
0
 def insert_networks(self, cursor):
     print("Inserting networks...")
     m = 0
     query = """
     INSERT 
     INTO quark_networks (
         `id`, 
         `tenant_id`, 
         `created_at`, 
         `name`,
         `ipam_strategy`,
         `network_plugin`) 
     VALUES """
     for record in self.quark_networks.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4},{5}),\n".format(
             record.id,
             record.tenant_id,
             record.created_at,
             record.name,
             record.ipam_strategy,
             #record.max_allocation,
             record.network_plugin)
     query = query.rstrip(',\n')
     with open('quark_networks.sql', 'w') as f:
         f.write(query)
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #6
0
 def insert_networks(self, cursor):
     print("Inserting networks...")
     m = 0
     query = """
     INSERT 
     INTO quark_networks (
         `id`, 
         `tenant_id`, 
         `created_at`, 
         `name`,
         `ipam_strategy`,
         `network_plugin`) 
     VALUES """
     for record in self.quark_networks.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4},{5}),\n".format(record.id,
                                                record.tenant_id,
                                                record.created_at,
                                                record.name,
                                                record.ipam_strategy,
                                                #record.max_allocation,
                                                record.network_plugin)
     query = query.rstrip(',\n')
     with open('quark_networks.sql', 'w') as f:
         f.write(query)
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #7
0
 def insert_quark_dns_nameservers(self, cursor):
     print("Inserting dns nameservers...")
     query = """
     INSERT
     INTO quark_dns_nameservers (
         `id`,
         `tenant_id`,
         `created_at`,
         `ip`,
         `subnet_id`,
         `tag_association_uuid`)
     VALUES """
     for ns_id, ns in self.quark_dns_nameservers.iteritems():
         record = mysqlize(ns)
         query += "({0},{1},{2},{3},{4},{5}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.created_at,
                 record.ip,
                 record.subnet_id,
                 record.tag_association_uuid)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time,
         len(self.quark_dns_nameservers)))
Beispiel #8
0
 def insert_mac_addresses(self, cursor):
     print("Inserting mac addressess...")
     m = 0
     query = """
     INSERT
     INTO quark_mac_addresses (
         `tenant_id`,
         `created_at`,
         `address`,
         `mac_address_range_id`,
         `deallocated`,
         `deallocated_at`)
     VALUES """
     for mac_range_id, macs in self.quark_mac_addresses.iteritems():
         mac_range = mysqlize(self.mac_address_ranges[mac_range_id])
         # There is only one mac range so this is fine:
         cursor.execute("""
         INSERT
         INTO quark_mac_address_ranges (
             `id`,
             `created_at`,
             `cidr`,
             `first_address`,
             `last_address`,
             `next_auto_assign_mac`)
         VALUES ({0},{1},{2},{3},{4},{5})""".format(
             mac_range.id,
             mac_range.created_at,
             mac_range.cidr,
             mac_range.first_address,
             mac_range.last_address,
             mac_range.next_auto_assign_mac))
         for mac in macs:
             m += 1
             mac = mysqlize(mac)
             query += "({0},{1},{2},{3},'0',{5}),\n".format(
                     mac.tenant_id,
                     mac.created_at,
                     mac.address,
                     mac.mac_address_range_id,
                     mac.deallocated,
                     mac.deallocated_at)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time, m))
Beispiel #9
0
 def insert_mac_addresses(self, cursor):
     print("Inserting mac addressess...")
     m = 0
     query = """
     INSERT
     INTO quark_mac_addresses (
         `tenant_id`,
         `created_at`,
         `address`,
         `mac_address_range_id`,
         `deallocated`,
         `deallocated_at`)
     VALUES """
     for mac_range_id, macs in self.quark_mac_addresses.iteritems():
         mac_range = mysqlize(self.mac_address_ranges[mac_range_id])
         # There is only one mac range so this is fine:
         cursor.execute("""
         INSERT
         INTO quark_mac_address_ranges (
             `id`,
             `created_at`,
             `cidr`,
             `first_address`,
             `last_address`,
             `next_auto_assign_mac`)
         VALUES ({0},{1},{2},{3},{4},{5})""".format(
             mac_range.id, mac_range.created_at, mac_range.cidr,
             mac_range.first_address, mac_range.last_address,
             mac_range.next_auto_assign_mac))
         for mac in macs:
             m += 1
             mac = mysqlize(mac)
             query += "({0},{1},{2},{3},'0',{5}),\n".format(
                 mac.tenant_id, mac.created_at, mac.address,
                 mac.mac_address_range_id, mac.deallocated,
                 mac.deallocated_at)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #10
0
    def insert_ip_addresses(self, cursor):
        print("Inserting ip addresses...")
        m = 0
        # this giant query needs to be broken down into bite-sized chunks
        # make a list of the strings for insertion then send them off
        query = """
        INSERT
        INTO quark_ip_addresses (
            `id`,
            `address_readable`,
            `address`,
            `used_by_tenant_id`,
            `created_at`,
            `subnet_id`,
            `network_id`,
            `version`,
            `_deallocated`,
            `deallocated_at`,
            `allocated_at`)
        VALUES """

        all_records = []
        for record in self.quark_ip_addresses.values():
            record = mysqlize(record)
            m += 1
            all_records.append("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}),\n".format(
                    record.id,
                    record.address_readable,
                    record.address,
                    record.used_by_tenant_id,
                    record.created_at,
                    record.subnet_id,
                    record.network_id,
                    record.version,
                    record._deallocated,
                    record.deallocated_at,
                    record.allocated_at))
        chunks = paginate_query(all_records)
        n = 0
        for i, chunk in enumerate(chunks):
            chunk_query = query + chunk
            chunk_query = chunk_query.rstrip(',\n')
            with open('quark_ip_addresses_{}.sql'.format(i), 'w') as f:
                f.write(chunk_query)
            cursor.execute(chunk_query)
        print("\tDone, {:.2f} sec, {} migrated.".format(
            time.time() - self.start_time, m))
Beispiel #11
0
 def insert_subnets(self, cursor):
     print("Inserting subnets...")
     m = 0
     query = """
     INSERT
     INTO quark_subnets (
         `id`,
         `tenant_id`,
         `created_at`,
         `network_id`,
         `_cidr`,
         `first_ip`,
         `last_ip`,
         `ip_version`,
         `next_auto_assign_ip`,
         `tag_association_uuid`,
         `do_not_use`,
         `name`,
         `ip_policy_id`,
         `enable_dhcp`,
         `segment_id`)
     VALUES """
     for record in self.quark_subnets.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.created_at,
                 record.network_id,
                 record._cidr,
                 record.first_ip,
                 record.last_ip,
                 record.ip_version,
                 record.next_auto_assign_ip,
                 record.tag_association_uuid,
                 record.do_not_use,
                 record.name,
                 record.ip_policy_id,
                 record.enable_dhcp,
                 record.segment_id)
     with open("quark_subnets.sql", 'w') as f:
         f.write(query)
     cursor.execute(query.rstrip(',\n'))
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #12
0
 def insert_ports(self, cursor):
     print("Inserting ports...")
     m = 0
     query = """
     INSERT 
     INTO quark_ports (
         `id`,
         `tenant_id`,
         `created_at`,
         `name`,
         `admin_state_up`,
         `network_id`,
         `backend_key`,
         `mac_address`,
         `device_id`,
         `device_owner`,
         `bridge`)
     VALUES """
     all_records = []
     for record in self.port_cache.values():
         record = mysqlize(record)
         m += 1
         all_records.append(
             "({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.created_at,
                 record.name,
                 record.admin_state_up,
                 record.network_id,
                 record.backend_key,  # TODO shouldnt be TODO
                 record.mac_address,
                 record.device_id,
                 record.device_owner,
                 record.bridge))  # TODO come back to this
     chunks = paginate_query(all_records)
     for i, chunk in enumerate(chunks):
         chunk_query = query + chunk
         chunk_query = chunk_query.rstrip(',\n')
         with open('quark_ports_{}.sql'.format(i), 'w') as f:
             f.write(chunk_query)
         cursor.execute(chunk_query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #13
0
 def insert_ports(self, cursor):
     print("Inserting ports...")
     m = 0
     query = """
     INSERT 
     INTO quark_ports (
         `id`,
         `tenant_id`,
         `created_at`,
         `name`,
         `admin_state_up`,
         `network_id`,
         `backend_key`,
         `mac_address`,
         `device_id`,
         `device_owner`,
         `bridge`)
     VALUES """
     all_records = []
     for record in self.port_cache.values():
         record = mysqlize(record)
         m += 1
         all_records.append("({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.created_at,
                 record.name,
                 record.admin_state_up,
                 record.network_id,
                 record.backend_key, # TODO shouldnt be TODO
                 record.mac_address,
                 record.device_id,
                 record.device_owner,
                 record.bridge)) # TODO come back to this
     chunks = paginate_query(all_records)
     for i, chunk in enumerate(chunks):
         chunk_query = query + chunk
         chunk_query = chunk_query.rstrip(',\n')
         with open('quark_ports_{}.sql'.format(i), 'w') as f:
             f.write(chunk_query)
         cursor.execute(chunk_query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m)) 
Beispiel #14
0
 def insert_quotas(self, cursor):
     print("Inserting quotas...")
     query = """
     INSERT
     INTO quark_quotas (
         `id`,
         `tenant_id`,
         `limit`,
         `resource`) 
     VALUES """
     for tenant_id, quota in self.quark_quotas.iteritems():
         record = mysqlize(quota)
         query += "({0},{1},{2},{3}),\n".format(record.id, record.tenant_id,
                                                record.limit,
                                                record.resource)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, len(self.quark_ip_policy_cidrs)))
Beispiel #15
0
    def insert_ip_addresses(self, cursor):
        print("Inserting ip addresses...")
        m = 0
        # this giant query needs to be broken down into bite-sized chunks
        # make a list of the strings for insertion then send them off
        query = """
        INSERT
        INTO quark_ip_addresses (
            `id`,
            `address_readable`,
            `address`,
            `used_by_tenant_id`,
            `created_at`,
            `subnet_id`,
            `network_id`,
            `version`,
            `_deallocated`,
            `deallocated_at`,
            `allocated_at`)
        VALUES """

        all_records = []
        for record in self.quark_ip_addresses.values():
            record = mysqlize(record)
            m += 1
            all_records.append(
                "({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}),\n".format(
                    record.id, record.address_readable, record.address,
                    record.used_by_tenant_id, record.created_at,
                    record.subnet_id, record.network_id, record.version,
                    record._deallocated, record.deallocated_at,
                    record.allocated_at))
        chunks = paginate_query(all_records)
        n = 0
        for i, chunk in enumerate(chunks):
            chunk_query = query + chunk
            chunk_query = chunk_query.rstrip(',\n')
            with open('quark_ip_addresses_{}.sql'.format(i), 'w') as f:
                f.write(chunk_query)
            cursor.execute(chunk_query)
        print("\tDone, {:.2f} sec, {} migrated.".format(
            time.time() - self.start_time, m))
Beispiel #16
0
 def insert_ip_policy_rules(self, cursor):
     print("Inserting ip policy rules...")
     query = """
     INSERT
     INTO quark_ip_policy_cidrs (
         `id`,
         `ip_policy_id`,
         `created_at`,
         `cidr`)
     VALUES """
     for rule_id, rule in self.quark_ip_policy_cidrs.iteritems():
         record = mysqlize(rule)
         query += "({0},{1},{2},{3}),\n".format(record.id,
                                                record.ip_policy_id,
                                                record.created_at,
                                                record.cidr)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, len(self.quark_ip_policy_cidrs)))
Beispiel #17
0
 def insert_quotas(self, cursor):
     print("Inserting quotas...")
     query = """
     INSERT
     INTO quark_quotas (
         `id`,
         `tenant_id`,
         `limit`,
         `resource`) 
     VALUES """
     for tenant_id, quota in self.quark_quotas.iteritems():
         record = mysqlize(quota)
         query += "({0},{1},{2},{3}),\n".format(
                 record.id,
                 record.tenant_id,
                 record.limit,
                 record.resource)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time,
         len(self.quark_ip_policy_cidrs)))
Beispiel #18
0
 def insert_quark_dns_nameservers(self, cursor):
     print("Inserting dns nameservers...")
     query = """
     INSERT
     INTO quark_dns_nameservers (
         `id`,
         `tenant_id`,
         `created_at`,
         `ip`,
         `subnet_id`,
         `tag_association_uuid`)
     VALUES """
     for ns_id, ns in self.quark_dns_nameservers.iteritems():
         record = mysqlize(ns)
         query += "({0},{1},{2},{3},{4},{5}),\n".format(
             record.id, record.tenant_id, record.created_at, record.ip,
             record.subnet_id, record.tag_association_uuid)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, len(self.quark_dns_nameservers)))
Beispiel #19
0
 def insert_ip_policy_rules(self, cursor):
     print("Inserting ip policy rules...")
     query = """
     INSERT
     INTO quark_ip_policy_cidrs (
         `id`,
         `ip_policy_id`,
         `created_at`,
         `cidr`)
     VALUES """
     for rule_id, rule in self.quark_ip_policy_cidrs.iteritems():
         record = mysqlize(rule)
         query += "({0},{1},{2},{3}),\n".format(
                 record.id,
                 record.ip_policy_id,
                 record.created_at,
                 record.cidr)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(time.time() - self.start_time,
         len(self.quark_ip_policy_cidrs)))
Beispiel #20
0
 def insert_routes(self, cursor):
     print("Inserting routes...")
     query = """
     INSERT
     INTO quark_routes (
         `id`,
         `tenant_id`,
         `created_at`,
         `cidr`,
         `gateway`,
         `subnet_id`,
         `tag_association_uuid`)
     VALUES """
     for route_id, route in self.quark_routes.iteritems():
         record = mysqlize(route)
         query += "({0},{1},{2},{3},{4},{5},{6}),\n".format(
             record.id, record.tenant_id, record.created_at, record.cidr,
             record.gateway, record.subnet_id, record.tag_association_uuid)
     query = query.rstrip(',\n')
     cursor.execute(query)
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, len(self.quark_routes)))
Beispiel #21
0
 def insert_policies(self, cursor):
     print("Inserting policies...")
     m = 0
     query = """
     INSERT
     INTO quark_ip_policy (
         `id`,
         `name`,
         `tenant_id`,
         `description`,
         `created_at`)
     VALUES """
     for record in self.quark_ip_policies.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4}),\n".format(record.id, record.name,
                                                    record.tenant_id,
                                                    record.description,
                                                    record.created_at)
     with open('quark_ip_policies.sql', 'w') as f:
         f.write(query.rstrip(',\n'))
     cursor.execute(query.rstrip(',\n'))
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))
Beispiel #22
0
 def insert_subnets(self, cursor):
     print("Inserting subnets...")
     m = 0
     query = """
     INSERT
     INTO quark_subnets (
         `id`,
         `tenant_id`,
         `created_at`,
         `network_id`,
         `_cidr`,
         `first_ip`,
         `last_ip`,
         `ip_version`,
         `next_auto_assign_ip`,
         `tag_association_uuid`,
         `do_not_use`,
         `name`,
         `ip_policy_id`,
         `enable_dhcp`,
         `segment_id`)
     VALUES """
     for record in self.quark_subnets.values():
         m += 1
         record = mysqlize(record)
         query += "({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14}),\n".format(
             record.id, record.tenant_id, record.created_at,
             record.network_id, record._cidr, record.first_ip,
             record.last_ip, record.ip_version, record.next_auto_assign_ip,
             record.tag_association_uuid, record.do_not_use, record.name,
             record.ip_policy_id, record.enable_dhcp, record.segment_id)
     with open("quark_subnets.sql", 'w') as f:
         f.write(query)
     cursor.execute(query.rstrip(',\n'))
     print("\tDone, {:.2f} sec, {} migrated.".format(
         time.time() - self.start_time, m))