'Create ospf process'

def create_process(self):

    xml_area = ''
    self.updates_cmd.append(('ospf    %s' % self.process_id))
    xml_nh = ''
    if self.nexthop_addr:
        xml_nh = (CE_NC_XML_MERGE_NEXTHOP % (self.nexthop_addr, self.nexthop_weight))
        self.updates_cmd.append(('nexthop    %s    weight    %s' % (self.nexthop_addr, self.nexthop_weight)))
    xml_lb = ''
    if self.max_load_balance:
        xml_lb = (CE_NC_XML_SET_LB % self.max_load_balance)
        self.updates_cmd.append(('maximum    load-balancing    %s' % self.max_load_balance))
    xml_topo = ''
    if (xml_lb or xml_nh):
        xml_topo = (CE_NC_XML_BUILD_TOPO % (xml_nh + xml_lb))
    if self.area:
        self.updates_cmd.append(('area    %s' % self.get_area_ip()))
        xml_auth = ''
        xml_network = ''
        if (self.addr and self.mask):
            xml_network = (CE_NC_XML_MERGE_NETWORKS % (self.addr, self.get_wildcard_mask()))
            self.updates_cmd.append(('network    %s    %s' % (self.addr, self.get_wildcard_mask())))
        if self.auth_mode:
            xml_auth += (CE_NC_XML_SET_AUTH_MODE % self.auth_mode)
            if (self.auth_mode == 'none'):
                self.updates_cmd.append('undo    authentication-mode')
            else:
                self.updates_cmd.append(('authentication-mode    %s' % self.auth_mode))
            if ((self.auth_mode == 'simple') and self.auth_text_simple):
                xml_auth += (CE_NC_XML_SET_AUTH_TEXT_SIMPLE % self.auth_text_simple)
                self.updates_cmd.pop()
                self.updates_cmd.append(('authentication-mode    %s    %s' % (self.auth_mode, self.auth_text_simple)))
            if (self.auth_mode in ['hmac-sha256', 'hmac-sha256', 'md5']):
                if (self.auth_key_id and self.auth_text_md5):
                    xml_auth += (CE_NC_XML_SET_AUTH_MD5 % (self.auth_key_id, self.auth_text_md5))
                    self.updates_cmd.pop()
                    self.updates_cmd.append(('authentication-mode    %s    %s    %s' % (self.auth_mode, self.auth_key_id, self.auth_text_md5)))
        if (xml_network or xml_auth):
            xml_area += (CE_NC_XML_BUILD_MERGE_AREA % (self.get_area_ip(), (xml_network + xml_auth)))
    xml_str = (CE_NC_XML_BUILD_MERGE_PROCESS % (self.process_id, (xml_topo + xml_area)))
    recv_xml = set_nc_config(self.module, xml_str)
    self.check_response(recv_xml, 'CREATE_PROCESS')
    self.changed = True
